moonchen opened a new pull request, #13365:
URL: https://github.com/apache/trafficserver/pull/13365
Backport of #13346.
`STATE_ENTER` passed `&HttpSM::<state>` straight through as the USDT probe
name, so probes were emitted as e.g.
`&HttpSM::state_read_client_request_header`.
The `&` and `::` characters are illegal in USDT probe names: bpftrace and
perf
treat `:` as the provider/name field separator and reject `&`, so these
probes
could not be attached by name.
Pass the bare handler name from each call site and add the prefix in the
macro, producing valid names like
`state_enter_state_read_client_request_header`
that share a common `state_enter_*` wildcard. Also fixes a `&HttpSM :` typo
that had collapsed one probe to a bare `&HttpSM`, and a call site that passed
the wrong label (`tunnel_handler_plugin_client` from
`tunnel_handler_plugin_agent`)
so the probe name matches its handler.
Did not cherry-pick cleanly:
- `state_http_server_open` conflicted with the exponential-backoff retry
logic from #12397, which isn't in 10.1.x; resolved by keeping 10.1.x's
version of that function.
- Two call sites that 10.1.x still carries but master no longer has
(`state_pre_resolve`, `state_mark_os_down`) also needed converting to the
new macro syntax, or the file wouldn't compile.
Verified `traffic_server` builds clean on 10.1.x with this applied.
--
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]