docs: Add supported versions and fix-backport policy
[lttng-tools.git] / tests / regression / tools / trigger / test_list_triggers_cli
CommitLineData
0de2479d
SM
1#!/bin/bash
2#
3# Copyright (C) - 2020 EfficiOS, inc
4#
5# This library is free software; you can redistribute it and/or modify it under
6# the terms of the GNU Lesser General Public License as published by the Free
7# Software Foundation; version 2.1 of the License.
8#
9# This library is distributed in the hope that it will be useful, but WITHOUT
10# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12# details.
13#
14# You should have received a copy of the GNU Lesser General Public License
15# along with this library; if not, write to the Free Software Foundation, Inc.,
16# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
18# Test the `lttng list-trigger` command line interface.
19
20CURDIR="$(dirname "$0")"
21TESTDIR="$CURDIR/../../.."
22
23# shellcheck source=../../../utils/utils.sh
24source "$TESTDIR/utils/utils.sh"
25
dceffc9e 26NUM_TESTS=150
0de2479d
SM
27
28FULL_LTTNG_BIN="${TESTDIR}/../src/bin/lttng/${LTTNG_BIN}"
29
8d5a3312
MJ
30tmp_stdout=$(mktemp -t test_list_triggers_cli_stdout.XXXXXX)
31tmp_stderr=$(mktemp -t test_list_triggers_cli_stderr.XXXXXX)
32tmp_expected_stdout=$(mktemp -t test_list_triggers_cli_expected_stdout.XXXXXX)
33tmp_expected_stdout_mi=$(mktemp -t test_list_triggers_cli_expected_stdout.mi.XXXXXX)
0de2479d 34uprobe_elf_binary=$(realpath "${TESTDIR}/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary")
8a917ae8 35uprobe_sdt_binary=$(realpath "${TESTDIR}/utils/testapp/userspace-probe-sdt-binary/.libs/userspace-probe-sdt-binary")
19904669 36register_some_triggers_bin=$(realpath "${CURDIR}/utils/register-some-triggers")
0de2479d
SM
37
38uid=$(id --user)
0de2479d 39
3a174400
XC
40sdt_binary_present=0
41if [ -f "$uprobe_sdt_binary" ]; then
42 sdt_binary_present=1
0de2479d
SM
43fi
44
0de2479d
SM
45test_top_level_options ()
46{
be7f9dfc 47 diag "Listing top level options"
0de2479d 48
695f7044 49 lttng_add_trigger_ok "hello" --condition event-rule-matches --type=user --name=test-name --action notify
0de2479d
SM
50
51 cat > "${tmp_expected_stdout}" <<- EOF
1d4b59f2 52 - name: hello
481c5310 53 owner uid: ${uid}
8c1d25ff 54 condition: event rule matches
695f7044 55 rule: test-name (type: user tracepoint)
63dd3d7b 56 errors: none
0de2479d
SM
57 actions:
58 notify
709fb83f
JG
59 errors: none
60 errors: none
0de2479d
SM
61 EOF
62
dceffc9e
JR
63 cat > "${tmp_expected_stdout_mi}" <<- EOF
64 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 65 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
66 <name>list-trigger</name>
67 <output>
68 <triggers>
69 <trigger>
70 <name>hello</name>
71 <owner_uid>${uid}</owner_uid>
72 <condition>
73 <condition_event_rule_matches>
74 <event_rule>
75 <event_rule_user_tracepoint>
76 <name_pattern>test-name</name_pattern>
77 </event_rule_user_tracepoint>
78 </event_rule>
79 <capture_descriptors/>
80 </condition_event_rule_matches>
81 <error_query_results>
82 <error_query_result>
83 <name>discarded tracer messages</name>
84 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
85 <error_query_result_counter>
86 <value>0</value>
87 </error_query_result_counter>
88 </error_query_result>
89 </error_query_results>
90 </condition>
91 <action>
92 <action_list>
93 <action>
94 <action_notify>
95 <rate_policy>
96 <rate_policy_every_n>
97 <interval>1</interval>
98 </rate_policy_every_n>
99 </rate_policy>
100 </action_notify>
101 <error_query_results>
102 <error_query_result>
103 <name>total execution failures</name>
104 <description>Aggregated count of errors encountered when executing the action</description>
105 <error_query_result_counter>
106 <value>0</value>
107 </error_query_result_counter>
108 </error_query_result>
109 </error_query_results>
110 </action>
111 </action_list>
112 </action>
113 <error_query_results/>
114 </trigger>
115 </triggers>
116 </output>
117 </command>
118 EOF
119
be7f9dfc 120 list_triggers_matches_ok "top level options" "${tmp_expected_stdout}"
dceffc9e 121 list_triggers_matches_mi_ok "MI top level options" "${tmp_expected_stdout_mi}"
0de2479d 122
be7f9dfc 123 lttng_remove_trigger_ok "hello"
0de2479d
SM
124}
125
8dbb86b8 126test_event_rule_matches_tracepoint ()
0de2479d 127{
040a195f 128 diag "Listing event-rule-matches tracepoint"
0de2479d 129
695f7044
JR
130 lttng_add_trigger_ok "C" --condition event-rule-matches --type=user --action notify
131 lttng_add_trigger_ok "A" --condition event-rule-matches --name=aaa --type=user --filter 'p == 2' --action notify
132 lttng_add_trigger_ok "D" --condition event-rule-matches --name='hello*' --type=user -x hello2 --exclude-name hello3 -x hello4 --action notify
133 lttng_add_trigger_ok "B" --condition event-rule-matches --type=user --name=gerboise --log-level INFO.. --action notify
134 lttng_add_trigger_ok "E" --condition event-rule-matches --type=user --name=lemming --log-level WARNING --action notify
135 lttng_add_trigger_ok "J" --condition event-rule-matches --type=user --name=lemming --log-level .. --action notify
136 lttng_add_trigger_ok "F" --condition event-rule-matches --type=user --name=capture-payload-field --capture a --action notify
137 lttng_add_trigger_ok "G" --condition event-rule-matches --type=user --name=capture-array --capture 'a[2]' --capture '$ctx.tourlou[18]' --action notify
138 lttng_add_trigger_ok "H" --condition event-rule-matches --type=user --name=capture-chan-ctx --capture '$ctx.vpid' --action notify
139 lttng_add_trigger_ok "I" --condition event-rule-matches --type=user --name=capture-app-ctx --capture '$app.iga:active_clients' --action notify
0de2479d
SM
140
141 cat > "${tmp_expected_stdout}" <<- EOF
1d4b59f2 142 - name: A
481c5310 143 owner uid: ${uid}
8c1d25ff 144 condition: event rule matches
695f7044 145 rule: aaa (type: user tracepoint, filter: p == 2)
63dd3d7b 146 errors: none
0de2479d
SM
147 actions:
148 notify
709fb83f
JG
149 errors: none
150 errors: none
1d4b59f2 151 - name: B
481c5310 152 owner uid: ${uid}
8c1d25ff 153 condition: event rule matches
695f7044 154 rule: gerboise (type: user tracepoint, log level at least INFO)
63dd3d7b 155 errors: none
0de2479d
SM
156 actions:
157 notify
709fb83f
JG
158 errors: none
159 errors: none
1d4b59f2 160 - name: C
481c5310 161 owner uid: ${uid}
8c1d25ff 162 condition: event rule matches
695f7044 163 rule: * (type: user tracepoint)
63dd3d7b 164 errors: none
0de2479d
SM
165 actions:
166 notify
709fb83f
JG
167 errors: none
168 errors: none
1d4b59f2 169 - name: D
481c5310 170 owner uid: ${uid}
8c1d25ff 171 condition: event rule matches
695f7044 172 rule: hello* (type: user tracepoint, exclusions: hello2,hello3,hello4)
63dd3d7b 173 errors: none
0de2479d
SM
174 actions:
175 notify
709fb83f
JG
176 errors: none
177 errors: none
1d4b59f2 178 - name: E
481c5310 179 owner uid: ${uid}
8c1d25ff 180 condition: event rule matches
695f7044 181 rule: lemming (type: user tracepoint, log level is WARNING)
63dd3d7b 182 errors: none
0de2479d
SM
183 actions:
184 notify
709fb83f
JG
185 errors: none
186 errors: none
1d4b59f2 187 - name: F
481c5310 188 owner uid: ${uid}
8c1d25ff 189 condition: event rule matches
695f7044 190 rule: capture-payload-field (type: user tracepoint)
b203b4b0
SM
191 captures:
192 - a
63dd3d7b 193 errors: none
b203b4b0
SM
194 actions:
195 notify
709fb83f
JG
196 errors: none
197 errors: none
1d4b59f2 198 - name: G
481c5310 199 owner uid: ${uid}
8c1d25ff 200 condition: event rule matches
695f7044 201 rule: capture-array (type: user tracepoint)
b203b4b0
SM
202 captures:
203 - a[2]
204 - \$ctx.tourlou[18]
63dd3d7b 205 errors: none
b203b4b0
SM
206 actions:
207 notify
709fb83f
JG
208 errors: none
209 errors: none
1d4b59f2 210 - name: H
481c5310 211 owner uid: ${uid}
8c1d25ff 212 condition: event rule matches
695f7044 213 rule: capture-chan-ctx (type: user tracepoint)
b203b4b0
SM
214 captures:
215 - \$ctx.vpid
63dd3d7b 216 errors: none
b203b4b0
SM
217 actions:
218 notify
709fb83f
JG
219 errors: none
220 errors: none
1d4b59f2 221 - name: I
481c5310 222 owner uid: ${uid}
8c1d25ff 223 condition: event rule matches
695f7044 224 rule: capture-app-ctx (type: user tracepoint)
b203b4b0
SM
225 captures:
226 - \$app.iga:active_clients
63dd3d7b 227 errors: none
b203b4b0
SM
228 actions:
229 notify
709fb83f
JG
230 errors: none
231 errors: none
949f049b 232 - name: J
481c5310 233 owner uid: ${uid}
8c1d25ff 234 condition: event rule matches
695f7044 235 rule: lemming (type: user tracepoint)
63dd3d7b 236 errors: none
949f049b
SM
237 actions:
238 notify
239 errors: none
240 errors: none
0de2479d
SM
241 EOF
242
dceffc9e
JR
243 cat > "${tmp_expected_stdout_mi}" <<- EOF
244 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 245 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
246 <name>list-trigger</name>
247 <output>
248 <triggers>
249 <trigger>
250 <name>A</name>
251 <owner_uid>${uid}</owner_uid>
252 <condition>
253 <condition_event_rule_matches>
254 <event_rule>
255 <event_rule_user_tracepoint>
256 <name_pattern>aaa</name_pattern>
257 <filter_expression>p == 2</filter_expression>
258 </event_rule_user_tracepoint>
259 </event_rule>
260 <capture_descriptors/>
261 </condition_event_rule_matches>
262 <error_query_results>
263 <error_query_result>
264 <name>discarded tracer messages</name>
265 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
266 <error_query_result_counter>
267 <value>0</value>
268 </error_query_result_counter>
269 </error_query_result>
270 </error_query_results>
271 </condition>
272 <action>
273 <action_list>
274 <action>
275 <action_notify>
276 <rate_policy>
277 <rate_policy_every_n>
278 <interval>1</interval>
279 </rate_policy_every_n>
280 </rate_policy>
281 </action_notify>
282 <error_query_results>
283 <error_query_result>
284 <name>total execution failures</name>
285 <description>Aggregated count of errors encountered when executing the action</description>
286 <error_query_result_counter>
287 <value>0</value>
288 </error_query_result_counter>
289 </error_query_result>
290 </error_query_results>
291 </action>
292 </action_list>
293 </action>
294 <error_query_results/>
295 </trigger>
296 <trigger>
297 <name>B</name>
298 <owner_uid>${uid}</owner_uid>
299 <condition>
300 <condition_event_rule_matches>
301 <event_rule>
302 <event_rule_user_tracepoint>
303 <name_pattern>gerboise</name_pattern>
304 <log_level_rule>
305 <log_level_rule_at_least_as_severe_as>
306 <level>6</level>
307 </log_level_rule_at_least_as_severe_as>
308 </log_level_rule>
309 </event_rule_user_tracepoint>
310 </event_rule>
311 <capture_descriptors/>
312 </condition_event_rule_matches>
313 <error_query_results>
314 <error_query_result>
315 <name>discarded tracer messages</name>
316 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
317 <error_query_result_counter>
318 <value>0</value>
319 </error_query_result_counter>
320 </error_query_result>
321 </error_query_results>
322 </condition>
323 <action>
324 <action_list>
325 <action>
326 <action_notify>
327 <rate_policy>
328 <rate_policy_every_n>
329 <interval>1</interval>
330 </rate_policy_every_n>
331 </rate_policy>
332 </action_notify>
333 <error_query_results>
334 <error_query_result>
335 <name>total execution failures</name>
336 <description>Aggregated count of errors encountered when executing the action</description>
337 <error_query_result_counter>
338 <value>0</value>
339 </error_query_result_counter>
340 </error_query_result>
341 </error_query_results>
342 </action>
343 </action_list>
344 </action>
345 <error_query_results/>
346 </trigger>
347 <trigger>
348 <name>C</name>
349 <owner_uid>${uid}</owner_uid>
350 <condition>
351 <condition_event_rule_matches>
352 <event_rule>
353 <event_rule_user_tracepoint>
354 <name_pattern>*</name_pattern>
355 </event_rule_user_tracepoint>
356 </event_rule>
357 <capture_descriptors/>
358 </condition_event_rule_matches>
359 <error_query_results>
360 <error_query_result>
361 <name>discarded tracer messages</name>
362 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
363 <error_query_result_counter>
364 <value>0</value>
365 </error_query_result_counter>
366 </error_query_result>
367 </error_query_results>
368 </condition>
369 <action>
370 <action_list>
371 <action>
372 <action_notify>
373 <rate_policy>
374 <rate_policy_every_n>
375 <interval>1</interval>
376 </rate_policy_every_n>
377 </rate_policy>
378 </action_notify>
379 <error_query_results>
380 <error_query_result>
381 <name>total execution failures</name>
382 <description>Aggregated count of errors encountered when executing the action</description>
383 <error_query_result_counter>
384 <value>0</value>
385 </error_query_result_counter>
386 </error_query_result>
387 </error_query_results>
388 </action>
389 </action_list>
390 </action>
391 <error_query_results/>
392 </trigger>
393 <trigger>
394 <name>D</name>
395 <owner_uid>${uid}</owner_uid>
396 <condition>
397 <condition_event_rule_matches>
398 <event_rule>
399 <event_rule_user_tracepoint>
400 <name_pattern>hello*</name_pattern>
401 <name_pattern_exclusions>
402 <name_pattern_exclusion>hello2</name_pattern_exclusion>
403 <name_pattern_exclusion>hello3</name_pattern_exclusion>
404 <name_pattern_exclusion>hello4</name_pattern_exclusion>
405 </name_pattern_exclusions>
406 </event_rule_user_tracepoint>
407 </event_rule>
408 <capture_descriptors/>
409 </condition_event_rule_matches>
410 <error_query_results>
411 <error_query_result>
412 <name>discarded tracer messages</name>
413 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
414 <error_query_result_counter>
415 <value>0</value>
416 </error_query_result_counter>
417 </error_query_result>
418 </error_query_results>
419 </condition>
420 <action>
421 <action_list>
422 <action>
423 <action_notify>
424 <rate_policy>
425 <rate_policy_every_n>
426 <interval>1</interval>
427 </rate_policy_every_n>
428 </rate_policy>
429 </action_notify>
430 <error_query_results>
431 <error_query_result>
432 <name>total execution failures</name>
433 <description>Aggregated count of errors encountered when executing the action</description>
434 <error_query_result_counter>
435 <value>0</value>
436 </error_query_result_counter>
437 </error_query_result>
438 </error_query_results>
439 </action>
440 </action_list>
441 </action>
442 <error_query_results/>
443 </trigger>
444 <trigger>
445 <name>E</name>
446 <owner_uid>${uid}</owner_uid>
447 <condition>
448 <condition_event_rule_matches>
449 <event_rule>
450 <event_rule_user_tracepoint>
451 <name_pattern>lemming</name_pattern>
452 <log_level_rule>
453 <log_level_rule_exactly>
454 <level>4</level>
455 </log_level_rule_exactly>
456 </log_level_rule>
457 </event_rule_user_tracepoint>
458 </event_rule>
459 <capture_descriptors/>
460 </condition_event_rule_matches>
461 <error_query_results>
462 <error_query_result>
463 <name>discarded tracer messages</name>
464 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
465 <error_query_result_counter>
466 <value>0</value>
467 </error_query_result_counter>
468 </error_query_result>
469 </error_query_results>
470 </condition>
471 <action>
472 <action_list>
473 <action>
474 <action_notify>
475 <rate_policy>
476 <rate_policy_every_n>
477 <interval>1</interval>
478 </rate_policy_every_n>
479 </rate_policy>
480 </action_notify>
481 <error_query_results>
482 <error_query_result>
483 <name>total execution failures</name>
484 <description>Aggregated count of errors encountered when executing the action</description>
485 <error_query_result_counter>
486 <value>0</value>
487 </error_query_result_counter>
488 </error_query_result>
489 </error_query_results>
490 </action>
491 </action_list>
492 </action>
493 <error_query_results/>
494 </trigger>
495 <trigger>
496 <name>F</name>
497 <owner_uid>${uid}</owner_uid>
498 <condition>
499 <condition_event_rule_matches>
500 <event_rule>
501 <event_rule_user_tracepoint>
502 <name_pattern>capture-payload-field</name_pattern>
503 </event_rule_user_tracepoint>
504 </event_rule>
505 <capture_descriptors>
506 <event_expr>
507 <event_expr_payload_field>
508 <name>a</name>
509 </event_expr_payload_field>
510 </event_expr>
511 </capture_descriptors>
512 </condition_event_rule_matches>
513 <error_query_results>
514 <error_query_result>
515 <name>discarded tracer messages</name>
516 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
517 <error_query_result_counter>
518 <value>0</value>
519 </error_query_result_counter>
520 </error_query_result>
521 </error_query_results>
522 </condition>
523 <action>
524 <action_list>
525 <action>
526 <action_notify>
527 <rate_policy>
528 <rate_policy_every_n>
529 <interval>1</interval>
530 </rate_policy_every_n>
531 </rate_policy>
532 </action_notify>
533 <error_query_results>
534 <error_query_result>
535 <name>total execution failures</name>
536 <description>Aggregated count of errors encountered when executing the action</description>
537 <error_query_result_counter>
538 <value>0</value>
539 </error_query_result_counter>
540 </error_query_result>
541 </error_query_results>
542 </action>
543 </action_list>
544 </action>
545 <error_query_results/>
546 </trigger>
547 <trigger>
548 <name>G</name>
549 <owner_uid>${uid}</owner_uid>
550 <condition>
551 <condition_event_rule_matches>
552 <event_rule>
553 <event_rule_user_tracepoint>
554 <name_pattern>capture-array</name_pattern>
555 </event_rule_user_tracepoint>
556 </event_rule>
557 <capture_descriptors>
558 <event_expr>
559 <event_expr_array_field_element>
560 <index>2</index>
561 <event_expr>
562 <event_expr_payload_field>
563 <name>a</name>
564 </event_expr_payload_field>
565 </event_expr>
566 </event_expr_array_field_element>
567 </event_expr>
568 <event_expr>
569 <event_expr_array_field_element>
570 <index>18</index>
571 <event_expr>
572 <event_expr_channel_context_field>
573 <name>tourlou</name>
574 </event_expr_channel_context_field>
575 </event_expr>
576 </event_expr_array_field_element>
577 </event_expr>
578 </capture_descriptors>
579 </condition_event_rule_matches>
580 <error_query_results>
581 <error_query_result>
582 <name>discarded tracer messages</name>
583 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
584 <error_query_result_counter>
585 <value>0</value>
586 </error_query_result_counter>
587 </error_query_result>
588 </error_query_results>
589 </condition>
590 <action>
591 <action_list>
592 <action>
593 <action_notify>
594 <rate_policy>
595 <rate_policy_every_n>
596 <interval>1</interval>
597 </rate_policy_every_n>
598 </rate_policy>
599 </action_notify>
600 <error_query_results>
601 <error_query_result>
602 <name>total execution failures</name>
603 <description>Aggregated count of errors encountered when executing the action</description>
604 <error_query_result_counter>
605 <value>0</value>
606 </error_query_result_counter>
607 </error_query_result>
608 </error_query_results>
609 </action>
610 </action_list>
611 </action>
612 <error_query_results/>
613 </trigger>
614 <trigger>
615 <name>H</name>
616 <owner_uid>${uid}</owner_uid>
617 <condition>
618 <condition_event_rule_matches>
619 <event_rule>
620 <event_rule_user_tracepoint>
621 <name_pattern>capture-chan-ctx</name_pattern>
622 </event_rule_user_tracepoint>
623 </event_rule>
624 <capture_descriptors>
625 <event_expr>
626 <event_expr_channel_context_field>
627 <name>vpid</name>
628 </event_expr_channel_context_field>
629 </event_expr>
630 </capture_descriptors>
631 </condition_event_rule_matches>
632 <error_query_results>
633 <error_query_result>
634 <name>discarded tracer messages</name>
635 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
636 <error_query_result_counter>
637 <value>0</value>
638 </error_query_result_counter>
639 </error_query_result>
640 </error_query_results>
641 </condition>
642 <action>
643 <action_list>
644 <action>
645 <action_notify>
646 <rate_policy>
647 <rate_policy_every_n>
648 <interval>1</interval>
649 </rate_policy_every_n>
650 </rate_policy>
651 </action_notify>
652 <error_query_results>
653 <error_query_result>
654 <name>total execution failures</name>
655 <description>Aggregated count of errors encountered when executing the action</description>
656 <error_query_result_counter>
657 <value>0</value>
658 </error_query_result_counter>
659 </error_query_result>
660 </error_query_results>
661 </action>
662 </action_list>
663 </action>
664 <error_query_results/>
665 </trigger>
666 <trigger>
667 <name>I</name>
668 <owner_uid>${uid}</owner_uid>
669 <condition>
670 <condition_event_rule_matches>
671 <event_rule>
672 <event_rule_user_tracepoint>
673 <name_pattern>capture-app-ctx</name_pattern>
674 </event_rule_user_tracepoint>
675 </event_rule>
676 <capture_descriptors>
677 <event_expr>
678 <event_expr_app_specific_context_field>
679 <provider_name>iga</provider_name>
680 <type_name>active_clients</type_name>
681 </event_expr_app_specific_context_field>
682 </event_expr>
683 </capture_descriptors>
684 </condition_event_rule_matches>
685 <error_query_results>
686 <error_query_result>
687 <name>discarded tracer messages</name>
688 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
689 <error_query_result_counter>
690 <value>0</value>
691 </error_query_result_counter>
692 </error_query_result>
693 </error_query_results>
694 </condition>
695 <action>
696 <action_list>
697 <action>
698 <action_notify>
699 <rate_policy>
700 <rate_policy_every_n>
701 <interval>1</interval>
702 </rate_policy_every_n>
703 </rate_policy>
704 </action_notify>
705 <error_query_results>
706 <error_query_result>
707 <name>total execution failures</name>
708 <description>Aggregated count of errors encountered when executing the action</description>
709 <error_query_result_counter>
710 <value>0</value>
711 </error_query_result_counter>
712 </error_query_result>
713 </error_query_results>
714 </action>
715 </action_list>
716 </action>
717 <error_query_results/>
718 </trigger>
719 <trigger>
720 <name>J</name>
721 <owner_uid>${uid}</owner_uid>
722 <condition>
723 <condition_event_rule_matches>
724 <event_rule>
725 <event_rule_user_tracepoint>
726 <name_pattern>lemming</name_pattern>
727 </event_rule_user_tracepoint>
728 </event_rule>
729 <capture_descriptors/>
730 </condition_event_rule_matches>
731 <error_query_results>
732 <error_query_result>
733 <name>discarded tracer messages</name>
734 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
735 <error_query_result_counter>
736 <value>0</value>
737 </error_query_result_counter>
738 </error_query_result>
739 </error_query_results>
740 </condition>
741 <action>
742 <action_list>
743 <action>
744 <action_notify>
745 <rate_policy>
746 <rate_policy_every_n>
747 <interval>1</interval>
748 </rate_policy_every_n>
749 </rate_policy>
750 </action_notify>
751 <error_query_results>
752 <error_query_result>
753 <name>total execution failures</name>
754 <description>Aggregated count of errors encountered when executing the action</description>
755 <error_query_result_counter>
756 <value>0</value>
757 </error_query_result_counter>
758 </error_query_result>
759 </error_query_results>
760 </action>
761 </action_list>
762 </action>
763 <error_query_results/>
764 </trigger>
765 </triggers>
766 </output>
767 </command>
768 EOF
769
665db063 770 list_triggers_matches_ok "event-rule-matches, tracepoint event rule" "${tmp_expected_stdout}"
dceffc9e 771 list_triggers_matches_mi_ok "MI event-rule-matches, tracepoint event rule" "${tmp_expected_stdout_mi}"
be7f9dfc
FD
772
773 lttng_remove_trigger_ok "A"
774 lttng_remove_trigger_ok "B"
775 lttng_remove_trigger_ok "C"
776 lttng_remove_trigger_ok "D"
777 lttng_remove_trigger_ok "E"
778 lttng_remove_trigger_ok "F"
779 lttng_remove_trigger_ok "G"
780 lttng_remove_trigger_ok "H"
781 lttng_remove_trigger_ok "I"
949f049b 782 lttng_remove_trigger_ok "J"
0de2479d
SM
783}
784
8dbb86b8 785test_event_rule_matches_probe ()
0de2479d
SM
786{
787 local channel_enable_addr
788 local channel_disable_addr
789
040a195f 790 diag "Listing event-rule-matches kernel probe"
0de2479d 791
907f5c48
JG
792 channel_enable_addr=$(grep '\<lttng_channel_enable\>' /proc/kallsyms | cut -f 1 -d ' ')
793 channel_disable_addr=$(grep '\<lttng_channel_disable\>' /proc/kallsyms | cut -f 1 -d ' ')
0de2479d
SM
794
795 # We need to find a valid offset.
796 base_symbol=""
797 offset=0
798 if [[ 0x$channel_enable_addr -lt 0x$channel_disable_addr ]]; then
799 base_symbol="lttng_channel_enable"
800 offset=$(( 0x$channel_disable_addr - 0x$channel_enable_addr ))
801 else
802 base_symbol="lttng_channel_disable"
803 offset=$(( 0x$channel_enable_addr - 0x$channel_disable_addr ))
804 fi
805
806 offset_hex="0x$(printf '%x' $offset)"
2c8657f6 807 channel_enable_addr_decimal=$(printf '%u' 0x"${channel_enable_addr}")
0de2479d 808
695f7044
JR
809 lttng_add_trigger_ok "T0" --condition event-rule-matches --type=kprobe --location=lttng_channel_enable --event-name=my_channel_enable --action notify
810 lttng_add_trigger_ok "T1" --condition event-rule-matches --type=kprobe --location="${base_symbol}+${offset_hex}" --event-name=my_channel_enable --action notify
811 lttng_add_trigger_ok "T2" --condition event-rule-matches --type=kprobe --location="0x${channel_enable_addr}" --event-name=my_channel_enable --action notify
0de2479d
SM
812
813 cat > "${tmp_expected_stdout}" <<- EOF
1d4b59f2 814 - name: T0
481c5310 815 owner uid: ${uid}
8c1d25ff 816 condition: event rule matches
85522de5 817 rule: my_channel_enable (type: kernel:kprobe, location: lttng_channel_enable)
63dd3d7b 818 errors: none
0de2479d
SM
819 actions:
820 notify
709fb83f
JG
821 errors: none
822 errors: none
1d4b59f2 823 - name: T1
481c5310 824 owner uid: ${uid}
8c1d25ff 825 condition: event rule matches
85522de5 826 rule: my_channel_enable (type: kernel:kprobe, location: ${base_symbol}+${offset_hex})
63dd3d7b 827 errors: none
0de2479d
SM
828 actions:
829 notify
709fb83f
JG
830 errors: none
831 errors: none
1d4b59f2 832 - name: T2
481c5310 833 owner uid: ${uid}
8c1d25ff 834 condition: event rule matches
85522de5 835 rule: my_channel_enable (type: kernel:kprobe, location: 0x${channel_enable_addr})
63dd3d7b 836 errors: none
0de2479d
SM
837 actions:
838 notify
709fb83f
JG
839 errors: none
840 errors: none
0de2479d
SM
841 EOF
842
dceffc9e
JR
843 cat > "${tmp_expected_stdout_mi}" <<- EOF
844 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 845 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
846 <name>list-trigger</name>
847 <output>
848 <triggers>
849 <trigger>
850 <name>T0</name>
851 <owner_uid>${uid}</owner_uid>
852 <condition>
853 <condition_event_rule_matches>
854 <event_rule>
855 <event_rule_kernel_kprobe>
856 <event_name>my_channel_enable</event_name>
857 <kernel_probe_location>
858 <kernel_probe_location_symbol_offset>
859 <name>lttng_channel_enable</name>
860 <offset>0</offset>
861 </kernel_probe_location_symbol_offset>
862 </kernel_probe_location>
863 </event_rule_kernel_kprobe>
864 </event_rule>
865 <capture_descriptors/>
866 </condition_event_rule_matches>
867 <error_query_results>
868 <error_query_result>
869 <name>discarded tracer messages</name>
870 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
871 <error_query_result_counter>
872 <value>0</value>
873 </error_query_result_counter>
874 </error_query_result>
875 </error_query_results>
876 </condition>
877 <action>
878 <action_list>
879 <action>
880 <action_notify>
881 <rate_policy>
882 <rate_policy_every_n>
883 <interval>1</interval>
884 </rate_policy_every_n>
885 </rate_policy>
886 </action_notify>
887 <error_query_results>
888 <error_query_result>
889 <name>total execution failures</name>
890 <description>Aggregated count of errors encountered when executing the action</description>
891 <error_query_result_counter>
892 <value>0</value>
893 </error_query_result_counter>
894 </error_query_result>
895 </error_query_results>
896 </action>
897 </action_list>
898 </action>
899 <error_query_results/>
900 </trigger>
901 <trigger>
902 <name>T1</name>
903 <owner_uid>${uid}</owner_uid>
904 <condition>
905 <condition_event_rule_matches>
906 <event_rule>
907 <event_rule_kernel_kprobe>
908 <event_name>my_channel_enable</event_name>
909 <kernel_probe_location>
910 <kernel_probe_location_symbol_offset>
911 <name>${base_symbol}</name>
912 <offset>${offset}</offset>
913 </kernel_probe_location_symbol_offset>
914 </kernel_probe_location>
915 </event_rule_kernel_kprobe>
916 </event_rule>
917 <capture_descriptors/>
918 </condition_event_rule_matches>
919 <error_query_results>
920 <error_query_result>
921 <name>discarded tracer messages</name>
922 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
923 <error_query_result_counter>
924 <value>0</value>
925 </error_query_result_counter>
926 </error_query_result>
927 </error_query_results>
928 </condition>
929 <action>
930 <action_list>
931 <action>
932 <action_notify>
933 <rate_policy>
934 <rate_policy_every_n>
935 <interval>1</interval>
936 </rate_policy_every_n>
937 </rate_policy>
938 </action_notify>
939 <error_query_results>
940 <error_query_result>
941 <name>total execution failures</name>
942 <description>Aggregated count of errors encountered when executing the action</description>
943 <error_query_result_counter>
944 <value>0</value>
945 </error_query_result_counter>
946 </error_query_result>
947 </error_query_results>
948 </action>
949 </action_list>
950 </action>
951 <error_query_results/>
952 </trigger>
953 <trigger>
954 <name>T2</name>
955 <owner_uid>${uid}</owner_uid>
956 <condition>
957 <condition_event_rule_matches>
958 <event_rule>
959 <event_rule_kernel_kprobe>
960 <event_name>my_channel_enable</event_name>
961 <kernel_probe_location>
962 <kernel_probe_location_address>
963 <address>${channel_enable_addr_decimal}</address>
964 </kernel_probe_location_address>
965 </kernel_probe_location>
966 </event_rule_kernel_kprobe>
967 </event_rule>
968 <capture_descriptors/>
969 </condition_event_rule_matches>
970 <error_query_results>
971 <error_query_result>
972 <name>discarded tracer messages</name>
973 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
974 <error_query_result_counter>
975 <value>0</value>
976 </error_query_result_counter>
977 </error_query_result>
978 </error_query_results>
979 </condition>
980 <action>
981 <action_list>
982 <action>
983 <action_notify>
984 <rate_policy>
985 <rate_policy_every_n>
986 <interval>1</interval>
987 </rate_policy_every_n>
988 </rate_policy>
989 </action_notify>
990 <error_query_results>
991 <error_query_result>
992 <name>total execution failures</name>
993 <description>Aggregated count of errors encountered when executing the action</description>
994 <error_query_result_counter>
995 <value>0</value>
996 </error_query_result_counter>
997 </error_query_result>
998 </error_query_results>
999 </action>
1000 </action_list>
1001 </action>
1002 <error_query_results/>
1003 </trigger>
1004 </triggers>
1005 </output>
1006 </command>
1007 EOF
1008
665db063 1009 list_triggers_matches_ok "event-rule-matches, probe event rule" "${tmp_expected_stdout}"
dceffc9e 1010 list_triggers_matches_mi_ok "MI event-rule-matches, probe event rule" "${tmp_expected_stdout_mi}"
0de2479d 1011
be7f9dfc
FD
1012 lttng_remove_trigger_ok "T0"
1013 lttng_remove_trigger_ok "T1"
1014 lttng_remove_trigger_ok "T2"
0de2479d
SM
1015}
1016
8dbb86b8 1017test_event_rule_matches_userspace_probe_elf ()
0de2479d 1018{
be7f9dfc
FD
1019 local elf_function_name="test_function"
1020
040a195f 1021 diag "Listing event-rule-matches userspace-probe elf"
0de2479d 1022
695f7044 1023 lttng_add_trigger_ok "T0" --condition event-rule-matches --type=kernel:uprobe --location=${uprobe_elf_binary}:test_function --event-name=ma-probe-elf --action notify
0de2479d
SM
1024
1025 cat > "${tmp_expected_stdout}" <<- EOF
1d4b59f2 1026 - name: T0
481c5310 1027 owner uid: ${uid}
8c1d25ff 1028 condition: event rule matches
46fd07ac 1029 rule: ma-probe-elf (type: kernel:uprobe, location type: ELF, location: ${uprobe_elf_binary}:${elf_function_name})
63dd3d7b 1030 errors: none
0de2479d
SM
1031 actions:
1032 notify
709fb83f
JG
1033 errors: none
1034 errors: none
0de2479d
SM
1035 EOF
1036
dceffc9e
JR
1037 cat > "${tmp_expected_stdout_mi}" <<- EOF
1038 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 1039 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
1040 <name>list-trigger</name>
1041 <output>
1042 <triggers>
1043 <trigger>
1044 <name>T0</name>
1045 <owner_uid>${uid}</owner_uid>
1046 <condition>
1047 <condition_event_rule_matches>
1048 <event_rule>
1049 <event_rule_kernel_uprobe>
1050 <event_name>ma-probe-elf</event_name>
1051 <userspace_probe_location>
1052 <userspace_probe_location_function>
1053 <name>${elf_function_name}</name>
1054 <binary_path>${uprobe_elf_binary}</binary_path>
1055 <instrumentation_type>ENTRY</instrumentation_type>
1056 <userspace_probe_location_lookup_method>
1057 <userspace_probe_location_lookup_method_function_elf/>
1058 </userspace_probe_location_lookup_method>
1059 </userspace_probe_location_function>
1060 </userspace_probe_location>
1061 </event_rule_kernel_uprobe>
1062 </event_rule>
1063 <capture_descriptors/>
1064 </condition_event_rule_matches>
1065 <error_query_results>
1066 <error_query_result>
1067 <name>discarded tracer messages</name>
1068 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
1069 <error_query_result_counter>
1070 <value>0</value>
1071 </error_query_result_counter>
1072 </error_query_result>
1073 </error_query_results>
1074 </condition>
1075 <action>
1076 <action_list>
1077 <action>
1078 <action_notify>
1079 <rate_policy>
1080 <rate_policy_every_n>
1081 <interval>1</interval>
1082 </rate_policy_every_n>
1083 </rate_policy>
1084 </action_notify>
1085 <error_query_results>
1086 <error_query_result>
1087 <name>total execution failures</name>
1088 <description>Aggregated count of errors encountered when executing the action</description>
1089 <error_query_result_counter>
1090 <value>0</value>
1091 </error_query_result_counter>
1092 </error_query_result>
1093 </error_query_results>
1094 </action>
1095 </action_list>
1096 </action>
1097 <error_query_results/>
1098 </trigger>
1099 </triggers>
1100 </output>
1101 </command>
1102 EOF
1103
665db063 1104 list_triggers_matches_ok "event-rule-matches, userspace-probe event rule" "${tmp_expected_stdout}"
dceffc9e 1105 list_triggers_matches_mi_ok "MI event-rule-matches, userspace-probe event rule" "${tmp_expected_stdout_mi}"
0de2479d 1106
be7f9dfc 1107 lttng_remove_trigger_ok "T0"
0de2479d
SM
1108}
1109
8dbb86b8 1110test_event_rule_matches_userspace_probe_sdt ()
8a917ae8 1111{
8a917ae8
FD
1112 local sdt_provider_name="foobar"
1113 local sdt_probe_name="tp1"
1114
040a195f 1115 diag "Listing event-rule-matches userspace-probe sdt"
8a917ae8 1116
695f7044 1117 lttng_add_trigger_ok "T0" --condition event-rule-matches --type=kernel:uprobe --location=sdt:${uprobe_sdt_binary}:${sdt_provider_name}:${sdt_probe_name} --event-name=ma-probe-sdt --action notify
8a917ae8
FD
1118
1119 cat > "${tmp_expected_stdout}" <<- EOF
040a195f
FD
1120 - name: T0
1121 owner uid: 0
8c1d25ff 1122 condition: event rule matches
46fd07ac 1123 rule: ma-probe-sdt (type: kernel:uprobe, location type: SDT, location: ${uprobe_sdt_binary}:${sdt_provider_name}:${sdt_probe_name})
63dd3d7b 1124 errors: none
8a917ae8
FD
1125 actions:
1126 notify
1127 errors: none
1128 errors: none
1129 EOF
1130
dceffc9e
JR
1131 cat > "${tmp_expected_stdout_mi}" <<- EOF
1132 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 1133 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
1134 <name>list-trigger</name>
1135 <output>
1136 <triggers>
1137 <trigger>
1138 <name>T0</name>
1139 <owner_uid>${uid}</owner_uid>
1140 <condition>
1141 <condition_event_rule_matches>
1142 <event_rule>
1143 <event_rule_kernel_uprobe>
1144 <event_name>ma-probe-sdt</event_name>
1145 <userspace_probe_location>
1146 <userspace_probe_location_tracepoint>
1147 <probe_name>${sdt_probe_name}</probe_name>
1148 <provider_name>${sdt_provider_name}</provider_name>
1149 <binary_path>${uprobe_sdt_binary}</binary_path>
1150 <userspace_probe_location_lookup_method>
1151 <userspace_probe_location_lookup_method_tracepoint_sdt/>
1152 </userspace_probe_location_lookup_method>
1153 </userspace_probe_location_tracepoint>
1154 </userspace_probe_location>
1155 </event_rule_kernel_uprobe>
1156 </event_rule>
1157 <capture_descriptors/>
1158 </condition_event_rule_matches>
1159 <error_query_results>
1160 <error_query_result>
1161 <name>discarded tracer messages</name>
1162 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
1163 <error_query_result_counter>
1164 <value>0</value>
1165 </error_query_result_counter>
1166 </error_query_result>
1167 </error_query_results>
1168 </condition>
1169 <action>
1170 <action_list>
1171 <action>
1172 <action_notify>
1173 <rate_policy>
1174 <rate_policy_every_n>
1175 <interval>1</interval>
1176 </rate_policy_every_n>
1177 </rate_policy>
1178 </action_notify>
1179 <error_query_results>
1180 <error_query_result>
1181 <name>total execution failures</name>
1182 <description>Aggregated count of errors encountered when executing the action</description>
1183 <error_query_result_counter>
1184 <value>0</value>
1185 </error_query_result_counter>
1186 </error_query_result>
1187 </error_query_results>
1188 </action>
1189 </action_list>
1190 </action>
1191 <error_query_results/>
1192 </trigger>
1193 </triggers>
1194 </output>
1195 </command>
1196 EOF
1197
040a195f 1198 list_triggers_matches_ok "event-rule-matches, userspace-probe event rule SDT" "${tmp_expected_stdout}"
dceffc9e 1199 list_triggers_matches_mi_ok "MI event-rule-matches, userspace-probe event rule SDT" "${tmp_expected_stdout_mi}"
8a917ae8
FD
1200
1201 lttng_remove_trigger_ok "T0"
1202}
1203
8dbb86b8 1204test_event_rule_matches_syscall ()
0de2479d 1205{
040a195f 1206 diag "Listing event-rule-matches syscall"
0de2479d 1207
695f7044
JR
1208 lttng_add_trigger_ok "T0" --condition event-rule-matches --type=syscall --name=open --action notify
1209 lttng_add_trigger_ok "T1" --condition event-rule-matches --type=syscall:entry --name=open --action notify
1210 lttng_add_trigger_ok "T2" --condition event-rule-matches --type=syscall:exit --name=open --action notify
1211 lttng_add_trigger_ok "T3" --condition event-rule-matches --type=syscall:entry+exit --name=open --action notify
1212 lttng_add_trigger_ok "T4" --condition event-rule-matches --type=syscall --name=ptrace --filter 'a > 2' --action notify
0de2479d
SM
1213
1214 cat > "${tmp_expected_stdout}" <<- EOF
1d4b59f2 1215 - name: T0
481c5310 1216 owner uid: ${uid}
8c1d25ff 1217 condition: event rule matches
4f7da553 1218 rule: open (type: kernel:syscall:entry+exit)
63dd3d7b 1219 errors: none
0de2479d
SM
1220 actions:
1221 notify
709fb83f
JG
1222 errors: none
1223 errors: none
1d4b59f2 1224 - name: T1
481c5310 1225 owner uid: ${uid}
8c1d25ff 1226 condition: event rule matches
4f7da553 1227 rule: open (type: kernel:syscall:entry)
63dd3d7b 1228 errors: none
57739a6b
JR
1229 actions:
1230 notify
1231 errors: none
1232 errors: none
1233 - name: T2
1234 owner uid: ${uid}
8c1d25ff 1235 condition: event rule matches
4f7da553 1236 rule: open (type: kernel:syscall:exit)
63dd3d7b 1237 errors: none
57739a6b
JR
1238 actions:
1239 notify
1240 errors: none
1241 errors: none
1242 - name: T3
1243 owner uid: ${uid}
8c1d25ff 1244 condition: event rule matches
4f7da553 1245 rule: open (type: kernel:syscall:entry+exit)
63dd3d7b 1246 errors: none
57739a6b
JR
1247 actions:
1248 notify
1249 errors: none
1250 errors: none
1251 - name: T4
1252 owner uid: ${uid}
8c1d25ff 1253 condition: event rule matches
4f7da553 1254 rule: ptrace (type: kernel:syscall:entry+exit, filter: a > 2)
63dd3d7b 1255 errors: none
0de2479d
SM
1256 actions:
1257 notify
709fb83f
JG
1258 errors: none
1259 errors: none
0de2479d
SM
1260 EOF
1261
dceffc9e
JR
1262 cat > "${tmp_expected_stdout_mi}" <<- EOF
1263 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 1264 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
1265 <name>list-trigger</name>
1266 <output>
1267 <triggers>
1268 <trigger>
1269 <name>T0</name>
1270 <owner_uid>${uid}</owner_uid>
1271 <condition>
1272 <condition_event_rule_matches>
1273 <event_rule>
1274 <event_rule_kernel_syscall>
1275 <emission_site>entry+exit</emission_site>
1276 <name_pattern>open</name_pattern>
1277 </event_rule_kernel_syscall>
1278 </event_rule>
1279 <capture_descriptors/>
1280 </condition_event_rule_matches>
1281 <error_query_results>
1282 <error_query_result>
1283 <name>discarded tracer messages</name>
1284 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
1285 <error_query_result_counter>
1286 <value>0</value>
1287 </error_query_result_counter>
1288 </error_query_result>
1289 </error_query_results>
1290 </condition>
1291 <action>
1292 <action_list>
1293 <action>
1294 <action_notify>
1295 <rate_policy>
1296 <rate_policy_every_n>
1297 <interval>1</interval>
1298 </rate_policy_every_n>
1299 </rate_policy>
1300 </action_notify>
1301 <error_query_results>
1302 <error_query_result>
1303 <name>total execution failures</name>
1304 <description>Aggregated count of errors encountered when executing the action</description>
1305 <error_query_result_counter>
1306 <value>0</value>
1307 </error_query_result_counter>
1308 </error_query_result>
1309 </error_query_results>
1310 </action>
1311 </action_list>
1312 </action>
1313 <error_query_results/>
1314 </trigger>
1315 <trigger>
1316 <name>T1</name>
1317 <owner_uid>${uid}</owner_uid>
1318 <condition>
1319 <condition_event_rule_matches>
1320 <event_rule>
1321 <event_rule_kernel_syscall>
1322 <emission_site>entry</emission_site>
1323 <name_pattern>open</name_pattern>
1324 </event_rule_kernel_syscall>
1325 </event_rule>
1326 <capture_descriptors/>
1327 </condition_event_rule_matches>
1328 <error_query_results>
1329 <error_query_result>
1330 <name>discarded tracer messages</name>
1331 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
1332 <error_query_result_counter>
1333 <value>0</value>
1334 </error_query_result_counter>
1335 </error_query_result>
1336 </error_query_results>
1337 </condition>
1338 <action>
1339 <action_list>
1340 <action>
1341 <action_notify>
1342 <rate_policy>
1343 <rate_policy_every_n>
1344 <interval>1</interval>
1345 </rate_policy_every_n>
1346 </rate_policy>
1347 </action_notify>
1348 <error_query_results>
1349 <error_query_result>
1350 <name>total execution failures</name>
1351 <description>Aggregated count of errors encountered when executing the action</description>
1352 <error_query_result_counter>
1353 <value>0</value>
1354 </error_query_result_counter>
1355 </error_query_result>
1356 </error_query_results>
1357 </action>
1358 </action_list>
1359 </action>
1360 <error_query_results/>
1361 </trigger>
1362 <trigger>
1363 <name>T2</name>
1364 <owner_uid>${uid}</owner_uid>
1365 <condition>
1366 <condition_event_rule_matches>
1367 <event_rule>
1368 <event_rule_kernel_syscall>
1369 <emission_site>exit</emission_site>
1370 <name_pattern>open</name_pattern>
1371 </event_rule_kernel_syscall>
1372 </event_rule>
1373 <capture_descriptors/>
1374 </condition_event_rule_matches>
1375 <error_query_results>
1376 <error_query_result>
1377 <name>discarded tracer messages</name>
1378 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
1379 <error_query_result_counter>
1380 <value>0</value>
1381 </error_query_result_counter>
1382 </error_query_result>
1383 </error_query_results>
1384 </condition>
1385 <action>
1386 <action_list>
1387 <action>
1388 <action_notify>
1389 <rate_policy>
1390 <rate_policy_every_n>
1391 <interval>1</interval>
1392 </rate_policy_every_n>
1393 </rate_policy>
1394 </action_notify>
1395 <error_query_results>
1396 <error_query_result>
1397 <name>total execution failures</name>
1398 <description>Aggregated count of errors encountered when executing the action</description>
1399 <error_query_result_counter>
1400 <value>0</value>
1401 </error_query_result_counter>
1402 </error_query_result>
1403 </error_query_results>
1404 </action>
1405 </action_list>
1406 </action>
1407 <error_query_results/>
1408 </trigger>
1409 <trigger>
1410 <name>T3</name>
1411 <owner_uid>${uid}</owner_uid>
1412 <condition>
1413 <condition_event_rule_matches>
1414 <event_rule>
1415 <event_rule_kernel_syscall>
1416 <emission_site>entry+exit</emission_site>
1417 <name_pattern>open</name_pattern>
1418 </event_rule_kernel_syscall>
1419 </event_rule>
1420 <capture_descriptors/>
1421 </condition_event_rule_matches>
1422 <error_query_results>
1423 <error_query_result>
1424 <name>discarded tracer messages</name>
1425 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
1426 <error_query_result_counter>
1427 <value>0</value>
1428 </error_query_result_counter>
1429 </error_query_result>
1430 </error_query_results>
1431 </condition>
1432 <action>
1433 <action_list>
1434 <action>
1435 <action_notify>
1436 <rate_policy>
1437 <rate_policy_every_n>
1438 <interval>1</interval>
1439 </rate_policy_every_n>
1440 </rate_policy>
1441 </action_notify>
1442 <error_query_results>
1443 <error_query_result>
1444 <name>total execution failures</name>
1445 <description>Aggregated count of errors encountered when executing the action</description>
1446 <error_query_result_counter>
1447 <value>0</value>
1448 </error_query_result_counter>
1449 </error_query_result>
1450 </error_query_results>
1451 </action>
1452 </action_list>
1453 </action>
1454 <error_query_results/>
1455 </trigger>
1456 <trigger>
1457 <name>T4</name>
1458 <owner_uid>${uid}</owner_uid>
1459 <condition>
1460 <condition_event_rule_matches>
1461 <event_rule>
1462 <event_rule_kernel_syscall>
1463 <emission_site>entry+exit</emission_site>
1464 <name_pattern>ptrace</name_pattern>
1465 <filter_expression>a &gt; 2</filter_expression>
1466 </event_rule_kernel_syscall>
1467 </event_rule>
1468 <capture_descriptors/>
1469 </condition_event_rule_matches>
1470 <error_query_results>
1471 <error_query_result>
1472 <name>discarded tracer messages</name>
1473 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
1474 <error_query_result_counter>
1475 <value>0</value>
1476 </error_query_result_counter>
1477 </error_query_result>
1478 </error_query_results>
1479 </condition>
1480 <action>
1481 <action_list>
1482 <action>
1483 <action_notify>
1484 <rate_policy>
1485 <rate_policy_every_n>
1486 <interval>1</interval>
1487 </rate_policy_every_n>
1488 </rate_policy>
1489 </action_notify>
1490 <error_query_results>
1491 <error_query_result>
1492 <name>total execution failures</name>
1493 <description>Aggregated count of errors encountered when executing the action</description>
1494 <error_query_result_counter>
1495 <value>0</value>
1496 </error_query_result_counter>
1497 </error_query_result>
1498 </error_query_results>
1499 </action>
1500 </action_list>
1501 </action>
1502 <error_query_results/>
1503 </trigger>
1504 </triggers>
1505 </output>
1506 </command>
1507 EOF
1508
1509
665db063 1510 list_triggers_matches_ok "event-rule-matches, syscall event rule" "${tmp_expected_stdout}"
dceffc9e 1511 list_triggers_matches_mi_ok "MI event-rule-matches, syscall event rule" "${tmp_expected_stdout_mi}"
0de2479d 1512
be7f9dfc
FD
1513 lttng_remove_trigger_ok "T0"
1514 lttng_remove_trigger_ok "T1"
57739a6b
JR
1515 lttng_remove_trigger_ok "T2"
1516 lttng_remove_trigger_ok "T3"
1517 lttng_remove_trigger_ok "T4"
0de2479d
SM
1518}
1519
19904669
SM
1520test_session_consumed_size_condition ()
1521{
1522 ${register_some_triggers_bin} test_session_consumed_size_condition
1523
1524 cat > "${tmp_expected_stdout}" <<- EOF
1525 - name: trigger-with-session-consumed-size-condition
1526 owner uid: ${uid}
1527 condition: session consumed size
1528 session name: the-session-name
1529 threshold: 1234 bytes
63dd3d7b 1530 errors: none
19904669
SM
1531 actions:
1532 notify
1533 errors: none
1534 errors: none
1535 EOF
1536
dceffc9e
JR
1537 cat > "${tmp_expected_stdout_mi}" <<- EOF
1538 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 1539 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
1540 <name>list-trigger</name>
1541 <output>
1542 <triggers>
1543 <trigger>
1544 <name>trigger-with-session-consumed-size-condition</name>
1545 <owner_uid>${uid}</owner_uid>
1546 <condition>
1547 <condition_session_consumed_size>
1548 <session_name>the-session-name</session_name>
1549 <threshold_bytes>1234</threshold_bytes>
1550 </condition_session_consumed_size>
1551 <error_query_results/>
1552 </condition>
1553 <action>
1554 <action_list>
1555 <action>
1556 <action_notify>
1557 <rate_policy>
1558 <rate_policy_every_n>
1559 <interval>1</interval>
1560 </rate_policy_every_n>
1561 </rate_policy>
1562 </action_notify>
1563 <error_query_results>
1564 <error_query_result>
1565 <name>total execution failures</name>
1566 <description>Aggregated count of errors encountered when executing the action</description>
1567 <error_query_result_counter>
1568 <value>0</value>
1569 </error_query_result_counter>
1570 </error_query_result>
1571 </error_query_results>
1572 </action>
1573 </action_list>
1574 </action>
1575 <error_query_results/>
1576 </trigger>
1577 </triggers>
1578 </output>
1579 </command>
1580 EOF
1581
1582
19904669 1583 list_triggers_matches_ok "session consumed size condition" "${tmp_expected_stdout}"
dceffc9e 1584 list_triggers_matches_mi_ok "MI session consumed size condition" "${tmp_expected_stdout_mi}"
19904669
SM
1585
1586 lttng_remove_trigger_ok "trigger-with-session-consumed-size-condition"
1587}
1588
1589test_buffer_usage_conditions ()
1590{
1591 ${register_some_triggers_bin} test_buffer_usage_conditions
1592
1593 cat > "${tmp_expected_stdout}" <<- EOF
1594 - name: trigger-with-buffer-usage-high-bytes-condition
1595 owner uid: ${uid}
1596 condition: buffer usage high
1597 session name: the-session-name
1598 channel name: the-channel-name
13c25a5c 1599 domain: user space
19904669 1600 threshold (bytes): 1234
63dd3d7b 1601 errors: none
19904669
SM
1602 actions:
1603 notify
1604 errors: none
1605 errors: none
1606 - name: trigger-with-buffer-usage-high-ratio-condition
1607 owner uid: ${uid}
1608 condition: buffer usage high
1609 session name: the-session-name
1610 channel name: the-channel-name
13c25a5c 1611 domain: user space
19904669 1612 threshold (ratio): 0.25
63dd3d7b 1613 errors: none
19904669
SM
1614 actions:
1615 notify
1616 errors: none
1617 errors: none
1618 - name: trigger-with-buffer-usage-low-bytes-condition
1619 owner uid: ${uid}
1620 condition: buffer usage low
1621 session name: the-session-name
1622 channel name: the-channel-name
13c25a5c 1623 domain: user space
19904669 1624 threshold (bytes): 2345
63dd3d7b 1625 errors: none
19904669
SM
1626 actions:
1627 notify
1628 errors: none
1629 errors: none
1630 - name: trigger-with-buffer-usage-low-ratio-condition
1631 owner uid: ${uid}
1632 condition: buffer usage low
1633 session name: the-session-name
1634 channel name: the-channel-name
13c25a5c 1635 domain: user space
19904669 1636 threshold (ratio): 0.40
63dd3d7b 1637 errors: none
19904669
SM
1638 actions:
1639 notify
1640 errors: none
1641 errors: none
1642 EOF
1643
dceffc9e
JR
1644 cat > "${tmp_expected_stdout_mi}" <<- EOF
1645 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 1646 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
1647 <name>list-trigger</name>
1648 <output>
1649 <triggers>
1650 <trigger>
1651 <name>trigger-with-buffer-usage-high-bytes-condition</name>
1652 <owner_uid>${uid}</owner_uid>
1653 <condition>
1654 <condition_buffer_usage_high>
1655 <session_name>the-session-name</session_name>
1656 <channel_name>the-channel-name</channel_name>
1657 <domain>UST</domain>
1658 <threshold_bytes>1234</threshold_bytes>
1659 </condition_buffer_usage_high>
1660 <error_query_results/>
1661 </condition>
1662 <action>
1663 <action_list>
1664 <action>
1665 <action_notify>
1666 <rate_policy>
1667 <rate_policy_every_n>
1668 <interval>1</interval>
1669 </rate_policy_every_n>
1670 </rate_policy>
1671 </action_notify>
1672 <error_query_results>
1673 <error_query_result>
1674 <name>total execution failures</name>
1675 <description>Aggregated count of errors encountered when executing the action</description>
1676 <error_query_result_counter>
1677 <value>0</value>
1678 </error_query_result_counter>
1679 </error_query_result>
1680 </error_query_results>
1681 </action>
1682 </action_list>
1683 </action>
1684 <error_query_results/>
1685 </trigger>
1686 <trigger>
1687 <name>trigger-with-buffer-usage-high-ratio-condition</name>
1688 <owner_uid>${uid}</owner_uid>
1689 <condition>
1690 <condition_buffer_usage_high>
1691 <session_name>the-session-name</session_name>
1692 <channel_name>the-channel-name</channel_name>
1693 <domain>UST</domain>
1694 <threshold_ratio>0.250000</threshold_ratio>
1695 </condition_buffer_usage_high>
1696 <error_query_results/>
1697 </condition>
1698 <action>
1699 <action_list>
1700 <action>
1701 <action_notify>
1702 <rate_policy>
1703 <rate_policy_every_n>
1704 <interval>1</interval>
1705 </rate_policy_every_n>
1706 </rate_policy>
1707 </action_notify>
1708 <error_query_results>
1709 <error_query_result>
1710 <name>total execution failures</name>
1711 <description>Aggregated count of errors encountered when executing the action</description>
1712 <error_query_result_counter>
1713 <value>0</value>
1714 </error_query_result_counter>
1715 </error_query_result>
1716 </error_query_results>
1717 </action>
1718 </action_list>
1719 </action>
1720 <error_query_results/>
1721 </trigger>
1722 <trigger>
1723 <name>trigger-with-buffer-usage-low-bytes-condition</name>
1724 <owner_uid>${uid}</owner_uid>
1725 <condition>
1726 <condition_buffer_usage_low>
1727 <session_name>the-session-name</session_name>
1728 <channel_name>the-channel-name</channel_name>
1729 <domain>UST</domain>
1730 <threshold_bytes>2345</threshold_bytes>
1731 </condition_buffer_usage_low>
1732 <error_query_results/>
1733 </condition>
1734 <action>
1735 <action_list>
1736 <action>
1737 <action_notify>
1738 <rate_policy>
1739 <rate_policy_every_n>
1740 <interval>1</interval>
1741 </rate_policy_every_n>
1742 </rate_policy>
1743 </action_notify>
1744 <error_query_results>
1745 <error_query_result>
1746 <name>total execution failures</name>
1747 <description>Aggregated count of errors encountered when executing the action</description>
1748 <error_query_result_counter>
1749 <value>0</value>
1750 </error_query_result_counter>
1751 </error_query_result>
1752 </error_query_results>
1753 </action>
1754 </action_list>
1755 </action>
1756 <error_query_results/>
1757 </trigger>
1758 <trigger>
1759 <name>trigger-with-buffer-usage-low-ratio-condition</name>
1760 <owner_uid>${uid}</owner_uid>
1761 <condition>
1762 <condition_buffer_usage_low>
1763 <session_name>the-session-name</session_name>
1764 <channel_name>the-channel-name</channel_name>
1765 <domain>UST</domain>
1766 <threshold_ratio>0.400000</threshold_ratio>
1767 </condition_buffer_usage_low>
1768 <error_query_results/>
1769 </condition>
1770 <action>
1771 <action_list>
1772 <action>
1773 <action_notify>
1774 <rate_policy>
1775 <rate_policy_every_n>
1776 <interval>1</interval>
1777 </rate_policy_every_n>
1778 </rate_policy>
1779 </action_notify>
1780 <error_query_results>
1781 <error_query_result>
1782 <name>total execution failures</name>
1783 <description>Aggregated count of errors encountered when executing the action</description>
1784 <error_query_result_counter>
1785 <value>0</value>
1786 </error_query_result_counter>
1787 </error_query_result>
1788 </error_query_results>
1789 </action>
1790 </action_list>
1791 </action>
1792 <error_query_results/>
1793 </trigger>
1794 </triggers>
1795 </output>
1796 </command>
1797 EOF
1798
19904669 1799 list_triggers_matches_ok "buffer usage condition" "${tmp_expected_stdout}"
dceffc9e 1800 list_triggers_matches_mi_ok "MI buffer usage condition" "${tmp_expected_stdout_mi}"
19904669
SM
1801
1802 lttng_remove_trigger_ok "trigger-with-buffer-usage-high-bytes-condition"
1803 lttng_remove_trigger_ok "trigger-with-buffer-usage-high-ratio-condition"
1804 lttng_remove_trigger_ok "trigger-with-buffer-usage-low-bytes-condition"
1805 lttng_remove_trigger_ok "trigger-with-buffer-usage-low-ratio-condition"
1806}
1807
1808test_session_rotation_conditions ()
1809{
1810 ${register_some_triggers_bin} test_session_rotation_conditions
1811
1812 cat > "${tmp_expected_stdout}" <<- EOF
1813 - name: trigger-with-session-rotation-completed-condition
1814 owner uid: ${uid}
1815 condition: session rotation completed
1816 session name: the-session-name
63dd3d7b 1817 errors: none
19904669
SM
1818 actions:
1819 notify
1820 errors: none
1821 errors: none
1822 - name: trigger-with-session-rotation-ongoing-condition
1823 owner uid: ${uid}
1824 condition: session rotation ongoing
1825 session name: the-session-name
63dd3d7b 1826 errors: none
19904669
SM
1827 actions:
1828 notify
1829 errors: none
1830 errors: none
1831 EOF
1832
dceffc9e
JR
1833 cat > "${tmp_expected_stdout_mi}" <<- EOF
1834 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 1835 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
1836 <name>list-trigger</name>
1837 <output>
1838 <triggers>
1839 <trigger>
1840 <name>trigger-with-session-rotation-completed-condition</name>
1841 <owner_uid>${uid}</owner_uid>
1842 <condition>
1843 <condition_session_rotation_completed>
1844 <session_name>the-session-name</session_name>
1845 </condition_session_rotation_completed>
1846 <error_query_results/>
1847 </condition>
1848 <action>
1849 <action_list>
1850 <action>
1851 <action_notify>
1852 <rate_policy>
1853 <rate_policy_every_n>
1854 <interval>1</interval>
1855 </rate_policy_every_n>
1856 </rate_policy>
1857 </action_notify>
1858 <error_query_results>
1859 <error_query_result>
1860 <name>total execution failures</name>
1861 <description>Aggregated count of errors encountered when executing the action</description>
1862 <error_query_result_counter>
1863 <value>0</value>
1864 </error_query_result_counter>
1865 </error_query_result>
1866 </error_query_results>
1867 </action>
1868 </action_list>
1869 </action>
1870 <error_query_results/>
1871 </trigger>
1872 <trigger>
1873 <name>trigger-with-session-rotation-ongoing-condition</name>
1874 <owner_uid>${uid}</owner_uid>
1875 <condition>
1876 <condition_session_rotation_ongoing>
1877 <session_name>the-session-name</session_name>
1878 </condition_session_rotation_ongoing>
1879 <error_query_results/>
1880 </condition>
1881 <action>
1882 <action_list>
1883 <action>
1884 <action_notify>
1885 <rate_policy>
1886 <rate_policy_every_n>
1887 <interval>1</interval>
1888 </rate_policy_every_n>
1889 </rate_policy>
1890 </action_notify>
1891 <error_query_results>
1892 <error_query_result>
1893 <name>total execution failures</name>
1894 <description>Aggregated count of errors encountered when executing the action</description>
1895 <error_query_result_counter>
1896 <value>0</value>
1897 </error_query_result_counter>
1898 </error_query_result>
1899 </error_query_results>
1900 </action>
1901 </action_list>
1902 </action>
1903 <error_query_results/>
1904 </trigger>
1905 </triggers>
1906 </output>
1907 </command>
1908 EOF
1909
19904669 1910 list_triggers_matches_ok "session rotation conditions" "${tmp_expected_stdout}"
dceffc9e 1911 list_triggers_matches_mi_ok "MI session rotation conditions" "${tmp_expected_stdout_mi}"
19904669
SM
1912
1913 lttng_remove_trigger_ok "trigger-with-session-rotation-completed-condition"
1914 lttng_remove_trigger_ok "trigger-with-session-rotation-ongoing-condition"
1915}
1916
0de2479d
SM
1917test_snapshot_action ()
1918{
be7f9dfc 1919 diag "Listing snapshot actions"
0de2479d 1920
695f7044
JR
1921 lttng_add_trigger_ok "T0" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session
1922 lttng_add_trigger_ok "T1" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --path /some/path
1923 lttng_add_trigger_ok "T2" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --url file:///some/other/path
1924 lttng_add_trigger_ok "T3" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --url net://1.2.3.4
1925 lttng_add_trigger_ok "T4" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --url net://1.2.3.4:1234:1235
1926 lttng_add_trigger_ok "T5" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --ctrl-url=tcp://1.2.3.4:1111 --data-url=tcp://1.2.3.4:1112
1927 lttng_add_trigger_ok "T6" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --path /some/path --max-size=1234
1928 lttng_add_trigger_ok "T7" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --path /some/path --name=meh
1929 lttng_add_trigger_ok "T8" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --rate-policy=every:10
1930 lttng_add_trigger_ok "T9" --condition event-rule-matches --type=user --name=some-event --action snapshot-session ze-session --rate-policy=once-after:10
0de2479d
SM
1931
1932 cat > "${tmp_expected_stdout}" <<- EOF
1d4b59f2 1933 - name: T0
481c5310 1934 owner uid: ${uid}
8c1d25ff 1935 condition: event rule matches
695f7044 1936 rule: some-event (type: user tracepoint)
63dd3d7b 1937 errors: none
0de2479d
SM
1938 actions:
1939 snapshot session \`ze-session\`
709fb83f
JG
1940 errors: none
1941 errors: none
1d4b59f2 1942 - name: T1
481c5310 1943 owner uid: ${uid}
8c1d25ff 1944 condition: event rule matches
695f7044 1945 rule: some-event (type: user tracepoint)
63dd3d7b 1946 errors: none
0de2479d
SM
1947 actions:
1948 snapshot session \`ze-session\`, path: /some/path
709fb83f
JG
1949 errors: none
1950 errors: none
1d4b59f2 1951 - name: T2
481c5310 1952 owner uid: ${uid}
8c1d25ff 1953 condition: event rule matches
695f7044 1954 rule: some-event (type: user tracepoint)
63dd3d7b 1955 errors: none
0de2479d
SM
1956 actions:
1957 snapshot session \`ze-session\`, path: /some/other/path
709fb83f
JG
1958 errors: none
1959 errors: none
1d4b59f2 1960 - name: T3
481c5310 1961 owner uid: ${uid}
8c1d25ff 1962 condition: event rule matches
695f7044 1963 rule: some-event (type: user tracepoint)
63dd3d7b 1964 errors: none
0de2479d
SM
1965 actions:
1966 snapshot session \`ze-session\`, url: net://1.2.3.4
709fb83f
JG
1967 errors: none
1968 errors: none
1d4b59f2 1969 - name: T4
481c5310 1970 owner uid: ${uid}
8c1d25ff 1971 condition: event rule matches
695f7044 1972 rule: some-event (type: user tracepoint)
63dd3d7b 1973 errors: none
0de2479d
SM
1974 actions:
1975 snapshot session \`ze-session\`, url: net://1.2.3.4:1234:1235
709fb83f
JG
1976 errors: none
1977 errors: none
1d4b59f2 1978 - name: T5
481c5310 1979 owner uid: ${uid}
8c1d25ff 1980 condition: event rule matches
695f7044 1981 rule: some-event (type: user tracepoint)
63dd3d7b 1982 errors: none
0de2479d
SM
1983 actions:
1984 snapshot session \`ze-session\`, control url: tcp://1.2.3.4:1111, data url: tcp://1.2.3.4:1112
709fb83f
JG
1985 errors: none
1986 errors: none
1d4b59f2 1987 - name: T6
481c5310 1988 owner uid: ${uid}
8c1d25ff 1989 condition: event rule matches
695f7044 1990 rule: some-event (type: user tracepoint)
63dd3d7b 1991 errors: none
0de2479d
SM
1992 actions:
1993 snapshot session \`ze-session\`, path: /some/path, max size: 1234
709fb83f
JG
1994 errors: none
1995 errors: none
1d4b59f2 1996 - name: T7
481c5310 1997 owner uid: ${uid}
8c1d25ff 1998 condition: event rule matches
695f7044 1999 rule: some-event (type: user tracepoint)
63dd3d7b 2000 errors: none
0de2479d
SM
2001 actions:
2002 snapshot session \`ze-session\`, path: /some/path, name: meh
709fb83f
JG
2003 errors: none
2004 errors: none
1d4b59f2 2005 - name: T8
481c5310 2006 owner uid: ${uid}
8c1d25ff 2007 condition: event rule matches
695f7044 2008 rule: some-event (type: user tracepoint)
63dd3d7b 2009 errors: none
e45dd625 2010 actions:
2f280aa0 2011 snapshot session \`ze-session\`, rate policy: every 10 occurrences
709fb83f
JG
2012 errors: none
2013 errors: none
1d4b59f2 2014 - name: T9
481c5310 2015 owner uid: ${uid}
8c1d25ff 2016 condition: event rule matches
695f7044 2017 rule: some-event (type: user tracepoint)
63dd3d7b 2018 errors: none
e45dd625 2019 actions:
7f4d5b07 2020 snapshot session \`ze-session\`, rate policy: once after 10 occurrences
709fb83f
JG
2021 errors: none
2022 errors: none
e45dd625
JR
2023 EOF
2024
dceffc9e
JR
2025 cat > "${tmp_expected_stdout_mi}" <<- EOF
2026 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 2027 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
2028 <name>list-trigger</name>
2029 <output>
2030 <triggers>
2031 <trigger>
2032 <name>T0</name>
2033 <owner_uid>${uid}</owner_uid>
2034 <condition>
2035 <condition_event_rule_matches>
2036 <event_rule>
2037 <event_rule_user_tracepoint>
2038 <name_pattern>some-event</name_pattern>
2039 </event_rule_user_tracepoint>
2040 </event_rule>
2041 <capture_descriptors/>
2042 </condition_event_rule_matches>
2043 <error_query_results>
2044 <error_query_result>
2045 <name>discarded tracer messages</name>
2046 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2047 <error_query_result_counter>
2048 <value>0</value>
2049 </error_query_result_counter>
2050 </error_query_result>
2051 </error_query_results>
2052 </condition>
2053 <action>
2054 <action_list>
2055 <action>
2056 <action_snapshot_session>
2057 <session_name>ze-session</session_name>
2058 <rate_policy>
2059 <rate_policy_every_n>
2060 <interval>1</interval>
2061 </rate_policy_every_n>
2062 </rate_policy>
2063 </action_snapshot_session>
2064 <error_query_results>
2065 <error_query_result>
2066 <name>total execution failures</name>
2067 <description>Aggregated count of errors encountered when executing the action</description>
2068 <error_query_result_counter>
2069 <value>0</value>
2070 </error_query_result_counter>
2071 </error_query_result>
2072 </error_query_results>
2073 </action>
2074 </action_list>
2075 </action>
2076 <error_query_results/>
2077 </trigger>
2078 <trigger>
2079 <name>T1</name>
2080 <owner_uid>${uid}</owner_uid>
2081 <condition>
2082 <condition_event_rule_matches>
2083 <event_rule>
2084 <event_rule_user_tracepoint>
2085 <name_pattern>some-event</name_pattern>
2086 </event_rule_user_tracepoint>
2087 </event_rule>
2088 <capture_descriptors/>
2089 </condition_event_rule_matches>
2090 <error_query_results>
2091 <error_query_result>
2092 <name>discarded tracer messages</name>
2093 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2094 <error_query_result_counter>
2095 <value>0</value>
2096 </error_query_result_counter>
2097 </error_query_result>
2098 </error_query_results>
2099 </condition>
2100 <action>
2101 <action_list>
2102 <action>
2103 <action_snapshot_session>
2104 <session_name>ze-session</session_name>
2105 <output>
2106 <ctrl_url>/some/path</ctrl_url>
2107 </output>
2108 <rate_policy>
2109 <rate_policy_every_n>
2110 <interval>1</interval>
2111 </rate_policy_every_n>
2112 </rate_policy>
2113 </action_snapshot_session>
2114 <error_query_results>
2115 <error_query_result>
2116 <name>total execution failures</name>
2117 <description>Aggregated count of errors encountered when executing the action</description>
2118 <error_query_result_counter>
2119 <value>0</value>
2120 </error_query_result_counter>
2121 </error_query_result>
2122 </error_query_results>
2123 </action>
2124 </action_list>
2125 </action>
2126 <error_query_results/>
2127 </trigger>
2128 <trigger>
2129 <name>T2</name>
2130 <owner_uid>${uid}</owner_uid>
2131 <condition>
2132 <condition_event_rule_matches>
2133 <event_rule>
2134 <event_rule_user_tracepoint>
2135 <name_pattern>some-event</name_pattern>
2136 </event_rule_user_tracepoint>
2137 </event_rule>
2138 <capture_descriptors/>
2139 </condition_event_rule_matches>
2140 <error_query_results>
2141 <error_query_result>
2142 <name>discarded tracer messages</name>
2143 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2144 <error_query_result_counter>
2145 <value>0</value>
2146 </error_query_result_counter>
2147 </error_query_result>
2148 </error_query_results>
2149 </condition>
2150 <action>
2151 <action_list>
2152 <action>
2153 <action_snapshot_session>
2154 <session_name>ze-session</session_name>
2155 <output>
2156 <ctrl_url>/some/other/path</ctrl_url>
2157 </output>
2158 <rate_policy>
2159 <rate_policy_every_n>
2160 <interval>1</interval>
2161 </rate_policy_every_n>
2162 </rate_policy>
2163 </action_snapshot_session>
2164 <error_query_results>
2165 <error_query_result>
2166 <name>total execution failures</name>
2167 <description>Aggregated count of errors encountered when executing the action</description>
2168 <error_query_result_counter>
2169 <value>0</value>
2170 </error_query_result_counter>
2171 </error_query_result>
2172 </error_query_results>
2173 </action>
2174 </action_list>
2175 </action>
2176 <error_query_results/>
2177 </trigger>
2178 <trigger>
2179 <name>T3</name>
2180 <owner_uid>${uid}</owner_uid>
2181 <condition>
2182 <condition_event_rule_matches>
2183 <event_rule>
2184 <event_rule_user_tracepoint>
2185 <name_pattern>some-event</name_pattern>
2186 </event_rule_user_tracepoint>
2187 </event_rule>
2188 <capture_descriptors/>
2189 </condition_event_rule_matches>
2190 <error_query_results>
2191 <error_query_result>
2192 <name>discarded tracer messages</name>
2193 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2194 <error_query_result_counter>
2195 <value>0</value>
2196 </error_query_result_counter>
2197 </error_query_result>
2198 </error_query_results>
2199 </condition>
2200 <action>
2201 <action_list>
2202 <action>
2203 <action_snapshot_session>
2204 <session_name>ze-session</session_name>
2205 <output>
2206 <ctrl_url>net://1.2.3.4</ctrl_url>
2207 </output>
2208 <rate_policy>
2209 <rate_policy_every_n>
2210 <interval>1</interval>
2211 </rate_policy_every_n>
2212 </rate_policy>
2213 </action_snapshot_session>
2214 <error_query_results>
2215 <error_query_result>
2216 <name>total execution failures</name>
2217 <description>Aggregated count of errors encountered when executing the action</description>
2218 <error_query_result_counter>
2219 <value>0</value>
2220 </error_query_result_counter>
2221 </error_query_result>
2222 </error_query_results>
2223 </action>
2224 </action_list>
2225 </action>
2226 <error_query_results/>
2227 </trigger>
2228 <trigger>
2229 <name>T4</name>
2230 <owner_uid>${uid}</owner_uid>
2231 <condition>
2232 <condition_event_rule_matches>
2233 <event_rule>
2234 <event_rule_user_tracepoint>
2235 <name_pattern>some-event</name_pattern>
2236 </event_rule_user_tracepoint>
2237 </event_rule>
2238 <capture_descriptors/>
2239 </condition_event_rule_matches>
2240 <error_query_results>
2241 <error_query_result>
2242 <name>discarded tracer messages</name>
2243 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2244 <error_query_result_counter>
2245 <value>0</value>
2246 </error_query_result_counter>
2247 </error_query_result>
2248 </error_query_results>
2249 </condition>
2250 <action>
2251 <action_list>
2252 <action>
2253 <action_snapshot_session>
2254 <session_name>ze-session</session_name>
2255 <output>
2256 <ctrl_url>net://1.2.3.4:1234:1235</ctrl_url>
2257 </output>
2258 <rate_policy>
2259 <rate_policy_every_n>
2260 <interval>1</interval>
2261 </rate_policy_every_n>
2262 </rate_policy>
2263 </action_snapshot_session>
2264 <error_query_results>
2265 <error_query_result>
2266 <name>total execution failures</name>
2267 <description>Aggregated count of errors encountered when executing the action</description>
2268 <error_query_result_counter>
2269 <value>0</value>
2270 </error_query_result_counter>
2271 </error_query_result>
2272 </error_query_results>
2273 </action>
2274 </action_list>
2275 </action>
2276 <error_query_results/>
2277 </trigger>
2278 <trigger>
2279 <name>T5</name>
2280 <owner_uid>${uid}</owner_uid>
2281 <condition>
2282 <condition_event_rule_matches>
2283 <event_rule>
2284 <event_rule_user_tracepoint>
2285 <name_pattern>some-event</name_pattern>
2286 </event_rule_user_tracepoint>
2287 </event_rule>
2288 <capture_descriptors/>
2289 </condition_event_rule_matches>
2290 <error_query_results>
2291 <error_query_result>
2292 <name>discarded tracer messages</name>
2293 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2294 <error_query_result_counter>
2295 <value>0</value>
2296 </error_query_result_counter>
2297 </error_query_result>
2298 </error_query_results>
2299 </condition>
2300 <action>
2301 <action_list>
2302 <action>
2303 <action_snapshot_session>
2304 <session_name>ze-session</session_name>
2305 <output>
2306 <ctrl_url>tcp://1.2.3.4:1111</ctrl_url>
2307 <data_url>tcp://1.2.3.4:1112</data_url>
2308 </output>
2309 <rate_policy>
2310 <rate_policy_every_n>
2311 <interval>1</interval>
2312 </rate_policy_every_n>
2313 </rate_policy>
2314 </action_snapshot_session>
2315 <error_query_results>
2316 <error_query_result>
2317 <name>total execution failures</name>
2318 <description>Aggregated count of errors encountered when executing the action</description>
2319 <error_query_result_counter>
2320 <value>0</value>
2321 </error_query_result_counter>
2322 </error_query_result>
2323 </error_query_results>
2324 </action>
2325 </action_list>
2326 </action>
2327 <error_query_results/>
2328 </trigger>
2329 <trigger>
2330 <name>T6</name>
2331 <owner_uid>${uid}</owner_uid>
2332 <condition>
2333 <condition_event_rule_matches>
2334 <event_rule>
2335 <event_rule_user_tracepoint>
2336 <name_pattern>some-event</name_pattern>
2337 </event_rule_user_tracepoint>
2338 </event_rule>
2339 <capture_descriptors/>
2340 </condition_event_rule_matches>
2341 <error_query_results>
2342 <error_query_result>
2343 <name>discarded tracer messages</name>
2344 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2345 <error_query_result_counter>
2346 <value>0</value>
2347 </error_query_result_counter>
2348 </error_query_result>
2349 </error_query_results>
2350 </condition>
2351 <action>
2352 <action_list>
2353 <action>
2354 <action_snapshot_session>
2355 <session_name>ze-session</session_name>
2356 <output>
2357 <ctrl_url>/some/path</ctrl_url>
2358 <max_size>1234</max_size>
2359 </output>
2360 <rate_policy>
2361 <rate_policy_every_n>
2362 <interval>1</interval>
2363 </rate_policy_every_n>
2364 </rate_policy>
2365 </action_snapshot_session>
2366 <error_query_results>
2367 <error_query_result>
2368 <name>total execution failures</name>
2369 <description>Aggregated count of errors encountered when executing the action</description>
2370 <error_query_result_counter>
2371 <value>0</value>
2372 </error_query_result_counter>
2373 </error_query_result>
2374 </error_query_results>
2375 </action>
2376 </action_list>
2377 </action>
2378 <error_query_results/>
2379 </trigger>
2380 <trigger>
2381 <name>T7</name>
2382 <owner_uid>${uid}</owner_uid>
2383 <condition>
2384 <condition_event_rule_matches>
2385 <event_rule>
2386 <event_rule_user_tracepoint>
2387 <name_pattern>some-event</name_pattern>
2388 </event_rule_user_tracepoint>
2389 </event_rule>
2390 <capture_descriptors/>
2391 </condition_event_rule_matches>
2392 <error_query_results>
2393 <error_query_result>
2394 <name>discarded tracer messages</name>
2395 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2396 <error_query_result_counter>
2397 <value>0</value>
2398 </error_query_result_counter>
2399 </error_query_result>
2400 </error_query_results>
2401 </condition>
2402 <action>
2403 <action_list>
2404 <action>
2405 <action_snapshot_session>
2406 <session_name>ze-session</session_name>
2407 <output>
2408 <name>meh</name>
2409 <ctrl_url>/some/path</ctrl_url>
2410 </output>
2411 <rate_policy>
2412 <rate_policy_every_n>
2413 <interval>1</interval>
2414 </rate_policy_every_n>
2415 </rate_policy>
2416 </action_snapshot_session>
2417 <error_query_results>
2418 <error_query_result>
2419 <name>total execution failures</name>
2420 <description>Aggregated count of errors encountered when executing the action</description>
2421 <error_query_result_counter>
2422 <value>0</value>
2423 </error_query_result_counter>
2424 </error_query_result>
2425 </error_query_results>
2426 </action>
2427 </action_list>
2428 </action>
2429 <error_query_results/>
2430 </trigger>
2431 <trigger>
2432 <name>T8</name>
2433 <owner_uid>${uid}</owner_uid>
2434 <condition>
2435 <condition_event_rule_matches>
2436 <event_rule>
2437 <event_rule_user_tracepoint>
2438 <name_pattern>some-event</name_pattern>
2439 </event_rule_user_tracepoint>
2440 </event_rule>
2441 <capture_descriptors/>
2442 </condition_event_rule_matches>
2443 <error_query_results>
2444 <error_query_result>
2445 <name>discarded tracer messages</name>
2446 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2447 <error_query_result_counter>
2448 <value>0</value>
2449 </error_query_result_counter>
2450 </error_query_result>
2451 </error_query_results>
2452 </condition>
2453 <action>
2454 <action_list>
2455 <action>
2456 <action_snapshot_session>
2457 <session_name>ze-session</session_name>
2458 <rate_policy>
2459 <rate_policy_every_n>
2460 <interval>10</interval>
2461 </rate_policy_every_n>
2462 </rate_policy>
2463 </action_snapshot_session>
2464 <error_query_results>
2465 <error_query_result>
2466 <name>total execution failures</name>
2467 <description>Aggregated count of errors encountered when executing the action</description>
2468 <error_query_result_counter>
2469 <value>0</value>
2470 </error_query_result_counter>
2471 </error_query_result>
2472 </error_query_results>
2473 </action>
2474 </action_list>
2475 </action>
2476 <error_query_results/>
2477 </trigger>
2478 <trigger>
2479 <name>T9</name>
2480 <owner_uid>${uid}</owner_uid>
2481 <condition>
2482 <condition_event_rule_matches>
2483 <event_rule>
2484 <event_rule_user_tracepoint>
2485 <name_pattern>some-event</name_pattern>
2486 </event_rule_user_tracepoint>
2487 </event_rule>
2488 <capture_descriptors/>
2489 </condition_event_rule_matches>
2490 <error_query_results>
2491 <error_query_result>
2492 <name>discarded tracer messages</name>
2493 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2494 <error_query_result_counter>
2495 <value>0</value>
2496 </error_query_result_counter>
2497 </error_query_result>
2498 </error_query_results>
2499 </condition>
2500 <action>
2501 <action_list>
2502 <action>
2503 <action_snapshot_session>
2504 <session_name>ze-session</session_name>
2505 <rate_policy>
2506 <rate_policy_once_after_n>
2507 <threshold>10</threshold>
2508 </rate_policy_once_after_n>
2509 </rate_policy>
2510 </action_snapshot_session>
2511 <error_query_results>
2512 <error_query_result>
2513 <name>total execution failures</name>
2514 <description>Aggregated count of errors encountered when executing the action</description>
2515 <error_query_result_counter>
2516 <value>0</value>
2517 </error_query_result_counter>
2518 </error_query_result>
2519 </error_query_results>
2520 </action>
2521 </action_list>
2522 </action>
2523 <error_query_results/>
2524 </trigger>
2525 </triggers>
2526 </output>
2527 </command>
2528 EOF
2529
be7f9dfc 2530 list_triggers_matches_ok "snapshot action" "${tmp_expected_stdout}"
dceffc9e 2531 list_triggers_matches_mi_ok "MI snapshot action" "${tmp_expected_stdout_mi}"
e45dd625 2532
665db063
SM
2533 lttng_remove_trigger_ok "T0"
2534 lttng_remove_trigger_ok "T1"
2535 lttng_remove_trigger_ok "T2"
2536 lttng_remove_trigger_ok "T3"
2537 lttng_remove_trigger_ok "T4"
2538 lttng_remove_trigger_ok "T5"
2539 lttng_remove_trigger_ok "T6"
2540 lttng_remove_trigger_ok "T7"
2541 lttng_remove_trigger_ok "T8"
2542 lttng_remove_trigger_ok "T9"
e45dd625
JR
2543}
2544
2545test_notify_action ()
2546{
695f7044
JR
2547 lttng_add_trigger_ok "T0" --condition event-rule-matches --type=user --name=some-event --action notify --rate-policy=once-after:5
2548 lttng_add_trigger_ok "T1" --condition event-rule-matches --type=user --name=some-event --action notify --rate-policy=every:10
e45dd625
JR
2549
2550 cat > "${tmp_expected_stdout}" <<- EOF
1d4b59f2 2551 - name: T0
481c5310 2552 owner uid: ${uid}
8c1d25ff 2553 condition: event rule matches
695f7044 2554 rule: some-event (type: user tracepoint)
63dd3d7b 2555 errors: none
e45dd625 2556 actions:
7f4d5b07 2557 notify, rate policy: once after 5 occurrences
709fb83f
JG
2558 errors: none
2559 errors: none
1d4b59f2 2560 - name: T1
481c5310 2561 owner uid: ${uid}
8c1d25ff 2562 condition: event rule matches
695f7044 2563 rule: some-event (type: user tracepoint)
63dd3d7b 2564 errors: none
e45dd625 2565 actions:
2f280aa0 2566 notify, rate policy: every 10 occurrences
709fb83f
JG
2567 errors: none
2568 errors: none
0de2479d
SM
2569 EOF
2570
dceffc9e
JR
2571 cat > "${tmp_expected_stdout_mi}" <<- EOF
2572 <?xml version="1.0" encoding="UTF-8"?>
dcd975d1 2573 <command xmlns="https://lttng.org/xml/ns/lttng-mi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://lttng.org/xml/ns/lttng-mi https://lttng.org/xml/schemas/lttng-mi/${MI_XSD_MAJOR_VERSION}/lttng-mi-${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}.xsd" schemaVersion="${MI_XSD_MAJOR_VERSION}.${MI_XSD_MINOR_VERSION}">
dceffc9e
JR
2574 <name>list-trigger</name>
2575 <output>
2576 <triggers>
2577 <trigger>
2578 <name>T0</name>
2579 <owner_uid>${uid}</owner_uid>
2580 <condition>
2581 <condition_event_rule_matches>
2582 <event_rule>
2583 <event_rule_user_tracepoint>
2584 <name_pattern>some-event</name_pattern>
2585 </event_rule_user_tracepoint>
2586 </event_rule>
2587 <capture_descriptors/>
2588 </condition_event_rule_matches>
2589 <error_query_results>
2590 <error_query_result>
2591 <name>discarded tracer messages</name>
2592 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2593 <error_query_result_counter>
2594 <value>0</value>
2595 </error_query_result_counter>
2596 </error_query_result>
2597 </error_query_results>
2598 </condition>
2599 <action>
2600 <action_list>
2601 <action>
2602 <action_notify>
2603 <rate_policy>
2604 <rate_policy_once_after_n>
2605 <threshold>5</threshold>
2606 </rate_policy_once_after_n>
2607 </rate_policy>
2608 </action_notify>
2609 <error_query_results>
2610 <error_query_result>
2611 <name>total execution failures</name>
2612 <description>Aggregated count of errors encountered when executing the action</description>
2613 <error_query_result_counter>
2614 <value>0</value>
2615 </error_query_result_counter>
2616 </error_query_result>
2617 </error_query_results>
2618 </action>
2619 </action_list>
2620 </action>
2621 <error_query_results/>
2622 </trigger>
2623 <trigger>
2624 <name>T1</name>
2625 <owner_uid>${uid}</owner_uid>
2626 <condition>
2627 <condition_event_rule_matches>
2628 <event_rule>
2629 <event_rule_user_tracepoint>
2630 <name_pattern>some-event</name_pattern>
2631 </event_rule_user_tracepoint>
2632 </event_rule>
2633 <capture_descriptors/>
2634 </condition_event_rule_matches>
2635 <error_query_results>
2636 <error_query_result>
2637 <name>discarded tracer messages</name>
2638 <description>Count of messages discarded by the tracer due to a communication error with the session daemon</description>
2639 <error_query_result_counter>
2640 <value>0</value>
2641 </error_query_result_counter>
2642 </error_query_result>
2643 </error_query_results>
2644 </condition>
2645 <action>
2646 <action_list>
2647 <action>
2648 <action_notify>
2649 <rate_policy>
2650 <rate_policy_every_n>
2651 <interval>10</interval>
2652 </rate_policy_every_n>
2653 </rate_policy>
2654 </action_notify>
2655 <error_query_results>
2656 <error_query_result>
2657 <name>total execution failures</name>
2658 <description>Aggregated count of errors encountered when executing the action</description>
2659 <error_query_result_counter>
2660 <value>0</value>
2661 </error_query_result_counter>
2662 </error_query_result>
2663 </error_query_results>
2664 </action>
2665 </action_list>
2666 </action>
2667 <error_query_results/>
2668 </trigger>
2669 </triggers>
2670 </output>
2671 </command>
2672 EOF
2673
19904669 2674 list_triggers_matches_ok "notify action" "${tmp_expected_stdout}"
dceffc9e 2675 list_triggers_matches_mi_ok "MI notify action" "${tmp_expected_stdout_mi}"
0de2479d 2676
be7f9dfc
FD
2677 lttng_remove_trigger_ok "T0"
2678 lttng_remove_trigger_ok "T1"
0de2479d
SM
2679}
2680
be7f9dfc
FD
2681plan_tests $NUM_TESTS
2682
2683# shellcheck disable=SC2119
2684start_lttng_sessiond_notap
2685
0de2479d 2686test_top_level_options
8dbb86b8 2687test_event_rule_matches_tracepoint
3a174400
XC
2688check_skip_kernel_test 48 "Skipping kprobe, uprobe, SDT and syscall tests." || {
2689 test_event_rule_matches_probe
2690 test_event_rule_matches_userspace_probe_elf
2691 skip $sdt_binary_present "No SDT binary. Skipping userspace probe SDT tests" 9 || test_event_rule_matches_userspace_probe_sdt
2692 test_event_rule_matches_syscall
2693}
19904669
SM
2694test_session_consumed_size_condition
2695test_buffer_usage_conditions
2696test_session_rotation_conditions
0de2479d 2697test_snapshot_action
e45dd625 2698test_notify_action
0de2479d 2699
be7f9dfc
FD
2700stop_lttng_sessiond_notap
2701
0de2479d
SM
2702# Cleanup
2703rm -f "${tmp_stdout}"
2704rm -f "${tmp_stderr}"
2705rm -f "${tmp_expected_stdout}"
This page took 0.164664 seconds and 4 git commands to generate.