-
Notifications
You must be signed in to change notification settings - Fork 272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate monotonic counter metrics to u64_counter!
#6350
Conversation
Notes: - Fixed a typo in the not found attribute: `persisted_quieries.not_found` -> `persisted_queries.not_found`. - Added description, it would be useful for someone to check it. It reads to me like *every* request is measured?
Notes: - Removes the `apollo_router_deduplicated_subscriptions_total` metric. This is already captured by `apollo.router.operations.subscriptions` in the `subscriptions.deduplicated` attribute. - The `apollo.router.operations.batching` metric appears to use an older style of attribute naming?
Notes: - The description for `apollo_router_skipped_event_count` may not entirely be correct?
Notes: - This combined a log message and a metric: now they are separate.
✅ Docs Preview ReadyNo new or changed pages found. |
This comment has been minimized.
This comment has been minimized.
CI performance tests
|
@@ -210,7 +210,7 @@ where | |||
Response: Send + 'static + Debug, | |||
TransformedResponse: Send + 'static + Debug, | |||
{ | |||
let query = query_name::<Query>(); | |||
let query_name = query_name::<Query>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to clarify that it isn't the full query text.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On metrics you marked as deprecated in description that could be interesting to also document it as deprecated in docs. We already have a deprecated section. I know it's also part of another ticket but we both work on deprecating different metrics so in order to not forget any of these deprecated metrics I think it's worth documenting it directly
); | ||
u64_counter!( | ||
"apollo.router.operations.jwt", | ||
"Number of requests with JWT authentication", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if we should not add authentication.jwt.failed = false
in the future (for 2.0) to be consistent with what sigv4 is doing for example
Co-authored-by: Coenen Benjamin <[email protected]>
…custom instrumentation
This reverts commit 7e02584.
- `apollo_authentication_failure_count` - **Deprecated**: use the `apollo.router.operations.authentication.jwt` metric's `authentication.jwt.failed` attribute. | ||
- `apollo_authentication_success_count` - **Deprecated**: use the `apollo.router.operations.authentication.jwt` metric instead. If the `authentication.jwt.failed` attribute is *absent* or `false`, the authentication succeeded. | ||
- `apollo_require_authentication_failure_count` - **Deprecated**: TODO @goto-bus-stop: no replacement? | ||
- `apollo_router_timeout` - **Deprecated**: this metric conflates timed-out requests from client to the router, and requests from the router to subgraphs. Timed-out requests have HTTP status code 504. Use the `http.response.status_code` attribute on the `http.server.request.duration` metric to identify timed-out router requests, and on the `http.client.request.duration` metric to identify timed-out subgraph requests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please verify this. @BrynCooke shared a config for default_requirement_level: required
, but that is the default, so I think this should work?
Un-deprecated The rest should be in order. @BrynCooke @bnjjj PTAL at |
docs/source/reference/router/telemetry/instrumentation/standard-instruments.mdx
Outdated
Show resolved
Hide resolved
@BrynCooke I see some comments in my email that I can't find on Github. I think the metrics I marked as deprecated here all have a free-to-use migration path in 1.x and have appropriate steps in the docs? |
This is part 1 out of... 4 or 5? of a series of work to move over to our new telemetry macros.
This part does the easiest part :), the
tracing::info!(monotonic_counter.)
macros that should now useu64_counter!()
. I used a lot of commits so I could take notes while doing the work, I'll copy them to PR comments so there's no need to look at each commit individually.I avoided breaking changes to the metrics for now, so this is targeted at 1.x.
Two uses of
tracing::info!(monotonic_counter.)
remain, these are already being addressed in #6338.Checklist
Complete the checklist (and note appropriate exceptions) before the PR is marked ready-for-review.
Exceptions
Note any exceptions here
Notes
Footnotes
It may be appropriate to bring upcoming changes to the attention of other (impacted) groups. Please endeavour to do this before seeking PR approval. The mechanism for doing this will vary considerably, so use your judgement as to how and when to do this. ↩
Configuration is an important part of many changes. Where applicable please try to document configuration examples. ↩
Tick whichever testing boxes are applicable. If you are adding Manual Tests, please document the manual testing (extensively) in the Exceptions. ↩