aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-stat.c
AgeCommit message (Expand)AuthorFilesLines
2025-10-03perf stat: Refactor retry/skip/fatal error handlingIan Rogers1-72/+51
2025-10-03perf stat: Move create_perf_stat_counter() to builtin-stat.cIan Rogers1-2/+58
2025-09-12perf stat: Don't skip failing group eventsIan Rogers1-27/+21
2025-07-25perf session: Add accessor for session->header.envIan Rogers1-11/+12
2025-07-24perf stat: Don't size aggregation ids from user_requested_cpusIan Rogers1-5/+2
2025-07-24perf stat: Avoid buffer overflow to the aggregation mapIan Rogers1-1/+1
2025-07-11perf stat: Move metric list from config to evlistIan Rogers1-13/+12
2025-06-09perf target: Remove uid from targetIan Rogers1-3/+1
2025-05-13perf metricgroup: Binary search when resolving referred to metricsIan Rogers1-3/+3
2025-04-25perf stat: Add mean, min, max and last --tpebs-mode optionsIan Rogers1-0/+29
2025-04-25perf intel-tpebs: Refactor tpebs_results listIan Rogers1-2/+0
2025-02-19perf tools: Fix up some comments and code to properly use the event_source busGreg Kroah-Hartman1-1/+1
2024-12-18perf stat: Move stat_config into config.cIan Rogers1-27/+0
2024-11-01perf stat: Support inherit events during fork() for bperfTengda Wu1-0/+1
2024-10-22perf tools: Add fallback for exclude_guestNamhyung Kim1-3/+15
2024-10-17perf stat: Disable metric thresholds for CSV and JSON metric-only modeIan Rogers1-0/+8
2024-10-10perf tool_pmu: Rename enum perf_tool_event to tool_pmu_eventIan Rogers1-3/+3
2024-10-10perf tool_pmu: Factor tool events into their own PMUIan Rogers1-0/+1
2024-10-02perf stat: Fix affinity memory leaks on error pathIan Rogers1-0/+2
2024-09-26perf stat: Remove evlist__add_default_attrs use stringsIan Rogers1-179/+118
2024-09-25perf stat: Stop repeating when ref_perf_stat() returns -1Levi Yun1-1/+12
2024-09-25perf stat: Close cork_fd when create_perf_stat_counter() failedLevi Yun1-15/+35
2024-09-11perf evsel: Add accessor for tool_eventIan Rogers1-3/+3
2024-08-13perf stat: Add command line option for enabling TPEBS recordingWeilin Wang1-0/+4
2024-08-13perf stat: Fork and launch 'perf record' when 'perf stat' needs to get retire...Weilin Wang1-0/+4
2024-08-12perf stat: Use perf_tool__init()Ian Rogers1-9/+9
2024-08-12perf tool: Constify tool pointersIan Rogers1-4/+4
2024-08-01perf bpf-filter: Pass 'target' to perf_bpf_filter__prepare()Namhyung Kim1-1/+1
2024-06-10perf evsel: Refactor tool eventsIan Rogers1-42/+33
2024-06-07perf stat: Choose the most disaggregate command line optionIan Rogers1-21/+52
2024-06-07perf stat: Make options localIan Rogers1-146/+145
2024-05-07perf cpumap: Remove refcnt from 'struct cpu_aggr_map'Ian Rogers1-13/+3
2024-04-18perf stat: Add new field in stat_config to enable hardware aware groupingWeilin Wang1-0/+5
2024-03-21perf stat: Remove duplicate cpus_map_matched functionIan Rogers1-21/+1
2024-03-21perf cpumap: Clean up use of perf_cpu_map__has_any_cpu_or_is_emptyIan Rogers1-5/+4
2024-02-09perf stat: Support per-cluster aggregationYicong Yang1-3/+49
2023-12-14perf stat: Combine the -A/--no-aggr and --no-merge optionsIan Rogers1-2/+3
2023-12-12libperf cpumap: Rename perf_cpu_map__empty() to perf_cpu_map__has_any_cpu_or_...Ian Rogers1-3/+3
2023-12-11perf stat: Fix help message for --metric-no-threshold optionIan Rogers1-1/+1
2023-12-06perf stat: Exit perf stat if parse groups failsIan Rogers1-7/+11
2023-12-06perf evsel: Fallback to "task-clock" when not system wideIan Rogers1-1/+1
2023-09-11perf stat: Fix aggr mode initializationIan Rogers1-1/+1
2023-06-20perf stat: Add missing newline in pr_err messagesYang Jihong1-6/+6
2023-06-16perf stat: Show average value on multiple runsNamhyung Kim1-1/+4
2023-06-16perf stat: Reset aggr stats for each runNamhyung Kim1-0/+2
2023-06-16perf stat: New metricgroup output for the default modeKan Liang1-0/+1
2023-06-15perf stat,jevents: Introduce Default tags for the default modeKan Liang1-2/+2
2023-06-12perf stat: Avoid evlist leakIan Rogers1-0/+1
2023-05-27perf pmu: Separate pmu and pmusIan Rogers1-2/+2
2023-05-27perf evlist: Reduce scope of evlist__has_hybridIan Rogers1-1/+0
2023-05-27perf evlist: Remove evlist__warn_hybrid_groupIan Rogers1-3/+0
2023-05-27perf tools: Warn if no user requested CPUs match PMU's CPUsIan Rogers1-4/+1
2023-05-27perf target: Remove unused hybrid valueIan Rogers1-1/+0
2023-05-23perf stat: Add "--per-cache" aggregation option and document itK Prateek Nayak1-0/+56
2023-05-23perf stat: Setup the foundation to allow aggregation based on cache topologyK Prateek Nayak1-1/+208
2023-05-15perf stat: Don't disable TopdownL1 metric on hybridIan Rogers1-6/+1
2023-05-15perf stat: Command line PMU metric filteringIan Rogers1-8/+12
2023-05-15perf metrics: Be PMU specific for referenced metrics.Ian Rogers1-3/+3
2023-05-15perf stat: Make cputype filter genericIan Rogers1-5/+7
2023-05-15perf parse-events: Add pmu filterIan Rogers1-3/+7
2023-05-10perf stat: Introduce skippable evselsIan Rogers1-9/+29
2023-05-05perf stat: Separate bperf from bpf_profilerDmitrii Dolgov1-2/+2
2023-04-28perf stat: Disable TopdownL1 on hybridIan Rogers1-1/+7
2023-04-24perf evsel: Introduce evsel__name_is() method to check if the evsel name is e...Arnaldo Carvalho de Melo1-1/+1
2023-04-10perf util: Move input_name to utilIan Rogers1-1/+1
2023-04-10perf stat: Don't write invalid "started on" comment for JSON outputIan Rogers1-2/+4
2023-04-06tools: Rename __fallthrough to fallthroughLiam Howlett1-1/+1
2023-03-13perf stat: Don't remove all grouped events when CPU maps disagreeIan Rogers1-9/+15
2023-03-10Merge remote-tracking branch 'acme/perf-tools' into perf-tools-nextArnaldo Carvalho de Melo1-10/+5
2023-03-02perf stat: Fix counting when initial delay configuredChangbin Du1-10/+5
2023-02-19perf stat: Remove saved_value/runtime_statIan Rogers1-6/+0
2023-02-19perf stat: Hide runtime_statIan Rogers1-2/+2
2023-02-19perf stat: Use metrics for --smi-costIan Rogers1-23/+11
2023-02-19perf stat: Remove hard coded transaction eventsIan Rogers1-49/+10
2023-02-19perf stat: Implement --topdown using json metricsIan Rogers1-98/+20
2023-02-19perf stat: Add TopdownL1 metric as a default if presentIan Rogers1-0/+14
2023-02-19perf metric: Add --metric-no-threshold optionIan Rogers1-0/+4
2023-02-03perf stat: Remove evsel metric_name/exprIan Rogers1-1/+0
2022-12-20perf tools: Fix usage of the verbose variableYang Jihong1-2/+2
2022-12-14perf stat: Do not delay the workload with --delayNamhyung Kim1-16/+17
2022-12-14perf evlist: Remove group option.Ian Rogers1-6/+0
2022-11-16perf thread_map: Reduce exposure of libperf internal APIIan Rogers1-0/+1
2022-11-16perf stat: Clear screen only if output file is a ttyNamhyung Kim1-0/+8
2022-11-03perf stat: Use sig_atomic_t to avoid undefined behaviour in a signal handlerIan Rogers1-4/+4
2022-10-27perf tools: Make quiet mode consistent between toolsJames Clark1-4/+4
2022-10-27perf stat: Display percore events properlyNamhyung Kim1-16/+0
2022-10-27perf stat: Add perf_stat_process_shadow_stats()Namhyung Kim1-0/+1
2022-10-27perf stat: Add perf_stat_process_percore()Namhyung Kim1-0/+1
2022-10-27perf stat: Add perf_stat_merge_counters()Namhyung Kim1-0/+2
2022-10-27perf stat: Split process_counters() to share it with process_stat_round_event()Namhyung Kim1-9/+13
2022-10-27perf stat: Reset aggr counts for each intervalNamhyung Kim1-0/+3
2022-10-27perf stat: Allocate aggr counts for recorded dataNamhyung Kim1-5/+15
2022-10-27perf stat: Aggregate per-thread stats using evsel->stats->aggrNamhyung Kim1-0/+31
2022-10-27perf stat: Aggregate events using evsel->stats->aggrNamhyung Kim1-3/+0
2022-10-27perf stat: Allocate evsel->stats->aggr properlyNamhyung Kim1-3/+3
2022-10-27perf stat: Add 'needs_sort' argument to cpu_aggr_map__new()Namhyung Kim1-2/+5
2022-10-27perf stat: Add cpu aggr id for no aggregation modeNamhyung Kim1-5/+43
2022-10-27perf stat: Add aggr id for global modeNamhyung Kim1-2/+34
2022-10-06perf stat: Kill unused per-thread runtime statsNamhyung Kim1-54/+0
2022-10-06perf stat: Clean redundant if in process_evlistShang XiaoJing1-2/+0
2022-10-04perf stat: Merge cases in process_evlistShang XiaoJing1-3/+1
2022-10-04perf metrics: Wire up core_wideIan Rogers1-0/+14
2022-10-04perf stat: Delay metric parsingIan Rogers1-15/+37
2022-09-02perf stat: Fix L2 Topdown metrics disappear for raw eventsZhengjun Xing1-2/+3
2022-08-27perf stat: Clear evsel->reset_group for each stat runIan Rogers1-0/+1
2022-08-12perf stat: Remove duplicated include in builtin-stat.cYang Li1-1/+0
2022-08-10perf stat: Add JSON output optionClaire Jensen1-0/+6
2022-08-03perf stat: Refactor __run_perf_stat() common codeAdrián Herrera Arcila1-16/+9
2022-07-29perf stat: Add topdown metrics in the default perf stat on the hybrid machineZhengjun Xing1-12/+2
2022-07-29perf evlist: Always use arch_evlist__add_default_attrs()Kan Liang1-1/+5
2022-07-29perf stat: Revert "perf stat: Add default hybrid events"Kan Liang1-30/+0
2022-06-26perf stat: Enable ignore_missing_threadGang Li1-0/+2
2022-05-26perf stat: Add requires_cpu flag for uncoreAdrian Hunter1-4/+1
2022-05-20perf stat: Always keep perf metrics topdown events in a groupKan Liang1-5/+2
2022-04-24perf stat: Support hybrid --topdown optionZhengjun Xing1-3/+18
2022-04-22perf stat: Merge event counts from all hybrid PMUsZhengjun Xing1-0/+2
2022-04-20perf stat: Add user_time and system_time eventsFlorian Fischer1-8/+28
2022-04-20perf stat: Introduce stats for the user and system rusage timesFlorian Fischer1-1/+4
2022-04-01perf evlist: Rename cpus to user_requested_cpusIan Rogers1-5/+5
2022-04-01perf stat: Avoid SEGV if core.cpus isn't setIan Rogers1-1/+4
2022-03-26perf tools: Enhance the matching of sub-commands abbreviationsWei Li1-2/+2
2022-03-24perf stat: Fix forked applications enablement of countersThomas Richter1-1/+1
2022-01-22perf cpumap: Migrate to libperf cpumap apiIan Rogers1-3/+4
2022-01-18perf stat: No need to setup affinities when starting a workloadArnaldo Carvalho de Melo1-7/+10
2022-01-12perf cpumap: Give CPUs their own typeIan Rogers1-33/+34
2022-01-12perf stat: Correct variable name for read counterIan Rogers1-12/+12
2022-01-12perf evsel: Pass cpu not cpu map index to synthesizeIan Rogers1-2/+3
2022-01-12perf evlist: Refactor evlist__for_each_cpu()Ian Rogers1-93/+86
2022-01-12perf cpumap: Rename cpu_map__get_X_aggr_by_cpu functionsIan Rogers1-9/+9
2022-01-12perf cpumap: Refactor cpu_map__build_map()Ian Rogers1-87/+100
2022-01-12perf cpumap: Rename empty functionsIan Rogers1-6/+6
2022-01-12perf cpumap: Switch cpu_map__build_map() to cpu functionIan Rogers1-40/+4
2022-01-12perf stat: Switch to cpu version of cpu_map__get()Ian Rogers1-41/+52
2021-12-07perf stat: Support --cputype option for hybrid eventsJin Yao1-0/+24
2021-11-07perf parse-event: Add init and exit to parse_event_errorIan Rogers1-16/+22
2021-11-07perf parse-events: Rename parse_events_error functionsIan Rogers1-5/+5
2021-09-27perf iostat: Use system-wide mode if the target cpu_list is unspecifiedLike Xu1-0/+2
2021-08-30perf stat: Do not allow --for-each-cgroup without cpuNamhyung Kim1-1/+3
2021-08-11perf tools: Enable on a list of CPUs for hybridJin Yao1-0/+6
2021-08-02perf tools: Remove repipe argument from perf_session__new()Namhyung Kim1-2/+2
2021-07-14perf stat: Merge uncore events by default for hybrid platformJin Yao1-3/+0
2021-07-09perf stat: Add Topdown metrics L2 events as default eventsKan Liang1-0/+3
2021-07-09libperf: Move 'leader' from tools/perf to perf_evsel::leaderJiri Olsa1-6/+6
2021-05-21perf stat: Skip evlist__[enable|disable] when all events uses BPFSong Liu1-3/+10
2021-04-29perf stat: Warn group events from different hybrid PMUJin Yao1-0/+4
2021-04-29perf stat: Add default hybrid eventsJin Yao1-0/+28
2021-04-29perf stat: Uniquify hybrid event nameJin Yao1-0/+4
2021-04-29perf stat: Introduce config stat.bpf-counter-eventsSong Liu1-17/+25
2021-04-20perf stat: Basic support for iostat in perfAlexander Antonov1-1/+20
2021-03-24perf stat: Align CSV output for summary modeJin Yao1-0/+7
2021-03-23perf stat: Measure 't0' and 'ref_time' after enable_counters()Song Liu1-3/+7
2021-03-23perf stat: Introduce 'bperf' to share hardware PMCs with BPFSong Liu1-0/+10
2021-03-23perf tools: Fix various typos in commentsIngo Molnar1-2/+2
2021-02-08perf stat: Support L2 Topdown eventsKan Liang1-3/+31
2021-02-03perf stat: Add Topdown metrics events as default eventsKan Liang1-0/+3
2021-01-20perf tools: Add 'ping' control commandJiri Olsa1-0/+1
2021-01-20perf tools: Add 'stop' control commandJiri Olsa1-0/+1
2021-01-20perf tools: Add 'evlist' control commandJiri Olsa1-0/+1
2021-01-20perf tools: Allow to enable/disable events via control fileJiri Olsa1-2/+0
2021-01-20perf stat: Enable counting events for BPF programsSong Liu1-14/+68
2020-12-24perf stat aggregation: Add separate core memberJames Clark1-6/+3
2020-12-24perf stat aggregation: Add separate die memberJames Clark1-11/+3
2020-12-24perf stat aggregation: Add separate socket memberJames Clark1-14/+8
2020-12-24perf stat aggregation: Add separate node memberJames Clark1-1/+1
2020-12-24perf stat aggregation: Start using cpu_aggr_id in mapJames Clark1-3/+3
2020-12-24perf cpumap: Drop in cpu_aggr_map structJames Clark1-7/+22
2020-12-24perf stat: Replace aggregation ID with a structJames Clark1-33/+43
2020-11-30perf evlist: Use the right prefix for 'struct evlist' event group methodsArnaldo Carvalho de Melo1-1/+1
2020-11-30perf evlist: Use the right prefix for 'struct evlist' create maps methodsArnaldo Carvalho de Melo1-1/+1
2020-11-30perf evlist: Use the right prefix for 'struct evlist' print methodsArnaldo Carvalho de Melo1-2/+1
2020-11-30perf evlist: Use the right prefix for 'struct evlist' 'filter' methodsArnaldo Carvalho de Melo1-1/+1
2020-11-30perf evlist: Use the right prefix for 'struct evlist' stats methodsArnaldo Carvalho de Melo1-8/+8
2020-11-30perf evlist: Use the right prefix for 'struct evlist' 'workload' methodsArnaldo Carvalho de Melo1-4/+3
2020-11-30perf evlist: Use the right prefix for 'struct evlist' methods: evlist__set_le...Arnaldo Carvalho de Melo1-1/+1
2020-11-04perf stat: Add --quiet optionAndi Kleen1-1/+5
2020-11-04perf stat: Support regex pattern in --for-each-cgroupNamhyung Kim1-1/+4
2020-09-28perf tools: Allow creation of cgroup without openNamhyung Kim1-1/+1
2020-09-28perf tools: Copy metric events properly when expand cgroupsNamhyung Kim1-1/+2
2020-09-28perf stat: Add --for-each-cgroup optionNamhyung Kim1-1/+26
2020-09-23perf stat: Skip duration_time in setup_system_wideJin Yao1-1/+3
2020-09-17perf stat: Support new per thread TopDown metricsAndi Kleen1-2/+28
2020-09-17perf tools: Rename group to topdownKan Liang1-50/+1
2020-09-04perf tools: Consolidate close_control_option()'s into one functionAdrian Hunter1-11/+1
2020-09-04perf record: Add 'snapshot' control commandAdrian Hunter1-0/+1
2020-09-04perf tools: Add FIFO file names as alternative options to --controlAdrian Hunter1-3/+15
2020-09-04perf tools: Consolidate --control option parsing into one functionAdrian Hunter1-20/+2
2020-09-03perf stat: Turn off summary for interval mode by defaultJin Yao1-3/+5
2020-08-04perf stat: Introduce --control fd:ctl-fd[,ack-fd] optionsAlexey Budankov1-1/+39
2020-07-22perf stat: Implement control commands handlingAlexey Budankov1-18/+65
2020-07-22perf stat: extend -D,--delay option with -1 valueAlexey Budankov1-4/+14
2020-07-22perf stat: Factor out event handling loop into dispatch_events()Alexey Budankov1-12/+24
2020-07-22perf stat: Factor out body of event handling loop for fork caseAlexey Budankov1-4/+1
2020-07-22perf stat: Move target check to loop control statementAlexey Budankov1-3/+1
2020-07-22perf stat: Factor out body of event handling loop for system wideAlexey Budankov1-6/+11
2020-06-22perf evlist: Fix the class prefix for 'struct evlist' 'add' evsel methodsArnaldo Carvalho de Melo1-9/+7
2020-06-22perf tools: Release metric_events rblistJiri Olsa1-0/+1
2020-06-02perf stat: Ensure group is defined on top of the same cpu maskJiri Olsa1-0/+55
2020-05-29perf tools: Add optional support for libpfm4Stephane Eranian1-0/+6
2020-05-28perf metricgroup: Add options to not group or mergeIan Rogers1-1/+10
2020-05-28perf config: Add stat.big-num supportPaul A. Clarke1-0/+6