1dbc3f042SMasami Hiramatsu#!/bin/sh 2dbc3f042SMasami Hiramatsu# SPDX-License-Identifier: GPL-2.0 3dbc3f042SMasami Hiramatsu# description: Generic dynamic event - generic clear event 4dbc3f042SMasami Hiramatsu 5dbc3f042SMasami Hiramatsu[ -f dynamic_events ] || exit_unsupported 6dbc3f042SMasami Hiramatsu 7dbc3f042SMasami Hiramatsugrep -q "place: \[<module>:\]<symbol>" README || exit_unsupported 8dbc3f042SMasami Hiramatsugrep -q "place (kretprobe): \[<module>:\]<symbol>" README || exit_unsupported 9dbc3f042SMasami Hiramatsu 10dbc3f042SMasami Hiramatsugrep -q "s:\[synthetic/\]" README || exit_unsupported 11dbc3f042SMasami Hiramatsu 12dbc3f042SMasami Hiramatsuecho 0 > events/enable 13dbc3f042SMasami Hiramatsuecho > dynamic_events 14dbc3f042SMasami Hiramatsu 15dbc3f042SMasami HiramatsuPLACE=_do_fork 16dbc3f042SMasami Hiramatsu 17dbc3f042SMasami Hiramatsusetup_events() { 18dbc3f042SMasami Hiramatsuecho "p:myevent1 $PLACE" >> dynamic_events 19dbc3f042SMasami Hiramatsuecho "s:latency1 u64 lat; pid_t pid;" >> dynamic_events 20dbc3f042SMasami Hiramatsuecho "r:myevent2 $PLACE" >> dynamic_events 21dbc3f042SMasami Hiramatsuecho "s:latency2 u64 lat; pid_t pid;" >> dynamic_events 22dbc3f042SMasami Hiramatsu 23dbc3f042SMasami Hiramatsugrep -q myevent1 dynamic_events 24dbc3f042SMasami Hiramatsugrep -q myevent2 dynamic_events 25dbc3f042SMasami Hiramatsugrep -q latency1 dynamic_events 26dbc3f042SMasami Hiramatsugrep -q latency2 dynamic_events 27dbc3f042SMasami Hiramatsu} 28dbc3f042SMasami Hiramatsu 29dbc3f042SMasami Hiramatsusetup_events 30dbc3f042SMasami Hiramatsu 31dbc3f042SMasami Hiramatsuecho "!p:myevent1 $PLACE" >> dynamic_events 32dbc3f042SMasami Hiramatsu! grep -q myevent1 dynamic_events 33dbc3f042SMasami Hiramatsugrep -q myevent2 dynamic_events 34dbc3f042SMasami Hiramatsugrep -q latency1 dynamic_events 35dbc3f042SMasami Hiramatsugrep -q latency2 dynamic_events 36dbc3f042SMasami Hiramatsu 37dbc3f042SMasami Hiramatsuecho "!s:latency1 u64 lat; pid_t pid;" >> dynamic_events 38dbc3f042SMasami Hiramatsugrep -q myevent2 dynamic_events 39dbc3f042SMasami Hiramatsu! grep -q latency1 dynamic_events 40dbc3f042SMasami Hiramatsugrep -q latency2 dynamic_events 41dbc3f042SMasami Hiramatsu 42dbc3f042SMasami Hiramatsuecho "!r:myevent2 $PLACE" >> dynamic_events 43dbc3f042SMasami Hiramatsu! grep -q myevent2 dynamic_events 44dbc3f042SMasami Hiramatsugrep -q latency2 dynamic_events 45dbc3f042SMasami Hiramatsu 46dbc3f042SMasami Hiramatsuecho "!s:latency2 u64 lat; pid_t pid;" >> dynamic_events 47dbc3f042SMasami Hiramatsu! grep -q latency2 dynamic_events 48dbc3f042SMasami Hiramatsu 49dbc3f042SMasami Hiramatsuecho > dynamic_events 50