Lines Matching refs:stat_config

213 static struct perf_stat_config stat_config = {  variable
408 fprintf(stat_config.output, in read_counter_cpu()
472 if (!stat_config.stop_read_counter) { in read_counters()
481 if (counter->err == 0 && perf_stat_process_counter(&stat_config, counter)) in read_counters()
503 update_stats(&walltime_nsecs_stats, stat_config.interval * 1000000ULL); in process_interval()
531 if (stat_config.initial_delay < 0) { in enable_counters()
536 if (stat_config.initial_delay > 0) { in enable_counters()
538 usleep(stat_config.initial_delay * USEC_PER_MSEC); in enable_counters()
546 if (!target__none(&target) || stat_config.initial_delay) { in enable_counters()
549 if (stat_config.initial_delay > 0) in enable_counters()
749 int interval = stat_config.interval; in __run_perf_stat()
750 int times = stat_config.times; in __run_perf_stat()
751 int timeout = stat_config.timeout; in __run_perf_stat()
804 if (create_perf_stat_counter(counter, &stat_config, &target, in __run_perf_stat()
861 if (create_perf_stat_counter(counter, &stat_config, &target, in __run_perf_stat()
887 if (l > stat_config.unit_width) in __run_perf_stat()
888 stat_config.unit_width = l; in __run_perf_stat()
915 err = perf_event__synthesize_stat_events(&stat_config, NULL, evsel_list, in __run_perf_stat()
938 wait4(child_pid, &status, 0, &stat_config.ru_data); in __run_perf_stat()
957 if (stat_config.walltime_run_table) in __run_perf_stat()
958 stat_config.walltime_run[run_idx] = t1 - t0; in __run_perf_stat()
960 if (interval && stat_config.summary) { in __run_perf_stat()
961 stat_config.interval = 0; in __run_perf_stat()
962 stat_config.stop_read_counter = true; in __run_perf_stat()
966 if (stat_config.aggr_mode == AGGR_GLOBAL) in __run_perf_stat()
974 update_rusage_stats(&ru_stats, &stat_config.ru_data); in __run_perf_stat()
1026 if (stat_config.quiet) in print_counters()
1029 evlist__print_counters(evsel_list, &stat_config, &target, ts, argc, argv); in print_counters()
1036 if ((child_pid == -1) || stat_config.interval) in skip_signal()
1077 stat_config.big_num = (set != 0); in perf_stat__set_big_num()
1082 stat_config.no_csv_summary = (set != 0); in perf_stat__set_no_csv_summary()
1097 stat_config.metric_only = !unset; in enable_metric_only()
1132 if (stat_config.cgroup_list) { in parse_stat_cgroups()
1168 OPT_BOOLEAN('i', "no-inherit", &stat_config.no_inherit,
1186 OPT_BOOLEAN(0, "scale", &stat_config.scale,
1190 OPT_INTEGER('r', "repeat", &stat_config.run_count,
1192 OPT_BOOLEAN(0, "table", &stat_config.walltime_run_table,
1194 OPT_BOOLEAN('n', "null", &stat_config.null_run,
1205 OPT_SET_UINT('A', "no-aggr", &stat_config.aggr_mode,
1207 OPT_BOOLEAN(0, "no-merge", &stat_config.no_merge, "Do not merge identical named events"),
1208 OPT_BOOLEAN(0, "hybrid-merge", &stat_config.hybrid_merge,
1210 OPT_STRING('x', "field-separator", &stat_config.csv_sep, "separator",
1212 OPT_BOOLEAN('j', "json-output", &stat_config.json_output,
1216 OPT_STRING(0, "for-each-cgroup", &stat_config.cgroup_list, "name",
1226 OPT_UINTEGER('I', "interval-print", &stat_config.interval,
1229 OPT_INTEGER(0, "interval-count", &stat_config.times,
1231 OPT_BOOLEAN(0, "interval-clear", &stat_config.interval_clear,
1233 OPT_UINTEGER(0, "timeout", &stat_config.timeout,
1235 OPT_SET_UINT(0, "per-socket", &stat_config.aggr_mode,
1237 OPT_SET_UINT(0, "per-die", &stat_config.aggr_mode,
1239 OPT_SET_UINT(0, "per-core", &stat_config.aggr_mode,
1241 OPT_SET_UINT(0, "per-thread", &stat_config.aggr_mode,
1243 OPT_SET_UINT(0, "per-node", &stat_config.aggr_mode,
1245 OPT_INTEGER('D', "delay", &stat_config.initial_delay,
1247 OPT_CALLBACK_NOOPT(0, "metric-only", &stat_config.metric_only, NULL,
1249 OPT_BOOLEAN(0, "metric-no-group", &stat_config.metric_no_group,
1251 OPT_BOOLEAN(0, "metric-no-merge", &stat_config.metric_no_merge,
1255 OPT_UINTEGER(0, "td-level", &stat_config.topdown_level,
1262 OPT_BOOLEAN_FLAG(0, "all-kernel", &stat_config.all_kernel,
1265 OPT_BOOLEAN_FLAG(0, "all-user", &stat_config.all_user,
1268 OPT_BOOLEAN(0, "percore-show-thread", &stat_config.percore_show_thread,
1272 OPT_BOOLEAN(0, "summary", &stat_config.summary,
1274 OPT_BOOLEAN(0, "no-csv-summary", &stat_config.no_csv_summary,
1276 OPT_BOOLEAN(0, "quiet", &stat_config.quiet,
1287 OPT_CALLBACK(0, "control", &stat_config, "fd:ctl-fd[,ack-fd] or fifo:ctl-fifo[,ack-fifo]",
1292 OPT_CALLBACK_OPTARG(0, "iostat", &evsel_list, &stat_config, "default",
1434 aggr_cpu_id_get_t get_id = aggr_mode__get_aggr(stat_config.aggr_mode); in perf_stat_init_aggr_mode()
1437 stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus, in perf_stat_init_aggr_mode()
1439 if (!stat_config.aggr_map) { in perf_stat_init_aggr_mode()
1440 pr_err("cannot build %s map", aggr_mode__string[stat_config.aggr_mode]); in perf_stat_init_aggr_mode()
1443 stat_config.aggr_get_id = aggr_mode__get_id(stat_config.aggr_mode); in perf_stat_init_aggr_mode()
1455 stat_config.cpus_aggr_map = cpu_aggr_map__empty_new(nr + 1); in perf_stat_init_aggr_mode()
1456 return stat_config.cpus_aggr_map ? 0 : -ENOMEM; in perf_stat_init_aggr_mode()
1476 cpu_aggr_map__put(stat_config.aggr_map); in perf_stat__exit_aggr_mode()
1477 cpu_aggr_map__put(stat_config.cpus_aggr_map); in perf_stat__exit_aggr_mode()
1478 stat_config.aggr_map = NULL; in perf_stat__exit_aggr_mode()
1479 stat_config.cpus_aggr_map = NULL; in perf_stat__exit_aggr_mode()
1606 aggr_cpu_id_get_t get_id = aggr_mode__get_aggr_file(stat_config.aggr_mode); in perf_stat_init_aggr_mode_file()
1611 stat_config.aggr_map = cpu_aggr_map__new(evsel_list->core.user_requested_cpus, get_id, env); in perf_stat_init_aggr_mode_file()
1612 if (!stat_config.aggr_map) { in perf_stat_init_aggr_mode_file()
1613 pr_err("cannot build %s map", aggr_mode__string[stat_config.aggr_mode]); in perf_stat_init_aggr_mode_file()
1616 stat_config.aggr_get_id = aggr_mode__get_id_file(stat_config.aggr_mode); in perf_stat_init_aggr_mode_file()
1743 if (stat_config.null_run) in add_default_attributes()
1755 stat_config.metric_no_group, in add_default_attributes()
1756 stat_config.metric_no_merge, in add_default_attributes()
1757 stat_config.user_requested_cpu_list, in add_default_attributes()
1758 stat_config.system_wide, in add_default_attributes()
1759 &stat_config.metric_events); in add_default_attributes()
1803 stat_config.metric_only = true; in add_default_attributes()
1823 stat_config.metric_only = true; in add_default_attributes()
1830 if (stat_config.topdown_level > max_level) { in add_default_attributes()
1833 } else if (!stat_config.topdown_level) in add_default_attributes()
1834 stat_config.topdown_level = max_level; in add_default_attributes()
1842 if (!stat_config.interval && !stat_config.metric_only) { in add_default_attributes()
1843 fprintf(stat_config.output, in add_default_attributes()
1852 if (stat_config.aggr_mode != AGGR_GLOBAL && in add_default_attributes()
1853 stat_config.aggr_mode != AGGR_CORE) { in add_default_attributes()
1857 stat_config.aggr_mode = AGGR_CORE; in add_default_attributes()
1894 if (!stat_config.topdown_level) in add_default_attributes()
1895 stat_config.topdown_level = TOPDOWN_MAX_LEVEL; in add_default_attributes()
1971 if (stat_config.run_count != 1 || forever) { in __cmd_record()
2000 perf_stat_process_counter(&stat_config, counter); in process_stat_round_event()
2005 if (stat_config.interval && stat_round->time) { in process_stat_round_event()
2022 perf_event__read_stat_config(&stat_config, &event->stat_config); in process_stat_config_event()
2031 stat_config.aggr_mode = st->aggr_mode; in process_stat_config_event()
2109 .stat_config = process_stat_config_event,
2155 stat_config.output = stderr; in __cmd_report()
2227 if (stat_config.csv_sep) { in cmd_stat()
2228 stat_config.csv_output = true; in cmd_stat()
2229 if (!strcmp(stat_config.csv_sep, "\\t")) in cmd_stat()
2230 stat_config.csv_sep = "\t"; in cmd_stat()
2232 stat_config.csv_sep = DEFAULT_SEPARATOR; in cmd_stat()
2241 interval = stat_config.interval; in cmd_stat()
2242 timeout = stat_config.timeout; in cmd_stat()
2257 if (stat_config.metric_only && stat_config.aggr_mode == AGGR_THREAD) { in cmd_stat()
2262 if (stat_config.metric_only && stat_config.run_count > 1) { in cmd_stat()
2267 if (stat_config.walltime_run_table && stat_config.run_count <= 1) { in cmd_stat()
2280 if (!output && !stat_config.quiet) { in cmd_stat()
2300 stat_config.output = output; in cmd_stat()
2305 if (stat_config.csv_output) { in cmd_stat()
2313 stat_config.big_num = false; in cmd_stat()
2315 stat_config.big_num = false; in cmd_stat()
2329 if ((stat_config.run_count == 1) && target__none(&target)) in cmd_stat()
2330 stat_config.ru_display = true; in cmd_stat()
2332 if (stat_config.run_count < 0) { in cmd_stat()
2336 } else if (stat_config.run_count == 0) { in cmd_stat()
2338 stat_config.run_count = 1; in cmd_stat()
2341 if (stat_config.walltime_run_table) { in cmd_stat()
2342 stat_config.walltime_run = zalloc(stat_config.run_count * sizeof(stat_config.walltime_run[0])); in cmd_stat()
2343 if (!stat_config.walltime_run) { in cmd_stat()
2349 if ((stat_config.aggr_mode == AGGR_THREAD) && in cmd_stat()
2365 if (((stat_config.aggr_mode != AGGR_GLOBAL && in cmd_stat()
2366 stat_config.aggr_mode != AGGR_THREAD) || in cmd_stat()
2367 (nr_cgroups || stat_config.cgroup_list)) && in cmd_stat()
2379 if (stat_config.iostat_run) { in cmd_stat()
2380 status = iostat_prepare(evsel_list, &stat_config); in cmd_stat()
2384 iostat_list(evsel_list, &stat_config); in cmd_stat()
2387 iostat_list(evsel_list, &stat_config); in cmd_stat()
2392 if ((stat_config.aggr_mode == AGGR_THREAD) && (target.system_wide)) in cmd_stat()
2395 stat_config.system_wide = target.system_wide; in cmd_stat()
2397 stat_config.user_requested_cpu_list = strdup(target.cpu_list); in cmd_stat()
2398 if (!stat_config.user_requested_cpu_list) { in cmd_stat()
2410 stat_config.metric_no_group, in cmd_stat()
2411 stat_config.metric_no_merge, in cmd_stat()
2412 stat_config.user_requested_cpu_list, in cmd_stat()
2413 stat_config.system_wide, in cmd_stat()
2414 &stat_config.metric_events); in cmd_stat()
2423 if (stat_config.cgroup_list) { in cmd_stat()
2431 if (evlist__expand_cgroup(evsel_list, stat_config.cgroup_list, in cmd_stat()
2432 &stat_config.metric_events, true) < 0) { in cmd_stat()
2464 if (stat_config.aggr_mode == AGGR_THREAD) { in cmd_stat()
2468 if (stat_config.aggr_mode == AGGR_NODE) in cmd_stat()
2471 if (stat_config.times && interval) in cmd_stat()
2473 else if (stat_config.times && !interval) { in cmd_stat()
2513 stat_config.identifier = !(STAT_RECORD && perf_stat.data.is_pipe); in cmd_stat()
2528 if (evlist__initialize_ctlfd(evsel_list, stat_config.ctl_fd, stat_config.ctl_fd_ack)) in cmd_stat()
2534 for (run_idx = 0; forever || run_idx < stat_config.run_count; run_idx++) { in cmd_stat()
2535 if (stat_config.run_count != 1 && verbose > 0) in cmd_stat()
2549 if (!forever && status != -1 && (!interval || stat_config.summary)) in cmd_stat()
2594 if (stat_config.iostat_run) in cmd_stat()
2597 zfree(&stat_config.walltime_run); in cmd_stat()
2598 zfree(&stat_config.user_requested_cpu_list); in cmd_stat()
2605 metricgroup__rblist_exit(&stat_config.metric_events); in cmd_stat()
2606 evlist__close_control(stat_config.ctl_fd, stat_config.ctl_fd_ack, &stat_config.ctl_fd_close); in cmd_stat()