feat: add status dimension in worker metrics - #13
Open
Kaitou786 wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
Adding the status as part of the worker metrics.
Why
Without status, worker metrics aggregate all invocation outcomes together. This causes misleading data because failed/disconnected requests have vastly different performance characteristics than successful ones.
If we use
cloudflare_worker_cpu_time_secondsto determine how much time the worker is taking, currently, the data can be skewed assuccessstatus takes far less time thanclientDisconnectedstatus.Without the proper slicing/filtering of the data, it becomes difficult to measure and alert based on the above metric.
Tesing
This should be a completely safe change, especially since we are already fetching this value from the Cloudflare GraphQL API:
cloudflare-prometheus-exporter/src/cloudflare/gql/queries.ts
Lines 373 to 388 in ca74cdb
However, I did run it against a Cloudflare account using:
post which using going to
http://localhost:8787/metricsI could see: