mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 15:04:27 +08:00
5f8f95673f
The group option predates grouping events using curly braces added in
commit 89efb02950
("perf tools: Add support to parse event group
syntax").
The --group option was retained for legacy support (in August
2012) but keeping it adds complexity.
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
Cc: Eelco Chaudron <echaudro@redhat.com>
Cc: German Gomez <german.gomez@arm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Kim Phillips <kim.phillips@amd.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Riccardo Mancini <rickyman7@gmail.com>
Cc: Sandipan Das <sandipan.das@amd.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Shaomin Deng <dengshaomin@cdjrlc.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Timothy Hayes <timothy.hayes@arm.com>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Cc: bpf@vger.kernel.org
Link: https://lore.kernel.org/r/20221213232651.1269909-6-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
96 lines
2.4 KiB
C
96 lines
2.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _PERF_RECORD_H
|
|
#define _PERF_RECORD_H
|
|
|
|
#include <time.h>
|
|
#include <stdbool.h>
|
|
#include <linux/types.h>
|
|
#include <linux/stddef.h>
|
|
#include <linux/perf_event.h>
|
|
#include "util/target.h"
|
|
|
|
struct option;
|
|
|
|
struct record_opts {
|
|
struct target target;
|
|
bool inherit_stat;
|
|
bool no_buffering;
|
|
bool no_inherit;
|
|
bool no_inherit_set;
|
|
bool no_samples;
|
|
bool raw_samples;
|
|
bool sample_address;
|
|
bool sample_phys_addr;
|
|
bool sample_data_page_size;
|
|
bool sample_code_page_size;
|
|
bool sample_weight;
|
|
bool sample_time;
|
|
bool sample_time_set;
|
|
bool sample_cpu;
|
|
bool sample_identifier;
|
|
bool period;
|
|
bool period_set;
|
|
bool running_time;
|
|
bool full_auxtrace;
|
|
bool auxtrace_snapshot_mode;
|
|
bool auxtrace_snapshot_on_exit;
|
|
bool auxtrace_sample_mode;
|
|
bool record_namespaces;
|
|
bool record_cgroup;
|
|
bool record_switch_events;
|
|
bool record_switch_events_set;
|
|
bool all_kernel;
|
|
bool all_user;
|
|
bool kernel_callchains;
|
|
bool user_callchains;
|
|
bool tail_synthesize;
|
|
bool overwrite;
|
|
bool ignore_missing_thread;
|
|
bool strict_freq;
|
|
bool sample_id;
|
|
bool no_bpf_event;
|
|
bool kcore;
|
|
bool text_poke;
|
|
bool build_id;
|
|
unsigned int freq;
|
|
unsigned int mmap_pages;
|
|
unsigned int auxtrace_mmap_pages;
|
|
unsigned int user_freq;
|
|
u64 branch_stack;
|
|
u64 sample_intr_regs;
|
|
u64 sample_user_regs;
|
|
u64 default_interval;
|
|
u64 user_interval;
|
|
size_t auxtrace_snapshot_size;
|
|
const char *auxtrace_snapshot_opts;
|
|
const char *auxtrace_sample_opts;
|
|
bool sample_transaction;
|
|
int initial_delay;
|
|
bool use_clockid;
|
|
clockid_t clockid;
|
|
u64 clockid_res_ns;
|
|
int nr_cblocks;
|
|
int affinity;
|
|
int mmap_flush;
|
|
unsigned int comp_level;
|
|
unsigned int nr_threads_synthesize;
|
|
int ctl_fd;
|
|
int ctl_fd_ack;
|
|
bool ctl_fd_close;
|
|
int synth;
|
|
int threads_spec;
|
|
const char *threads_user_spec;
|
|
};
|
|
|
|
extern const char * const *record_usage;
|
|
extern struct option *record_options;
|
|
|
|
int record__parse_freq(const struct option *opt, const char *str, int unset);
|
|
|
|
static inline bool record_opts__no_switch_events(const struct record_opts *opts)
|
|
{
|
|
return opts->record_switch_events_set && !opts->record_switch_events;
|
|
}
|
|
|
|
#endif // _PERF_RECORD_H
|