Rename LTTng instrumentation macros
[lttng-modules.git] / instrumentation / events / lttng-module / lttng-statedump.h
CommitLineData
c337ddc2
MD
1#undef TRACE_SYSTEM
2#define TRACE_SYSTEM lttng_statedump
3
3bc29f0a
MD
4#if !defined(LTTNG_TRACE_LTTNG_STATEDUMP_H) || defined(TRACE_HEADER_MULTI_READ)
5#define LTTNG_TRACE_LTTNG_STATEDUMP_H
c337ddc2 6
3bc29f0a 7#include "../../../probes/lttng-tracepoint-event.h"
90fffd13 8#include <linux/nsproxy.h>
73e8ba37 9#include <linux/pid_namespace.h>
f0dbdefb 10#include <linux/types.h>
c337ddc2 11
3bc29f0a 12LTTNG_TRACEPOINT_EVENT(lttng_statedump_start,
c337ddc2
MD
13 TP_PROTO(struct lttng_session *session),
14 TP_ARGS(session),
15 TP_STRUCT__entry(
16 ),
17 TP_fast_assign(
18 ),
19 TP_printk("")
20)
21
3bc29f0a 22LTTNG_TRACEPOINT_EVENT(lttng_statedump_end,
c337ddc2
MD
23 TP_PROTO(struct lttng_session *session),
24 TP_ARGS(session),
25 TP_STRUCT__entry(
26 ),
27 TP_fast_assign(
28 ),
29 TP_printk("")
30)
31
3bc29f0a 32LTTNG_TRACEPOINT_EVENT(lttng_statedump_process_state,
c337ddc2
MD
33 TP_PROTO(struct lttng_session *session,
34 struct task_struct *p,
73e8ba37
JD
35 int type, int mode, int submode, int status,
36 struct pid_namespace *pid_ns),
37 TP_ARGS(session, p, type, mode, submode, status, pid_ns),
c337ddc2
MD
38 TP_STRUCT__entry(
39 __field(pid_t, tid)
40 __field(pid_t, vtid)
41 __field(pid_t, pid)
42 __field(pid_t, vpid)
43 __field(pid_t, ppid)
44 __field(pid_t, vppid)
45 __array_text(char, name, TASK_COMM_LEN)
46 __field(int, type)
47 __field(int, mode)
48 __field(int, submode)
49 __field(int, status)
73e8ba37 50 __field(int, ns_level)
c337ddc2
MD
51 ),
52 TP_fast_assign(
53 tp_assign(tid, p->pid)
73e8ba37 54 tp_assign(vtid, pid_ns ? task_pid_nr_ns(p, pid_ns) : 0)
c337ddc2 55 tp_assign(pid, p->tgid)
73e8ba37 56 tp_assign(vpid, pid_ns ? task_tgid_nr_ns(p, pid_ns) : 0)
c337ddc2
MD
57 tp_assign(ppid,
58 ({
59 pid_t ret;
60
61 rcu_read_lock();
62 ret = task_tgid_nr(p->real_parent);
63 rcu_read_unlock();
64 ret;
65 }))
66 tp_assign(vppid,
67 ({
68 struct task_struct *parent;
90fffd13 69 pid_t ret = 0;
c337ddc2 70
debfbc4e
MD
71 if (pid_ns) {
72 rcu_read_lock();
73 parent = rcu_dereference(p->real_parent);
74 ret = task_tgid_nr_ns(parent, pid_ns);
75 rcu_read_unlock();
76 }
c337ddc2
MD
77 ret;
78 }))
79 tp_memcpy(name, p->comm, TASK_COMM_LEN)
80 tp_assign(type, type)
81 tp_assign(mode, mode)
82 tp_assign(submode, submode)
83 tp_assign(status, status)
73e8ba37 84 tp_assign(ns_level, pid_ns ? pid_ns->level : 0)
c337ddc2
MD
85 ),
86 TP_printk("")
87)
88
3bc29f0a 89LTTNG_TRACEPOINT_EVENT(lttng_statedump_file_descriptor,
c337ddc2 90 TP_PROTO(struct lttng_session *session,
29021503
MD
91 struct task_struct *p, int fd, const char *filename,
92 unsigned int flags, fmode_t fmode),
93 TP_ARGS(session, p, fd, filename, flags, fmode),
c337ddc2
MD
94 TP_STRUCT__entry(
95 __field(pid_t, pid)
96 __field(int, fd)
29021503
MD
97 __field_oct(unsigned int, flags)
98 __field_hex(fmode_t, fmode)
c337ddc2
MD
99 __string(filename, filename)
100 ),
101 TP_fast_assign(
102 tp_assign(pid, p->tgid)
9edf633a 103 tp_assign(fd, fd)
29021503
MD
104 tp_assign(flags, flags)
105 tp_assign(fmode, fmode)
c337ddc2
MD
106 tp_strcpy(filename, filename)
107 ),
108 TP_printk("")
109)
110
3bc29f0a 111LTTNG_TRACEPOINT_EVENT(lttng_statedump_vm_map,
c337ddc2
MD
112 TP_PROTO(struct lttng_session *session,
113 struct task_struct *p, struct vm_area_struct *map,
114 unsigned long inode),
115 TP_ARGS(session, p, map, inode),
116 TP_STRUCT__entry(
117 __field(pid_t, pid)
118 __field_hex(unsigned long, start)
119 __field_hex(unsigned long, end)
120 __field_hex(unsigned long, flags)
121 __field(unsigned long, inode)
122 __field(unsigned long, pgoff)
123 ),
124 TP_fast_assign(
125 tp_assign(pid, p->tgid)
126 tp_assign(start, map->vm_start)
127 tp_assign(end, map->vm_end)
128 tp_assign(flags, map->vm_flags)
129 tp_assign(inode, inode)
130 tp_assign(pgoff, map->vm_pgoff << PAGE_SHIFT)
131 ),
132 TP_printk("")
133)
134
3bc29f0a 135LTTNG_TRACEPOINT_EVENT(lttng_statedump_network_interface,
c337ddc2
MD
136 TP_PROTO(struct lttng_session *session,
137 struct net_device *dev, struct in_ifaddr *ifa),
138 TP_ARGS(session, dev, ifa),
139 TP_STRUCT__entry(
140 __string(name, dev->name)
141 __field_network_hex(uint32_t, address_ipv4)
142 ),
143 TP_fast_assign(
144 tp_strcpy(name, dev->name)
145 tp_assign(address_ipv4, ifa ? ifa->ifa_address : 0U)
146 ),
147 TP_printk("")
148)
149
3bc29f0a 150LTTNG_TRACEPOINT_EVENT(lttng_statedump_block_device,
f0dbdefb
HD
151 TP_PROTO(struct lttng_session *session,
152 dev_t dev, const char *diskname),
153 TP_ARGS(session, dev, diskname),
154 TP_STRUCT__entry(
155 __field(dev_t, dev)
156 __string(diskname, diskname)
157 ),
158 TP_fast_assign(
159 tp_assign(dev, dev)
160 tp_strcpy(diskname, diskname)
161 ),
162 TP_printk("")
163)
164
c337ddc2 165/* Called with desc->lock held */
3bc29f0a 166LTTNG_TRACEPOINT_EVENT(lttng_statedump_interrupt,
c337ddc2
MD
167 TP_PROTO(struct lttng_session *session,
168 unsigned int irq, const char *chip_name,
169 struct irqaction *action),
170 TP_ARGS(session, irq, chip_name, action),
171 TP_STRUCT__entry(
172 __field(unsigned int, irq)
173 __string(name, chip_name)
cc4f887d 174 __string(action, action->name ? : "")
c337ddc2
MD
175 ),
176 TP_fast_assign(
177 tp_assign(irq, irq)
178 tp_strcpy(name, chip_name)
cc4f887d 179 tp_strcpy(action, action->name ? : "")
c337ddc2
MD
180 ),
181 TP_printk("")
182)
183
3bc29f0a 184#endif /* LTTNG_TRACE_LTTNG_STATEDUMP_H */
c337ddc2
MD
185
186/* This part must be outside protection */
187#include "../../../probes/define_trace.h"
This page took 0.033689 seconds and 4 git commands to generate.