Differentiate servers running within a single runtime #705
+170
−48
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.
💸 TL;DR
Our thrift server metrics assume that there will only be one server running within a single runtime. This is not always true. If a second server is running, the thrift server metrics will clash with one another. This PR adds a serverName label to our serverside metrics.
📜 Details
This update is backwards compatible, and notably should not increase cardinality in any significant way. Preexisting metric usage will emit "unknown" as the serverName, which will retain metric cardinality and will add a negligible amount of data for metric DBs.
The API itself does not enable backward compatible attribute changes. We have a choice. We can:
Commonly, we might make use of the optionals or builder pattern for forward looking, backwards compatible changes. Instead though we've opted to use a Cfg struct, as this matches patterns found elsewhere in the repo.
🧪 Testing Steps / Validation
Unit tests
✅ Checks