Lines Matching refs:config
74 static void print_running_std(struct perf_stat_config *config, u64 run, u64 ena) in print_running_std() argument
77 fprintf(config->output, " (%.2f%%)", 100.0 * run / ena); in print_running_std()
80 static void print_running_csv(struct perf_stat_config *config, u64 run, u64 ena) in print_running_csv() argument
86 fprintf(config->output, "%s%" PRIu64 "%s%.2f", in print_running_csv()
87 config->csv_sep, run, config->csv_sep, enabled_percent); in print_running_csv()
90 static void print_running_json(struct perf_stat_config *config, u64 run, u64 ena) in print_running_json() argument
96 fprintf(config->output, "\"event-runtime\" : %" PRIu64 ", \"pcnt-running\" : %.2f, ", in print_running_json()
100 static void print_running(struct perf_stat_config *config, in print_running() argument
103 if (config->json_output) { in print_running()
105 print_running_json(config, run, ena); in print_running()
106 } else if (config->csv_output) { in print_running()
108 print_running_csv(config, run, ena); in print_running()
111 print_running_std(config, run, ena); in print_running()
115 static void print_noise_pct_std(struct perf_stat_config *config, in print_noise_pct_std() argument
119 fprintf(config->output, " ( +-%6.2f%% )", pct); in print_noise_pct_std()
122 static void print_noise_pct_csv(struct perf_stat_config *config, in print_noise_pct_csv() argument
125 fprintf(config->output, "%s%.2f%%", config->csv_sep, pct); in print_noise_pct_csv()
128 static void print_noise_pct_json(struct perf_stat_config *config, in print_noise_pct_json() argument
131 fprintf(config->output, "\"variance\" : %.2f, ", pct); in print_noise_pct_json()
134 static void print_noise_pct(struct perf_stat_config *config, in print_noise_pct() argument
139 if (config->json_output) { in print_noise_pct()
141 print_noise_pct_json(config, pct); in print_noise_pct()
142 } else if (config->csv_output) { in print_noise_pct()
144 print_noise_pct_csv(config, pct); in print_noise_pct()
147 print_noise_pct_std(config, pct); in print_noise_pct()
151 static void print_noise(struct perf_stat_config *config, in print_noise() argument
156 if (config->run_count == 1) in print_noise()
160 print_noise_pct(config, stddev_stats(&ps->res_stats), avg, before_metric); in print_noise()
163 static void print_cgroup_std(struct perf_stat_config *config, const char *cgrp_name) in print_cgroup_std() argument
165 fprintf(config->output, " %-*s", CGROUP_LEN, cgrp_name); in print_cgroup_std()
168 static void print_cgroup_csv(struct perf_stat_config *config, const char *cgrp_name) in print_cgroup_csv() argument
170 fprintf(config->output, "%s%s", config->csv_sep, cgrp_name); in print_cgroup_csv()
173 static void print_cgroup_json(struct perf_stat_config *config, const char *cgrp_name) in print_cgroup_json() argument
175 fprintf(config->output, "\"cgroup\" : \"%s\", ", cgrp_name); in print_cgroup_json()
178 static void print_cgroup(struct perf_stat_config *config, struct cgroup *cgrp) in print_cgroup() argument
180 if (nr_cgroups || config->cgroup_list) { in print_cgroup()
183 if (config->json_output) in print_cgroup()
184 print_cgroup_json(config, cgrp_name); in print_cgroup()
185 else if (config->csv_output) in print_cgroup()
186 print_cgroup_csv(config, cgrp_name); in print_cgroup()
188 print_cgroup_std(config, cgrp_name); in print_cgroup()
192 static void print_aggr_id_std(struct perf_stat_config *config, in print_aggr_id_std() argument
195 FILE *output = config->output; in print_aggr_id_std()
196 int idx = config->aggr_mode; in print_aggr_id_std()
199 switch (config->aggr_mode) { in print_aggr_id_std()
220 if (evsel->percore && !config->percore_show_thread) { in print_aggr_id_std()
245 static void print_aggr_id_csv(struct perf_stat_config *config, in print_aggr_id_csv() argument
248 FILE *output = config->output; in print_aggr_id_csv()
249 const char *sep = config->csv_sep; in print_aggr_id_csv()
251 switch (config->aggr_mode) { in print_aggr_id_csv()
257 fprintf(config->output, "S%d-D%d-L%d-ID%d%s%d%s", in print_aggr_id_csv()
261 fprintf(config->output, "S%d-D%d-CLS%d%s%d%s", in print_aggr_id_csv()
277 if (evsel->percore && !config->percore_show_thread) { in print_aggr_id_csv()
299 static void print_aggr_id_json(struct perf_stat_config *config, in print_aggr_id_json() argument
302 FILE *output = config->output; in print_aggr_id_json()
304 switch (config->aggr_mode) { in print_aggr_id_json()
330 if (evsel->percore && !config->percore_show_thread) { in print_aggr_id_json()
351 static void aggr_printout(struct perf_stat_config *config, in aggr_printout() argument
354 if (config->json_output) in aggr_printout()
355 print_aggr_id_json(config, evsel, id, aggr_nr); in aggr_printout()
356 else if (config->csv_output) in aggr_printout()
357 print_aggr_id_csv(config, evsel, id, aggr_nr); in aggr_printout()
359 print_aggr_id_std(config, evsel, id, aggr_nr); in aggr_printout()
374 static void new_line_std(struct perf_stat_config *config __maybe_unused, in new_line_std()
382 static inline void __new_line_std_csv(struct perf_stat_config *config, in __new_line_std_csv() argument
388 aggr_printout(config, os->evsel, os->id, os->aggr_nr); in __new_line_std_csv()
396 static void do_new_line_std(struct perf_stat_config *config, in do_new_line_std() argument
399 __new_line_std_csv(config, os); in do_new_line_std()
400 if (config->aggr_mode == AGGR_NONE) in do_new_line_std()
405 static void print_metric_std(struct perf_stat_config *config, in print_metric_std() argument
422 do_new_line_std(config, os); in print_metric_std()
432 static void new_line_csv(struct perf_stat_config *config, void *ctx) in new_line_csv() argument
437 __new_line_std_csv(config, os); in new_line_csv()
439 fputs(config->csv_sep, os->fh); in new_line_csv()
442 static void print_metric_csv(struct perf_stat_config *config __maybe_unused, in print_metric_csv()
452 fprintf(out, "%s%s", config->csv_sep, config->csv_sep); in print_metric_csv()
460 fprintf(out, "%s%s%s%s", config->csv_sep, vals, config->csv_sep, skip_spaces(unit)); in print_metric_csv()
463 static void print_metric_json(struct perf_stat_config *config __maybe_unused, in print_metric_json()
474 if (!config->metric_only) in print_metric_json()
478 static void new_line_json(struct perf_stat_config *config, void *ctx) in new_line_json() argument
485 aggr_printout(config, os->evsel, os->id, os->aggr_nr); in new_line_json()
488 static void print_metricgroup_header_json(struct perf_stat_config *config, in print_metricgroup_header_json() argument
495 fprintf(config->output, "\"metricgroup\" : \"%s\"}", metricgroup_name); in print_metricgroup_header_json()
496 new_line_json(config, ctx); in print_metricgroup_header_json()
499 static void print_metricgroup_header_csv(struct perf_stat_config *config, in print_metricgroup_header_csv() argument
509 fputs(config->csv_sep, os->fh); in print_metricgroup_header_csv()
514 fputs(config->csv_sep, os->fh); in print_metricgroup_header_csv()
515 fprintf(config->output, "%s", metricgroup_name); in print_metricgroup_header_csv()
516 new_line_csv(config, ctx); in print_metricgroup_header_csv()
519 static void print_metricgroup_header_std(struct perf_stat_config *config, in print_metricgroup_header_std() argument
531 n = fprintf(config->output, " %*s", EVNAME_LEN, metricgroup_name); in print_metricgroup_header_std()
533 fprintf(config->output, "%*s", MGROUP_LEN - n - 1, ""); in print_metricgroup_header_std()
559 static void print_metric_only(struct perf_stat_config *config, in print_metric_only() argument
566 unsigned mlen = config->metric_only_len; in print_metric_only()
582 static void print_metric_only_csv(struct perf_stat_config *config __maybe_unused, in print_metric_only_csv()
600 fprintf(out, "%s%s", vals, config->csv_sep); in print_metric_only_csv()
604 static void print_metric_only_json(struct perf_stat_config *config __maybe_unused, in print_metric_only_json()
628 static void new_line_metric(struct perf_stat_config *config __maybe_unused, in new_line_metric()
633 static void print_metric_header(struct perf_stat_config *config, in print_metric_header() argument
642 if (config->iostat_run && in print_metric_header()
653 if (config->json_output) in print_metric_header()
655 else if (config->csv_output) in print_metric_header()
656 fprintf(os->fh, "%s%s", unit, config->csv_sep); in print_metric_header()
658 fprintf(os->fh, "%*s ", config->metric_only_len, unit); in print_metric_header()
661 static void print_counter_value_std(struct perf_stat_config *config, in print_counter_value_std() argument
664 FILE *output = config->output; in print_counter_value_std()
669 if (config->big_num) in print_counter_value_std()
680 fprintf(output, "%-*s ", config->unit_width, evsel->unit); in print_counter_value_std()
685 static void print_counter_value_csv(struct perf_stat_config *config, in print_counter_value_csv() argument
688 FILE *output = config->output; in print_counter_value_csv()
690 const char *sep = config->csv_sep; in print_counter_value_csv()
705 static void print_counter_value_json(struct perf_stat_config *config, in print_counter_value_json() argument
708 FILE *output = config->output; in print_counter_value_json()
722 static void print_counter_value(struct perf_stat_config *config, in print_counter_value() argument
725 if (config->json_output) in print_counter_value()
726 print_counter_value_json(config, evsel, avg, ok); in print_counter_value()
727 else if (config->csv_output) in print_counter_value()
728 print_counter_value_csv(config, evsel, avg, ok); in print_counter_value()
730 print_counter_value_std(config, evsel, avg, ok); in print_counter_value()
733 static void abs_printout(struct perf_stat_config *config, in abs_printout() argument
737 aggr_printout(config, evsel, id, aggr_nr); in abs_printout()
738 print_counter_value(config, evsel, avg, ok); in abs_printout()
739 print_cgroup(config, evsel->cgrp); in abs_printout()
781 static void printout(struct perf_stat_config *config, struct outstate *os, in printout() argument
791 if (config->csv_output) { in printout()
792 pm = config->metric_only ? print_metric_only_csv : print_metric_csv; in printout()
793 nl = config->metric_only ? new_line_metric : new_line_csv; in printout()
796 } else if (config->json_output) { in printout()
797 pm = config->metric_only ? print_metric_only_json : print_metric_json; in printout()
798 nl = config->metric_only ? new_line_metric : new_line_json; in printout()
801 pm = config->metric_only ? print_metric_only : print_metric_std; in printout()
802 nl = config->metric_only ? new_line_metric : new_line_std; in printout()
807 if (config->metric_only) { in printout()
808 pm(config, os, NULL, "", "", 0); in printout()
816 config->print_free_counters_hint = 1; in printout()
818 config->print_mixed_hw_group_error = 1; in printout()
829 if (!config->metric_only && !counter->default_metricgroup) { in printout()
830 abs_printout(config, os->id, os->aggr_nr, counter, uval, ok); in printout()
832 print_noise(config, counter, noise, /*before_metric=*/true); in printout()
833 print_running(config, run, ena, /*before_metric=*/true); in printout()
837 if (!config->metric_only && counter->default_metricgroup) { in printout()
840 aggr_printout(config, os->evsel, os->id, os->aggr_nr); in printout()
847 if (config->json_output) in printout()
848 new_line_json(config, (void *)os); in printout()
850 __new_line_std_csv(config, os); in printout()
853 print_noise(config, counter, noise, /*before_metric=*/true); in printout()
854 print_running(config, run, ena, /*before_metric=*/true); in printout()
855 from = perf_stat__print_shadow_stats_metricgroup(config, counter, aggr_idx, in printout()
857 &config->metric_events); in printout()
860 perf_stat__print_shadow_stats(config, counter, uval, aggr_idx, in printout()
861 &out, &config->metric_events); in printout()
863 pm(config, os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); in printout()
866 if (!config->metric_only) { in printout()
867 print_noise(config, counter, noise, /*before_metric=*/false); in printout()
868 print_running(config, run, ena, /*before_metric=*/false); in printout()
875 char *config; in uniquify_event_name() local
883 config = strchr(counter->name, '/'); in uniquify_event_name()
884 if (config) { in uniquify_event_name()
886 "%s%s", counter->pmu_name, config) > 0) { in uniquify_event_name()
908 static bool hybrid_uniquify(struct evsel *evsel, struct perf_stat_config *config) in hybrid_uniquify() argument
910 return evsel__is_hybrid(evsel) && !config->hybrid_merge; in hybrid_uniquify()
913 static void uniquify_counter(struct perf_stat_config *config, struct evsel *counter) in uniquify_counter() argument
915 if (config->aggr_mode == AGGR_NONE || hybrid_uniquify(counter, config)) in uniquify_counter()
935 static bool should_skip_zero_counter(struct perf_stat_config *config, in should_skip_zero_counter() argument
946 if (config->aggr_mode == AGGR_THREAD && config->system_wide) in should_skip_zero_counter()
961 struct aggr_cpu_id own_id = config->aggr_get_id(config, cpu); in should_skip_zero_counter()
969 static void print_counter_aggrdata(struct perf_stat_config *config, in print_counter_aggrdata() argument
973 FILE *output = config->output; in print_counter_aggrdata()
978 struct aggr_cpu_id id = config->aggr_map->map[aggr_idx]; in print_counter_aggrdata()
980 bool metric_only = config->metric_only; in print_counter_aggrdata()
990 uniquify_counter(config, counter); in print_counter_aggrdata()
996 if (perf_stat__skip_metric_event(counter, &config->metric_events, ena, run)) in print_counter_aggrdata()
999 if (val == 0 && should_skip_zero_counter(config, counter, &id)) in print_counter_aggrdata()
1003 if (config->json_output) in print_counter_aggrdata()
1007 else if (config->summary && config->csv_output && in print_counter_aggrdata()
1008 !config->no_csv_summary && !config->interval) in print_counter_aggrdata()
1009 fprintf(output, "%s%s", "summary", config->csv_sep); in print_counter_aggrdata()
1014 printout(config, os, uval, run, ena, avg, aggr_idx); in print_counter_aggrdata()
1020 static void print_metric_begin(struct perf_stat_config *config, in print_metric_begin() argument
1029 if (!config->metric_only) in print_metric_begin()
1032 if (config->json_output) in print_metric_begin()
1033 fputc('{', config->output); in print_metric_begin()
1035 fprintf(config->output, "%s", os->prefix); in print_metric_begin()
1038 id = config->aggr_map->map[aggr_idx]; in print_metric_begin()
1040 aggr_printout(config, evsel, id, aggr->nr); in print_metric_begin()
1042 print_cgroup(config, os->cgrp ? : evsel->cgrp); in print_metric_begin()
1045 static void print_metric_end(struct perf_stat_config *config, struct outstate *os) in print_metric_end() argument
1047 FILE *output = config->output; in print_metric_end()
1049 if (!config->metric_only) in print_metric_end()
1052 if (config->json_output) { in print_metric_end()
1060 static void print_aggr(struct perf_stat_config *config, in print_aggr() argument
1067 if (!config->aggr_map || !config->aggr_get_id) in print_aggr()
1074 cpu_aggr_map__for_each_idx(aggr_idx, config->aggr_map) { in print_aggr()
1075 print_metric_begin(config, evlist, os, aggr_idx); in print_aggr()
1078 print_counter_aggrdata(config, counter, aggr_idx, os); in print_aggr()
1080 print_metric_end(config, os); in print_aggr()
1084 static void print_aggr_cgroup(struct perf_stat_config *config, in print_aggr_cgroup() argument
1091 if (!config->aggr_map || !config->aggr_get_id) in print_aggr_cgroup()
1100 cpu_aggr_map__for_each_idx(aggr_idx, config->aggr_map) { in print_aggr_cgroup()
1101 print_metric_begin(config, evlist, os, aggr_idx); in print_aggr_cgroup()
1107 print_counter_aggrdata(config, counter, aggr_idx, os); in print_aggr_cgroup()
1109 print_metric_end(config, os); in print_aggr_cgroup()
1114 static void print_counter(struct perf_stat_config *config, in print_counter() argument
1120 if (!config->aggr_map) in print_counter()
1123 cpu_aggr_map__for_each_idx(aggr_idx, config->aggr_map) { in print_counter()
1124 print_counter_aggrdata(config, counter, aggr_idx, os); in print_counter()
1128 static void print_no_aggr_metric(struct perf_stat_config *config, in print_no_aggr_metric() argument
1148 cpu_aggr_map__for_each_idx(aggr_idx, config->aggr_map) { in print_no_aggr_metric()
1149 if (config->aggr_map->map[aggr_idx].cpu.cpu == cpu.cpu) in print_no_aggr_metric()
1156 print_metric_begin(config, evlist, os, aggr_idx); in print_no_aggr_metric()
1164 printout(config, os, uval, run, ena, 1.0, aggr_idx); in print_no_aggr_metric()
1167 print_metric_end(config, os); in print_no_aggr_metric()
1171 static void print_metric_headers_std(struct perf_stat_config *config, in print_metric_headers_std() argument
1174 fputc(' ', config->output); in print_metric_headers_std()
1177 int len = aggr_header_lens[config->aggr_mode]; in print_metric_headers_std()
1179 if (nr_cgroups || config->cgroup_list) in print_metric_headers_std()
1182 fprintf(config->output, "%*s", len, ""); in print_metric_headers_std()
1186 static void print_metric_headers_csv(struct perf_stat_config *config, in print_metric_headers_csv() argument
1191 if (config->interval) in print_metric_headers_csv()
1192 fprintf(config->output, "time%s", config->csv_sep); in print_metric_headers_csv()
1193 if (config->iostat_run) in print_metric_headers_csv()
1196 p = aggr_header_csv[config->aggr_mode]; in print_metric_headers_csv()
1199 fputs(config->csv_sep, config->output); in print_metric_headers_csv()
1201 fputc(*p, config->output); in print_metric_headers_csv()
1206 static void print_metric_headers_json(struct perf_stat_config *config __maybe_unused, in print_metric_headers_json()
1211 static void print_metric_headers(struct perf_stat_config *config, in print_metric_headers() argument
1216 .fh = config->output in print_metric_headers()
1225 if (config->json_output) in print_metric_headers()
1226 print_metric_headers_json(config, no_indent); in print_metric_headers()
1227 else if (config->csv_output) in print_metric_headers()
1228 print_metric_headers_csv(config, no_indent); in print_metric_headers()
1230 print_metric_headers_std(config, no_indent); in print_metric_headers()
1232 if (config->iostat_run) in print_metric_headers()
1233 iostat_print_header_prefix(config); in print_metric_headers()
1235 if (config->cgroup_list) in print_metric_headers()
1240 if (!config->iostat_run && in print_metric_headers()
1241 config->aggr_mode != AGGR_NONE && counter->metric_leader != counter) in print_metric_headers()
1246 perf_stat__print_shadow_stats(config, counter, 0, in print_metric_headers()
1249 &config->metric_events); in print_metric_headers()
1252 if (!config->json_output) in print_metric_headers()
1253 fputc('\n', config->output); in print_metric_headers()
1256 static void prepare_interval(struct perf_stat_config *config, in prepare_interval() argument
1259 if (config->iostat_run) in prepare_interval()
1262 if (config->json_output) in prepare_interval()
1265 else if (config->csv_output) in prepare_interval()
1267 (unsigned long) ts->tv_sec, ts->tv_nsec, config->csv_sep); in prepare_interval()
1273 static void print_header_interval_std(struct perf_stat_config *config, in print_header_interval_std() argument
1279 FILE *output = config->output; in print_header_interval_std()
1281 switch (config->aggr_mode) { in print_header_interval_std()
1290 aggr_header_lens[config->aggr_mode], in print_header_interval_std()
1291 aggr_header_std[config->aggr_mode]); in print_header_interval_std()
1296 aggr_header_lens[config->aggr_mode], in print_header_interval_std()
1297 aggr_header_std[config->aggr_mode]); in print_header_interval_std()
1306 if (!config->iostat_run) in print_header_interval_std()
1314 if (config->metric_only) in print_header_interval_std()
1315 print_metric_headers(config, evlist, true); in print_header_interval_std()
1318 COUNTS_LEN, "counts", config->unit_width, "unit"); in print_header_interval_std()
1321 static void print_header_std(struct perf_stat_config *config, in print_header_std() argument
1325 FILE *output = config->output; in print_header_std()
1346 if (config->run_count > 1) in print_header_std()
1347 fprintf(output, " (%d runs)", config->run_count); in print_header_std()
1350 if (config->metric_only) in print_header_std()
1351 print_metric_headers(config, evlist, false); in print_header_std()
1354 static void print_header_csv(struct perf_stat_config *config, in print_header_csv() argument
1360 if (config->metric_only) in print_header_csv()
1361 print_metric_headers(config, evlist, true); in print_header_csv()
1363 static void print_header_json(struct perf_stat_config *config, in print_header_json() argument
1369 if (config->metric_only) in print_header_json()
1370 print_metric_headers(config, evlist, true); in print_header_json()
1373 static void print_header(struct perf_stat_config *config, in print_header() argument
1382 if (config->interval_clear) in print_header()
1385 if (num_print_iv == 0 || config->interval_clear) { in print_header()
1386 if (config->json_output) in print_header()
1387 print_header_json(config, _target, evlist, argc, argv); in print_header()
1388 else if (config->csv_output) in print_header()
1389 print_header_csv(config, _target, evlist, argc, argv); in print_header()
1390 else if (config->interval) in print_header()
1391 print_header_interval_std(config, _target, evlist, argc, argv); in print_header()
1393 print_header_std(config, _target, evlist, argc, argv); in print_header()
1408 static void print_table(struct perf_stat_config *config, in print_table() argument
1420 for (idx = 0; idx < config->run_count; idx++) { in print_table()
1421 double run = (double) config->walltime_run[idx] / NSEC_PER_SEC; in print_table()
1441 static void print_footer(struct perf_stat_config *config) in print_footer() argument
1443 double avg = avg_stats(config->walltime_nsecs_stats) / NSEC_PER_SEC; in print_footer()
1444 FILE *output = config->output; in print_footer()
1446 if (config->interval || config->csv_output || config->json_output) in print_footer()
1449 if (!config->null_run) in print_footer()
1452 if (config->run_count == 1) { in print_footer()
1455 if (config->ru_display) { in print_footer()
1456 double ru_utime = timeval2double(&config->ru_data.ru_utime); in print_footer()
1457 double ru_stime = timeval2double(&config->ru_data.ru_stime); in print_footer()
1464 double sd = stddev_stats(config->walltime_nsecs_stats) / NSEC_PER_SEC; in print_footer()
1471 if (config->walltime_run_table) in print_footer()
1472 print_table(config, output, precision, avg); in print_footer()
1477 print_noise_pct(config, sd, avg, /*before_metric=*/false); in print_footer()
1481 if (config->print_free_counters_hint && sysctl__nmi_watchdog_enabled()) in print_footer()
1488 if (config->print_mixed_hw_group_error) in print_footer()
1494 static void print_percore(struct perf_stat_config *config, in print_percore() argument
1497 bool metric_only = config->metric_only; in print_percore()
1498 FILE *output = config->output; in print_percore()
1502 if (!config->aggr_map || !config->aggr_get_id) in print_percore()
1505 if (config->percore_show_thread) in print_percore()
1506 return print_counter(config, counter, os); in print_percore()
1512 core_map = cpu_aggr_map__empty_new(config->aggr_map->nr); in print_percore()
1518 cpu_aggr_map__for_each_idx(aggr_idx, config->aggr_map) { in print_percore()
1519 struct perf_cpu curr_cpu = config->aggr_map->map[aggr_idx].cpu; in print_percore()
1532 print_counter_aggrdata(config, counter, aggr_idx, os); in print_percore()
1542 static void print_cgroup_counter(struct perf_stat_config *config, struct evlist *evlist, in print_cgroup_counter() argument
1550 print_metric_end(config, os); in print_cgroup_counter()
1553 print_metric_begin(config, evlist, os, /*aggr_idx=*/0); in print_cgroup_counter()
1556 print_counter(config, counter, os); in print_cgroup_counter()
1559 print_metric_end(config, os); in print_cgroup_counter()
1562 void evlist__print_counters(struct evlist *evlist, struct perf_stat_config *config, in evlist__print_counters() argument
1566 bool metric_only = config->metric_only; in evlist__print_counters()
1567 int interval = config->interval; in evlist__print_counters()
1571 .fh = config->output, in evlist__print_counters()
1575 if (config->iostat_run) in evlist__print_counters()
1580 prepare_interval(config, buf, sizeof(buf), ts); in evlist__print_counters()
1583 print_header(config, _target, evlist, argc, argv); in evlist__print_counters()
1585 switch (config->aggr_mode) { in evlist__print_counters()
1592 if (config->cgroup_list) in evlist__print_counters()
1593 print_aggr_cgroup(config, evlist, &os); in evlist__print_counters()
1595 print_aggr(config, evlist, &os); in evlist__print_counters()
1599 if (config->iostat_run) { in evlist__print_counters()
1600 iostat_print_counters(evlist, config, ts, buf, in evlist__print_counters()
1602 } else if (config->cgroup_list) { in evlist__print_counters()
1603 print_cgroup_counter(config, evlist, &os); in evlist__print_counters()
1605 print_metric_begin(config, evlist, &os, /*aggr_idx=*/0); in evlist__print_counters()
1607 print_counter(config, counter, &os); in evlist__print_counters()
1609 print_metric_end(config, &os); in evlist__print_counters()
1614 print_no_aggr_metric(config, evlist, &os); in evlist__print_counters()
1618 print_percore(config, counter, &os); in evlist__print_counters()
1620 print_counter(config, counter, &os); in evlist__print_counters()
1630 print_footer(config); in evlist__print_counters()
1632 fflush(config->output); in evlist__print_counters()