Felix-Gong opened a new issue, #11474:
URL: https://github.com/apache/rocketmq/issues/11474

   ### Search before asking
   
   I checked open and closed issues and PRs for proxy admin metrics, 
OpenTelemetry on the control plane and admin gRPC instrumentation. What exists 
is adjacent, not this:
   
   - #10901 / #10833 touch how metric config values are parsed (OTLP headers, 
colon-separated labels); #10950 masks them in config logs.
   - #10603 (RIP-2) adds its own `ClientAdminMetricsRecorder` for the new 
client-admin query endpoint — service-level instrumentation for code that does 
not exist on develop yet.
   - #10825 tracks the admin interface work in general.
   
   Nothing records anything for the admin gRPC server that actually ships 
today: `ProxyAdminAuthInterceptor` answers every admin RPC (thread dumps, 
message verification, group resets, topic updates...) and `rocketmq_proxy_up` 
is the only proxy instrument in the pipeline.
   
   ### What happened?
   
   `ProxyMetricsManager` initializes an OpenTelemetry meter in both proxy modes 
and exports it (OTLP/Prometheus/log), but the only instrument it registers is 
the `rocketmq_proxy_up` gauge. The admin gRPC server — the control plane 
surface every ops tool talks to — contributes no counter, no latency histogram, 
no error count.
   
   So on a running proxy you cannot answer: is the admin interface being called 
at all, which methods are hot, how long do admin calls take, and — the 
important one — is anything failing (auth rejections, broken forwards, internal 
errors) while the dashboard still shows a healthy `rocketmq_proxy_up = 1`.
   
   ### Expected behavior
   
   Each admin RPC should produce one count and one latency sample, labeled with 
the method name and terminal status code, exported through the proxy's existing 
OpenTelemetry pipeline alongside `rocketmq_proxy_up`. Calls rejected by the 
auth interceptor should be counted too (that is where failures would show up 
first), and everything should degrade to a no-op when metrics are disabled or 
the manager has not started — same idiom the broker uses for optional 
instruments.
   
   ### Runtime
   
   develop at 57c2dc0, JDK 11. No proto change, no new dependency: the 
interceptor, the two instruments and tests live entirely in `proxy`.
   


-- 
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