2 #define TRACE_SYSTEM rpc
4 #if !defined(LTTNG_TRACE_RPC_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define LTTNG_TRACE_RPC_H
7 #include <probes/lttng-tracepoint-event.h>
8 #include <linux/sunrpc/sched.h>
9 #include <linux/sunrpc/clnt.h>
11 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
12 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status
,
14 TP_PROTO(const struct rpc_task
*task
),
19 ctf_integer(unsigned int, task_id
, task
->tk_pid
)
20 ctf_integer(int, client_id
, task
->tk_client
->cl_clid
)
21 ctf_integer(int, status
, task
->tk_status
)
25 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_call_status
,
26 TP_PROTO(const struct rpc_task
*task
),
31 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_bind_status
,
32 TP_PROTO(const struct rpc_task
*task
),
36 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
37 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status
,
39 TP_PROTO(struct rpc_task
*task
),
44 ctf_integer(unsigned int, task_id
, task
->tk_pid
)
45 ctf_integer(int, client_id
, task
->tk_client
->cl_clid
)
46 ctf_integer(int, status
, task
->tk_status
)
50 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_call_status
,
51 TP_PROTO(struct rpc_task
*task
),
56 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_bind_status
,
57 TP_PROTO(struct rpc_task
*task
),
62 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status
,
64 TP_PROTO(struct rpc_task
*task
),
69 ctf_integer_hex(const struct rpc_task
*, task
, task
)
70 ctf_integer_hex(const struct rpc_clnt
*, clnt
, task
->tk_client
)
71 ctf_integer(int, status
, task
->tk_status
)
75 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_call_status
,
76 TP_PROTO(struct rpc_task
*task
),
81 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_bind_status
,
82 TP_PROTO(struct rpc_task
*task
),
88 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
89 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_status
, rpc_connect_status
,
90 TP_PROTO(const struct rpc_task
*task
),
94 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
95 LTTNG_TRACEPOINT_EVENT(rpc_connect_status
,
96 TP_PROTO(const struct rpc_task
*task
),
101 ctf_integer(unsigned int, task_id
, task
->tk_pid
)
102 ctf_integer(int, client_id
, task
->tk_client
->cl_clid
)
103 ctf_integer(int, status
, task
->tk_status
)
106 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
107 LTTNG_TRACEPOINT_EVENT(rpc_connect_status
,
108 TP_PROTO(struct rpc_task
*task
, int status
),
110 TP_ARGS(task
, status
),
113 ctf_integer(unsigned int, task_id
, task
->tk_pid
)
114 ctf_integer(int, client_id
, task
->tk_client
->cl_clid
)
115 ctf_integer(int, status
, status
)
119 LTTNG_TRACEPOINT_EVENT(rpc_connect_status
,
120 TP_PROTO(struct rpc_task
*task
, int status
),
122 TP_ARGS(task
, status
),
125 ctf_integer_hex(const struct rpc_task
*, task
, task
)
126 ctf_integer_hex(const struct rpc_clnt
*, clnt
, task
->tk_client
)
127 ctf_integer(int, status
, status
)
132 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
133 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running
,
135 TP_PROTO(const struct rpc_task
*task
, const void *action
),
137 TP_ARGS(task
, action
),
140 ctf_integer(unsigned int, task_id
, task
->tk_pid
)
141 ctf_integer(int, client_id
, task
->tk_client
?
142 task
->tk_client
->cl_clid
: -1)
143 ctf_integer_hex(const void *, action
, action
)
144 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
145 ctf_integer(int, status
, task
->tk_status
)
146 ctf_integer(unsigned short, flags
, task
->tk_flags
)
150 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_begin
,
152 TP_PROTO(const struct rpc_task
*task
, const void *action
),
154 TP_ARGS(task
, action
)
157 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_run_action
,
159 TP_PROTO(const struct rpc_task
*task
, const void *action
),
161 TP_ARGS(task
, action
)
164 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_complete
,
166 TP_PROTO(const struct rpc_task
*task
, const void *action
),
168 TP_ARGS(task
, action
)
171 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued
,
173 TP_PROTO(const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
178 ctf_integer(unsigned int, task_id
, task
->tk_pid
)
179 ctf_integer(int, client_id
, task
->tk_client
?
180 task
->tk_client
->cl_clid
: -1)
181 ctf_integer(unsigned long, timeout
, task
->tk_timeout
)
182 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
183 ctf_integer(int, status
, task
->tk_status
)
184 ctf_integer(unsigned short, flags
, task
->tk_flags
)
185 ctf_string(q_name
, rpc_qname(q
))
189 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_sleep
,
191 TP_PROTO(const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
196 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_wakeup
,
198 TP_PROTO(const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
203 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
204 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running
,
206 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
208 TP_ARGS(clnt
, task
, action
),
211 ctf_integer(unsigned int, task_id
, task
->tk_pid
)
212 ctf_integer(int, client_id
, task
->tk_client
?
213 task
->tk_client
->cl_clid
: -1)
214 ctf_integer_hex(const void *, action
, action
)
215 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
216 ctf_integer(int, status
, task
->tk_status
)
217 ctf_integer(unsigned short, flags
, task
->tk_flags
)
221 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_begin
,
223 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
225 TP_ARGS(clnt
, task
, action
)
228 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_run_action
,
230 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
232 TP_ARGS(clnt
, task
, action
)
235 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_complete
,
237 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
239 TP_ARGS(clnt
, task
, action
)
242 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued
,
244 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
246 TP_ARGS(clnt
, task
, q
),
249 ctf_integer(unsigned int, task_id
, task
->tk_pid
)
250 ctf_integer(int, client_id
, task
->tk_client
?
251 task
->tk_client
->cl_clid
: -1)
252 ctf_integer(unsigned long, timeout
, task
->tk_timeout
)
253 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
254 ctf_integer(int, status
, task
->tk_status
)
255 ctf_integer(unsigned short, flags
, task
->tk_flags
)
256 ctf_string(q_name
, rpc_qname(q
))
260 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_sleep
,
262 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
264 TP_ARGS(clnt
, task
, q
)
267 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_wakeup
,
269 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
271 TP_ARGS(clnt
, task
, q
)
275 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running
,
277 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
279 TP_ARGS(clnt
, task
, action
),
282 ctf_integer_hex(const struct rpc_clnt
*, clnt
, clnt
)
283 ctf_integer_hex(const struct rpc_task
*, task
, task
)
284 ctf_integer_hex(const void *, action
, action
)
285 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
286 ctf_integer(int, status
, task
->tk_status
)
287 ctf_integer(unsigned short, flags
, task
->tk_flags
)
291 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_begin
,
293 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
295 TP_ARGS(clnt
, task
, action
)
298 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_run_action
,
300 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
302 TP_ARGS(clnt
, task
, action
)
305 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_running
, rpc_task_complete
,
307 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const void *action
),
309 TP_ARGS(clnt
, task
, action
)
312 LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued
,
314 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
316 TP_ARGS(clnt
, task
, q
),
319 ctf_integer_hex(const struct rpc_clnt
*, clnt
, clnt
)
320 ctf_integer_hex(const struct rpc_task
*, task
, task
)
321 ctf_integer(unsigned long, timeout
, task
->tk_timeout
)
322 ctf_integer(unsigned long, runstate
, task
->tk_runstate
)
323 ctf_integer(int, status
, task
->tk_status
)
324 ctf_integer(unsigned short, flags
, task
->tk_flags
)
325 ctf_string(q_name
, rpc_qname(q
))
329 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_sleep
,
331 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
333 TP_ARGS(clnt
, task
, q
)
336 LTTNG_TRACEPOINT_EVENT_INSTANCE(rpc_task_queued
, rpc_task_wakeup
,
338 TP_PROTO(const struct rpc_clnt
*clnt
, const struct rpc_task
*task
, const struct rpc_wait_queue
*q
),
340 TP_ARGS(clnt
, task
, q
)
344 #endif /* LTTNG_TRACE_RPC_H */
346 #include <probes/define_trace.h>
This page took 0.037819 seconds and 5 git commands to generate.