perf tools: Make perf.data more self-descriptive (v8)
[linux-2.6-block.git] / tools / perf / builtin-record.c
index dd6467872f6081615bb1fae7a544e2e8bf201067..f82480fa7f27988c48ba90e80e014b43de745f0e 100644 (file)
@@ -529,6 +529,19 @@ static int __cmd_record(int argc, const char **argv)
        if (have_tracepoints(&evsel_list->entries))
                perf_header__set_feat(&session->header, HEADER_TRACE_INFO);
 
+       perf_header__set_feat(&session->header, HEADER_HOSTNAME);
+       perf_header__set_feat(&session->header, HEADER_OSRELEASE);
+       perf_header__set_feat(&session->header, HEADER_ARCH);
+       perf_header__set_feat(&session->header, HEADER_CPUDESC);
+       perf_header__set_feat(&session->header, HEADER_NRCPUS);
+       perf_header__set_feat(&session->header, HEADER_EVENT_DESC);
+       perf_header__set_feat(&session->header, HEADER_CMDLINE);
+       perf_header__set_feat(&session->header, HEADER_VERSION);
+       perf_header__set_feat(&session->header, HEADER_CPU_TOPOLOGY);
+       perf_header__set_feat(&session->header, HEADER_TOTAL_MEM);
+       perf_header__set_feat(&session->header, HEADER_NUMA_TOPOLOGY);
+       perf_header__set_feat(&session->header, HEADER_CPUID);
+
        /* 512 kiB: default amount of unprivileged mlocked memory */
        if (mmap_pages == UINT_MAX)
                mmap_pages = (512 * 1024) / page_size;
@@ -800,6 +813,8 @@ int cmd_record(int argc, const char **argv, const char *prefix __used)
        int err = -ENOMEM;
        struct perf_evsel *pos;
 
+       perf_header__set_cmdline(argc, argv);
+
        evsel_list = perf_evlist__new(NULL, NULL);
        if (evsel_list == NULL)
                return -ENOMEM;