feat: Add counter metric for http.send network requests #7851
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR implements issue #6838 by adding a counter metric to track the number of actual HTTP network requests made by the
http.sendbuiltin.What this adds
rego_builtin_http_send_network_requestsImplementation details
The counter increments in both cache implementations:
interQueryCache.ExecuteHTTPRequest()- for inter-query cache missesintraQueryCache.ExecuteHTTPRequest()- for intra-query cache missesThis ensures all actual network requests are counted while cache hits are properly excluded.
Usage
When querying with
?metrics=true, the response will include:{ "metrics": { "counter_rego_builtin_http_send_network_requests": 3, "counter_rego_builtin_http_send_interquery_cache_hits": 1 } }Testing
Added comprehensive test coverage in
TestHTTPSendMetricsthat verifies:Impact
This gives OPA users visibility into HTTP usage patterns in their policies, helping with:
Fixes #6838