In perf record, it's walked on all samples yet. So it's very easy to get
the first/last samples and save the time to perf file header via the
function write_sample_time().

In later, perf report/script will fetch the time from perf file header.

Change log:
-----------
v3: Remove the definitions of first_sample_time and last_sample_time
    from struct record and directly save them in perf_evlist.

Signed-off-by: Jin Yao <yao....@linux.intel.com>
---
 tools/perf/builtin-record.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 9b379f3..d5b78449 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -488,6 +488,11 @@ static int process_sample_event(struct perf_tool *tool,
 
        rec->samples++;
 
+       if (rec->evlist->first_sample_time == 0)
+               rec->evlist->first_sample_time = sample->time;
+
+       rec->evlist->last_sample_time = sample->time;
+
        return build_id__mark_dso_hit(tool, event, sample, evsel, machine);
 }
 
-- 
2.7.4

Reply via email to