Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 169501
b: refs/heads/master
c: 07a4bdd
h: refs/heads/master
i:
  169499: 7a36188
v: v3
  • Loading branch information
Steven Rostedt authored and Ingo Molnar committed Oct 15, 2009
1 parent 739b05c commit e1c97ff
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 13999e59343b042b0807be2df6ae5895d29782a0
refs/heads/master: 07a4bdddcf2546ccfbfb3c782deab636c371edeb
38 changes: 27 additions & 11 deletions trunk/tools/perf/util/trace-event-parse.c
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,7 @@ static enum event_type read_token_item(char **tok)
static int test_type(enum event_type type, enum event_type expect)
{
if (type != expect) {
die("Error: expected type %d but read %d",
warning("Error: expected type %d but read %d",
expect, type);
return -1;
}
Expand All @@ -624,13 +624,13 @@ static int test_type_token(enum event_type type, char *token,
enum event_type expect, const char *expect_tok)
{
if (type != expect) {
die("Error: expected type %d but read %d",
warning("Error: expected type %d but read %d",
expect, type);
return -1;
}

if (strcmp(token, expect_tok) != 0) {
die("Error: expected '%s' but read '%s'",
warning("Error: expected '%s' but read '%s'",
expect_tok, token);
return -1;
}
Expand Down Expand Up @@ -668,7 +668,7 @@ static int __read_expected(enum event_type expect, const char *str, int newline_

free_token(token);

return 0;
return ret;
}

static int read_expected(enum event_type expect, const char *str)
Expand Down Expand Up @@ -1258,12 +1258,12 @@ process_op(struct event *event, struct print_arg *arg, char **tok)
type = process_array(event, arg, tok);

} else {
die("unknown op '%s'", token);
warning("unknown op '%s'", token);
event->flags |= EVENT_FL_FAILED;
/* the arg is now the left side */
return EVENT_NONE;
}


if (type == EVENT_OP) {
int prio;

Expand Down Expand Up @@ -2873,7 +2873,7 @@ void print_event(int cpu, void *data, int size, unsigned long long nsecs,

event = trace_find_event(type);
if (!event) {
printf("ug! no event found for type %d\n", type);
warning("ug! no event found for type %d", type);
return;
}

Expand All @@ -2887,6 +2887,12 @@ void print_event(int cpu, void *data, int size, unsigned long long nsecs,
comm, pid, cpu,
secs, nsecs, event->name);

if (event->flags & EVENT_FL_FAILED) {
printf("EVENT '%s' FAILED TO PARSE\n",
event->name);
return;
}

pretty_print(data, size, event);
printf("\n");
}
Expand Down Expand Up @@ -3120,12 +3126,16 @@ int parse_event_file(char *buf, unsigned long size, char *sys)
die("failed to read event id");

ret = event_read_format(event);
if (ret < 0)
die("failed to read event format");
if (ret < 0) {
warning("failed to read event format for %s", event->name);
goto event_failed;
}

ret = event_read_print(event);
if (ret < 0)
die("failed to read event print fmt");
if (ret < 0) {
warning("failed to read event print fmt for %s", event->name);
goto event_failed;
}

event->system = strdup(sys);

Expand All @@ -3135,6 +3145,12 @@ int parse_event_file(char *buf, unsigned long size, char *sys)

add_event(event);
return 0;

event_failed:
event->flags |= EVENT_FL_FAILED;
/* still add it even if it failed */
add_event(event);
return -1;
}

void parse_set_info(int nr_cpus, int long_sz)
Expand Down
14 changes: 8 additions & 6 deletions trunk/tools/perf/util/trace-event.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,14 @@ struct event {
};

enum {
EVENT_FL_ISFTRACE = 1,
EVENT_FL_ISPRINT = 2,
EVENT_FL_ISBPRINT = 4,
EVENT_FL_ISFUNC = 8,
EVENT_FL_ISFUNCENT = 16,
EVENT_FL_ISFUNCRET = 32,
EVENT_FL_ISFTRACE = 0x01,
EVENT_FL_ISPRINT = 0x02,
EVENT_FL_ISBPRINT = 0x04,
EVENT_FL_ISFUNC = 0x08,
EVENT_FL_ISFUNCENT = 0x10,
EVENT_FL_ISFUNCRET = 0x20,

EVENT_FL_FAILED = 0x80000000
};

struct record {
Expand Down

0 comments on commit e1c97ff

Please sign in to comment.