Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/tracing/rtla/src/trace.h
26285 views
1
// SPDX-License-Identifier: GPL-2.0
2
#include <tracefs.h>
3
#include <stddef.h>
4
5
struct trace_events {
6
struct trace_events *next;
7
char *system;
8
char *event;
9
char *filter;
10
char *trigger;
11
char enabled;
12
char filter_enabled;
13
char trigger_enabled;
14
};
15
16
struct trace_instance {
17
struct tracefs_instance *inst;
18
struct tep_handle *tep;
19
struct trace_seq *seq;
20
unsigned long long missed_events;
21
unsigned long long processed_events;
22
};
23
24
int trace_instance_init(struct trace_instance *trace, char *tool_name);
25
int trace_instance_start(struct trace_instance *trace);
26
int trace_instance_stop(struct trace_instance *trace);
27
void trace_instance_destroy(struct trace_instance *trace);
28
29
struct trace_seq *get_trace_seq(void);
30
int enable_tracer_by_name(struct tracefs_instance *inst, const char *tracer_name);
31
void disable_tracer(struct tracefs_instance *inst);
32
33
int enable_osnoise(struct trace_instance *trace);
34
int enable_timerlat(struct trace_instance *trace);
35
36
struct tracefs_instance *create_instance(char *instance_name);
37
void destroy_instance(struct tracefs_instance *inst);
38
39
int save_trace_to_file(struct tracefs_instance *inst, const char *filename);
40
int collect_registered_events(struct tep_event *tep, struct tep_record *record,
41
int cpu, void *context);
42
43
struct trace_events *trace_event_alloc(const char *event_string);
44
void trace_events_disable(struct trace_instance *instance,
45
struct trace_events *events);
46
void trace_events_destroy(struct trace_instance *instance,
47
struct trace_events *events);
48
int trace_events_enable(struct trace_instance *instance,
49
struct trace_events *events);
50
51
int trace_event_add_filter(struct trace_events *event, char *filter);
52
int trace_event_add_trigger(struct trace_events *event, char *trigger);
53
int trace_set_buffer_size(struct trace_instance *trace, int size);
54
55