aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util')
-rw-r--r--tools/perf/util/session.c16
-rw-r--r--tools/perf/util/session.h3
2 files changed, 7 insertions, 12 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 60eab8b..bc84a52 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -73,6 +73,8 @@ struct perf_session *perf_session__new(const char *filename, int mode, bool forc
if (mode == O_RDONLY && perf_session__open(self, force) < 0)
goto out_delete;
+
+ self->sample_type = perf_header__sample_type(&self->header);
out:
return self;
out_free:
@@ -302,11 +304,6 @@ int perf_session__process_events(struct perf_session *self,
page_size = getpagesize();
head = self->header.data_offset;
- self->sample_type = perf_header__sample_type(&self->header);
-
- err = -EINVAL;
- if (ops->sample_type_check && ops->sample_type_check(self) < 0)
- goto out_err;
if (!ops->full_paths) {
char bf[PATH_MAX];
@@ -394,13 +391,12 @@ out_err:
return err;
}
-int perf_session__has_traces(struct perf_session *self)
+bool perf_session__has_traces(struct perf_session *self, const char *msg)
{
if (!(self->sample_type & PERF_SAMPLE_RAW)) {
- pr_err("No trace sample to read. Did you call perf record "
- "without -R?");
- return -1;
+ pr_err("No trace sample to read. Did you call 'perf %s'?\n", msg);
+ return false;
}
- return 0;
+ return true;
}
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
index a6951d2..5771ccb 100644
--- a/tools/perf/util/session.h
+++ b/tools/perf/util/session.h
@@ -40,7 +40,6 @@ struct perf_event_ops {
event_op process_read_event;
event_op process_throttle_event;
event_op process_unthrottle_event;
- int (*sample_type_check)(struct perf_session *session);
unsigned long total_unknown;
bool full_paths;
};
@@ -56,7 +55,7 @@ struct symbol **perf_session__resolve_callchain(struct perf_session *self,
struct ip_callchain *chain,
struct symbol **parent);
-int perf_session__has_traces(struct perf_session *self);
+bool perf_session__has_traces(struct perf_session *self, const char *msg);
int perf_header__read_build_ids(int input, u64 offset, u64 file_size);