-
Notifications
You must be signed in to change notification settings - Fork 95
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
blobstore: Add metrics_tag
config field
#205
base: master
Are you sure you want to change the base?
Conversation
With the config attached below, I started a
The counts for the respective tags were:
I wouldn't mind adding an appropriate test though; any ideas on a better testing approach? Config:
|
2e717ee
to
e8ef171
Compare
Instead of actually having a separate metrics_tag, what are your thoughts on reusing the existing |
I'm trying to make it a bit easier to probe metrics at any layer, so it's a bit more clear when things are misconfigured. The WithLabelsBlobAccess does look like a good candidate for this, but I'm concerned it will complicate things in practice:
With this approach, one only needs to add unique As an added bonus, metrics for the same labeled backend can be tracked with different identifiers if the labeled backend is reused, making it possible to track metrics for disparate entrypoints into the same labeled backend separately if desired. In the example above, the labeled backend calls can be measured via the |
WIP; more description to come
e8ef171
to
a670343
Compare
This change adds a single string field to the base blobstore config message, the value of which gets propagated to a tag value on exported metrics for the corresponding backend instance.
In particular, this change allows for attaching different tags on separate uses of a single "label" backend in order to collect metrics specific to a particular instantiation. Without this change, all accesses to the referenced backend shared one combined set of metrics; with this change, it's possible to set separate
metrics_tag
values on each instantiation and collect separate metrics, as well as tagging the underlying backend and grabbing aggregate metrics as well.TODO before marking non-draft:
Tested: see comment below