Hi Brian,
Good point. You are right that the inaccuracy applies across the range, not only at >100%.
Unfortunately, neither of those metrics exists. The application only exposes two counters:
- application_soap_requests_recv_total - incremented at request ingress
- application_soap_unsuccessful_responses_sent_total - incremented when a failure response is sent
There is no application_soap_successful_responses_sent_total or combined application_soap_responses_sent_total. The two counters are incremented at different code points in the request processing pipeline, so the numerator is not a subset of the denominator.
Given that constraint, would clamp() be the least-bad approach for bounding the display, or is widening the rate window (from 1m to 5m) a better trade-off to reduce the drift frequency?
For reliable alerting, I assume the only proper fix is adding application_soap_successful_responses_sent_total counter to the application so the query can use:
unsuccessful / (successful + unsuccessful)
Thanks,
Teja