perf session: Share the common trace sample_check routine as perf_session__has_traces

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1261957026-15580-5-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Arnaldo Carvalho de Melo 2009-12-27 21:37:01 -02:00 committed by Ingo Molnar
parent 4a58e61161
commit 27295592c2
6 changed files with 17 additions and 51 deletions

View File

@ -342,22 +342,10 @@ static int process_sample_event(event_t *event, struct perf_session *session)
return 0;
}
static int sample_type_check(struct perf_session *session)
{
if (!(session->sample_type & PERF_SAMPLE_RAW)) {
fprintf(stderr,
"No trace sample to read. Did you call perf record "
"without -R?");
return -1;
}
return 0;
}
static struct perf_event_ops event_ops = {
.process_sample_event = process_sample_event,
.process_comm_event = event__process_comm,
.sample_type_check = sample_type_check,
.sample_type_check = perf_session__has_traces,
};
static double fragmentation(unsigned long n_req, unsigned long n_alloc)

View File

@ -1653,23 +1653,11 @@ static int process_lost_event(event_t *event __used,
return 0;
}
static int sample_type_check(struct perf_session *session __used)
{
if (!(session->sample_type & PERF_SAMPLE_RAW)) {
fprintf(stderr,
"No trace sample to read. Did you call perf record "
"without -R?");
return -1;
}
return 0;
}
static struct perf_event_ops event_ops = {
.process_sample_event = process_sample_event,
.process_comm_event = event__process_comm,
.process_lost_event = process_lost_event,
.sample_type_check = sample_type_check,
.sample_type_check = perf_session__has_traces,
};
static int read_events(void)

View File

@ -1029,23 +1029,12 @@ static void process_samples(struct perf_session *session)
}
}
static int sample_type_check(struct perf_session *session)
{
if (!(session->sample_type & PERF_SAMPLE_RAW)) {
fprintf(stderr, "No trace samples found in the file.\n"
"Have you used 'perf timechart record' to record it?\n");
return -1;
}
return 0;
}
static struct perf_event_ops event_ops = {
.process_comm_event = process_comm_event,
.process_fork_event = process_fork_event,
.process_exit_event = process_exit_event,
.process_sample_event = queue_sample_event,
.sample_type_check = sample_type_check,
.sample_type_check = perf_session__has_traces,
};
static int __cmd_timechart(void)

View File

@ -103,22 +103,10 @@ static int process_sample_event(event_t *event, struct perf_session *session)
return 0;
}
static int sample_type_check(struct perf_session *session)
{
if (!(session->sample_type & PERF_SAMPLE_RAW)) {
fprintf(stderr,
"No trace sample to read. Did you call perf record "
"without -R?");
return -1;
}
return 0;
}
static struct perf_event_ops event_ops = {
.process_sample_event = process_sample_event,
.process_comm_event = event__process_comm,
.sample_type_check = sample_type_check,
.sample_type_check = perf_session__has_traces,
};
static int __cmd_trace(struct perf_session *session)

View File

@ -393,3 +393,14 @@ done:
out_err:
return err;
}
int perf_session__has_traces(struct perf_session *self)
{
if (!(self->sample_type & PERF_SAMPLE_RAW)) {
pr_err("No trace sample to read. Did you call perf record "
"without -R?");
return -1;
}
return 0;
}

View File

@ -56,6 +56,8 @@ 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);
int perf_header__read_build_ids(int input, u64 offset, u64 file_size);
#endif /* __PERF_SESSION_H */