int parse_event(struct evlist *evlist, constchar *str);
int parse_filter(conststruct option *opt, constchar *str, int unset); int parse_uid_filter(struct evlist *evlist, uid_t uid); int exclude_perf(conststruct option *opt, constchar *arg, int unset);
struct parse_events_term { /** @list: The term list the term is a part of. */ struct list_head list; /** * @config: The left-hand side of a term assignment, so the term * "event=8" would have the config be "event"
*/ constchar *config; /** * @val: The right-hand side of a term assignment that can either be a * string or a number depending on type_val.
*/ union { char *str;
u64 num;
} val; /** @type_val: The union variable in val to be used for the term. */ enum parse_events__term_val_type type_val; /** * @type_term: A predefined term type or PARSE_EVENTS__TERM_TYPE_USER * when not inbuilt.
*/ enum parse_events__term_type type_term; /** * @err_term: The column index of the term from parsing, used during * error output.
*/ int err_term; /** * @err_val: The column index of the val from parsing, used during error * output.
*/ int err_val; /** @used: Was the term used during parameterized-eval. */ bool used; /** * @weak: A term from the sysfs or json encoding of an event that * shouldn't override terms coming from the command line.
*/ bool weak; /** * @no_value: Is there no value. If a numeric term has no value then the * value is assumed to be 1. An event name also has no value.
*/ bool no_value; /** * @alternate_hw_config: config is the event name but num is an * alternate PERF_TYPE_HARDWARE config value which is often nice for the * sake of quick matching.
*/ bool alternate_hw_config;
};
struct parse_events_error { /** @list: The head of a list of errors. */ struct list_head list;
};
/* A wrapper around a list of terms for the sake of better type safety. */ struct parse_events_terms { struct list_head terms;
};
struct parse_events_state { /* The list parsed events are placed on. */ struct list_head list; /* The updated index used by entries as they are added. */ int idx; /* Error information. */ struct parse_events_error *error; /* Holds returned terms for term parsing. */ struct parse_events_terms *terms; /* Start token. */ int stoken; /* Use the fake PMU marker for testing. */ bool fake_pmu; /* Skip actual tracepoint processing for testing. */ bool fake_tp; /* If non-null, when wildcard matching only match the given PMU. */ constchar *pmu_filter; /* Should PE_LEGACY_NAME tokens be generated for config terms? */ bool match_legacy_cache_terms; /* Were multiple PMUs scanned to find events? */ bool wild_card_pmus;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.