perf_stat_config
int iostat_prepare(struct evlist *evlist, struct perf_stat_config *config)
struct perf_stat_config *config = (struct perf_stat_config *)opt->data;
void iostat_list(struct evlist *evlist, struct perf_stat_config *config)
struct perf_stat_config *config,
void iostat_print_header_prefix(struct perf_stat_config *config)
void iostat_print_metric(struct perf_stat_config *config, struct evsel *evsel,
struct perf_stat_config *config, struct timespec *ts,
static void script_print_metric(struct perf_stat_config *config __maybe_unused,
static void script_new_line(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id script_aggr_cpu_id_get(struct perf_stat_config *config __maybe_unused,
struct perf_stat_config *config = opt->value;
static struct aggr_cpu_id perf_stat__get_socket(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_die(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_cache_id(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_cluster(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_core(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_node(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_global(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_cpu(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_aggr(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_socket_cached(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_die_cached(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_cluster_cached(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_cache_id_cached(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_core_cached(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_node_cached(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_global_cached(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_cpu_cached(struct perf_stat_config *config,
static struct aggr_cpu_id perf_stat__get_socket_file(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_die_file(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_cluster_file(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_cache_file(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_core_file(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_cpu_file(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_node_file(struct perf_stat_config *config __maybe_unused,
static struct aggr_cpu_id perf_stat__get_global_file(struct perf_stat_config *config __maybe_unused,
struct perf_stat_config *config,
struct perf_stat_config test_stat_config = {};
struct perf_stat_config test_stat_config = {
struct perf_stat_config stat_config = {
return perf_stat_config(var, value);
void perf_event__read_stat_config(struct perf_stat_config *config,
struct perf_stat_config;
void perf_event__read_stat_config(struct perf_stat_config *config,
static bool evlist__set_needs_uniquify(struct evlist *evlist, const struct perf_stat_config *config)
void evlist__uniquify_evsel_names(struct evlist *evlist, const struct perf_stat_config *config)
struct perf_stat_config;
void evlist__uniquify_evsel_names(struct evlist *evlist, const struct perf_stat_config *config);
bool evsel__set_needs_uniquify(struct evsel *counter, const struct perf_stat_config *config)
struct perf_stat_config;
bool evsel__set_needs_uniquify(struct evsel *counter, const struct perf_stat_config *config);
struct perf_stat_config *config __maybe_unused)
__weak void iostat_print_header_prefix(struct perf_stat_config *config __maybe_unused)
__weak void iostat_print_metric(struct perf_stat_config *config __maybe_unused,
struct perf_stat_config *config __maybe_unused,
struct perf_stat_config *config __maybe_unused,
struct perf_stat_config *config __maybe_unused)
struct perf_stat_config;
typedef void (*iostat_print_counter_t)(struct perf_stat_config *, struct evsel *, void *);
int iostat_prepare(struct evlist *evlist, struct perf_stat_config *config);
void iostat_list(struct evlist *evlist, struct perf_stat_config *config);
void iostat_prefix(struct evlist *evlist, struct perf_stat_config *config,
void iostat_print_header_prefix(struct perf_stat_config *config);
void iostat_print_metric(struct perf_stat_config *config, struct evsel *evsel,
struct perf_stat_config *config, struct timespec *ts,
static void python_process_stat(struct perf_stat_config *config,
static void print_metric_begin(struct perf_stat_config *config,
static void print_running_std(struct perf_stat_config *config, u64 run, u64 ena)
static void print_metric_end(struct perf_stat_config *config, struct outstate *os)
static void print_aggr(struct perf_stat_config *config,
static void print_running_csv(struct perf_stat_config *config, u64 run, u64 ena)
static void print_aggr_cgroup(struct perf_stat_config *config,
static void print_counter(struct perf_stat_config *config,
static void print_no_aggr_metric(struct perf_stat_config *config,
static void print_metric_headers_std(struct perf_stat_config *config,
static void print_metric_headers_csv(struct perf_stat_config *config,
static void print_metric_headers_json(struct perf_stat_config *config __maybe_unused,
static void print_metric_headers(struct perf_stat_config *config,
static void prepare_timestamp(struct perf_stat_config *config,
static void print_header_interval_std(struct perf_stat_config *config,
static void print_header_std(struct perf_stat_config *config,
static void print_header_csv(struct perf_stat_config *config,
static void print_header_json(struct perf_stat_config *config,
static void print_header(struct perf_stat_config *config,
static void print_table(struct perf_stat_config *config, FILE *output, double avg)
static void print_footer(struct perf_stat_config *config)
static void print_percore(struct perf_stat_config *config,
static void print_cgroup_counter(struct perf_stat_config *config, struct evlist *evlist,
void evlist__print_counters(struct evlist *evlist, struct perf_stat_config *config,
static void print_running(struct perf_stat_config *config, struct outstate *os,
static void print_noise_pct_std(struct perf_stat_config *config,
static void print_noise_pct_csv(struct perf_stat_config *config,
static void print_noise_pct(struct perf_stat_config *config, struct outstate *os,
static void print_noise(struct perf_stat_config *config, struct outstate *os,
static void print_cgroup_std(struct perf_stat_config *config, const char *cgrp_name)
static void print_cgroup_csv(struct perf_stat_config *config, const char *cgrp_name)
static void print_cgroup(struct perf_stat_config *config, struct outstate *os,
static void print_aggr_id_std(struct perf_stat_config *config,
static void print_aggr_id_csv(struct perf_stat_config *config,
static void print_aggr_id_json(struct perf_stat_config *config, struct outstate *os,
static void aggr_printout(struct perf_stat_config *config, struct outstate *os,
static void new_line_std(struct perf_stat_config *config __maybe_unused,
static inline void __new_line_std_csv(struct perf_stat_config *config,
static inline void __new_line_std(struct perf_stat_config *config, struct outstate *os)
static void do_new_line_std(struct perf_stat_config *config,
static void print_metric_std(struct perf_stat_config *config,
static void new_line_csv(struct perf_stat_config *config, void *ctx)
static void print_metric_csv(struct perf_stat_config *config __maybe_unused,
static void print_metric_json(struct perf_stat_config *config __maybe_unused,
static void new_line_json(struct perf_stat_config *config, void *ctx)
static void print_metricgroup_header_json(struct perf_stat_config *config,
static void print_metricgroup_header_csv(struct perf_stat_config *config,
static void print_metricgroup_header_std(struct perf_stat_config *config,
static void print_metric_only(struct perf_stat_config *config,
static void print_metric_only_csv(struct perf_stat_config *config __maybe_unused,
static void print_metric_only_json(struct perf_stat_config *config __maybe_unused,
static void print_metric_header(struct perf_stat_config *config,
static void print_counter_value_std(struct perf_stat_config *config,
static void print_counter_value_csv(struct perf_stat_config *config,
static void print_counter_value(struct perf_stat_config *config, struct outstate *os,
static void abs_printout(struct perf_stat_config *config,
static void printout(struct perf_stat_config *config, struct outstate *os,
static bool should_skip_zero_counter(struct perf_stat_config *config,
static void print_counter_aggrdata(struct perf_stat_config *config,
static void generic_metric(struct perf_stat_config *config,
static bool tool_pmu__is_time_event(const struct perf_stat_config *config,
static void perf_stat__print_metricgroup_header(struct perf_stat_config *config,
void *perf_stat__print_shadow_stats_metricgroup(struct perf_stat_config *config,
void perf_stat__print_shadow_stats(struct perf_stat_config *config,
static int prepare_metric(struct perf_stat_config *config,
int evlist__alloc_stats(struct perf_stat_config *config,
void evlist__copy_res_stats(struct perf_stat_config *config, struct evlist *evlist)
struct perf_stat_config *config)
process_counter_values(struct perf_stat_config *config, struct evsel *evsel,
static int process_counter_maps(struct perf_stat_config *config,
int perf_stat_process_counter(struct perf_stat_config *config,
const struct perf_stat_config *config)
static void evsel__merge_stats(struct evsel *evsel, struct perf_stat_config *config)
void perf_stat_merge_counters(struct perf_stat_config *config, struct evlist *evlist)
void perf_stat_process_percore(struct perf_stat_config *config, struct evlist *evlist)
struct perf_stat_config sc = {};
extern struct perf_stat_config stat_config;
struct perf_stat_config;
typedef void (*print_metric_t)(struct perf_stat_config *config,
typedef void (*new_line_t)(struct perf_stat_config *config, void *ctx);
typedef void (*print_metricgroup_header_t)(struct perf_stat_config *config,
void perf_stat__print_shadow_stats(struct perf_stat_config *config,
void *perf_stat__print_shadow_stats_metricgroup(struct perf_stat_config *config,
int evlist__alloc_stats(struct perf_stat_config *config,
void evlist__copy_res_stats(struct perf_stat_config *config, struct evlist *evlist);
int perf_stat_process_counter(struct perf_stat_config *config,
void perf_stat_merge_counters(struct perf_stat_config *config, struct evlist *evlist);
void perf_stat_process_percore(struct perf_stat_config *config, struct evlist *evlist);
void evlist__print_counters(struct evlist *evlist, struct perf_stat_config *config,
struct perf_stat_config *config,
int perf_event__synthesize_stat_events(struct perf_stat_config *config, const struct perf_tool *tool,
struct perf_stat_config;
int perf_event__synthesize_stat_config(const struct perf_tool *tool, struct perf_stat_config *config, perf_event__handler_t process, struct machine *machine);
int perf_event__synthesize_stat_events(struct perf_stat_config *config, const struct perf_tool *tool, struct evlist *evlist, perf_event__handler_t process, bool attrs);
void (*process_stat)(struct perf_stat_config *config,
struct perf_stat_config;