Provide unit conversion for common non-second duration instruments (TSH-20621) (copy #8415)#8423
Merged
Provide unit conversion for common non-second duration instruments (TSH-20621) (copy #8415)#8423
Conversation
(cherry picked from commit 4bb451f)
(cherry picked from commit 70e5df5)
(cherry picked from commit 093de82)
…-generated suggestions) (cherry picked from commit 6486219)
(cherry picked from commit 0186eb9)
…-generated suggestions) (cherry picked from commit 3e997f1)
(cherry picked from commit 2a688cc)
|
@mergify[bot]: Thank you for submitting a pull request! Before we can merge it, you'll need to sign the Apollo Contributor License Agreement here: https://contribute.apollographql.com/ |
10 tasks
✅ Docs preview readyThe preview is ready to be viewed. View the preview File Changes 0 new, 1 changed, 0 removedBuild ID: ab192899b01ec0e981fdb229 URL: https://www.apollographql.com/docs/deploy-preview/ab192899b01ec0e981fdb229 |
bnjjj
approved these changes
Oct 15, 2025
Signed-off-by: Benjamin <5719034+bnjjj@users.noreply.github.com>
7f2ffe5 to
3c65baf
Compare
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.
Customers of Apollo integrate their OTLP streams with various different observability platform providers that have varying levels of sophistication on how they ingest incoming data.
We have a migration blocking use case where we require the ability to have a metric stream be sent in units of milliseconds. If this was a brand new metric we wouldnt need to, but:
The custom metric has existed for years on our Apollo Gateway based federated graph, emanating this metric as milliseconds and is defined as milliseconds in Datadog
Our internal customers have significantly leveraged this metric over the years and there are 2,322 different datadog artifacts (dashboards, SLOs, monitors, etc) that use this metric, is referred 4,184 different times. We do not have the capacity of transitioning customers to a new metric that uses different units at this time, it would have to be a gradual process over time, after completion of our Router migration
We need both Router and Gateway to be producing this metric as we migrate the remainder of traffic off our Gateway solution so that those using this metric to monitor the performance and availability of subgraphs have continuity throughout the migration of clients from the Gateway soluction to the Router solution.
When attempting to send this metric via Router, it was observed that the values emanated from Router are 1000 times lower... the Datadog ingestion pipeline will not do unit conversion of incoming data to match how the metric is defined in the metric metadata.
Therefore we need Router the ability for Router to emanate this metric in ms units. I am fine with verbiage in the documentation that one should strive to use second units for durations, and only use non-seconds when they uncover the reality of integrating with various OTLP ingesting systems requires some flexibility, especially for migrations where your customers may have heavily invested in a particular metric in their previous incarnation of a federated graph with Gateway.
Checklist
Complete the checklist (and note appropriate exceptions) before the PR is marked ready-for-review.
Exceptions
Note any exceptions here
Notes
This is an automatic copy of pull request #8415 done by [Mergify](https://mergify.com).
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. ↩
A lot of (if not most) features benefit from built-in observability and
debug-level logs. Please read this guidance on metrics best-practices. ↩Tick whichever testing boxes are applicable. If you are adding Manual Tests, please document the manual testing (extensively) in the Exceptions. ↩