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]

Reply via email to