moonchen opened a new pull request, #13346:
URL: https://github.com/apache/trafficserver/pull/13346
`STATE_ENTER` passed `&HttpSM::<state>` straight through as the USDT probe
name, so the probes were emitted with names like:
```
&HttpSM::state_read_client_request_header
&HttpSM::tunnel_handler_post
```
The `&` and `::` characters are illegal in USDT probe names — `bpftrace`
and `perf` treat `:` as the provider/name field separator and reject `&`
— so these ~41 probes could not be attached by name at all.
This passes the bare handler name from each call site and prepends the
prefix inside the macro, producing valid names that share a common
wildcard:
```
state_enter_state_read_client_request_header
state_enter_tunnel_handler_post
```
```
bpftrace -e 'usdt:.../traffic_server:trafficserver:state_enter_* {
printf("sm=%d %s\n", arg0, probe); }'
```
It also fixes a `&HttpSM :` typo (`STATE_ENTER` for `state_cache_open_write`)
that had collapsed one probe to a bare `&HttpSM`. The debug log is
unchanged in meaning (`[state_read_client_request_header, EVENT]`).
The broken names were introduced by #11769; this is independent of the
in-flight USDT work in #13344.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]