Comments (3)
A user on IRC just ran into this (via different sources pushing metrics to the StatsD exporter).
from client_golang.
Currently, the Desc doesn't contain the metric type (for a reason, but that would take too long to explain, and the relevance of that reason has decreased a lot over time). Thus, we cannot detect those collisions during registration time (unless we want to ban all metrics ending on _count
, _sum
, and _bucket
).
With the changes planned for v0.10 (i.e. #222 ), a registration check as described above will be possible.
Thus, my plan for v0.9 is to detect the collisions during scrape time (and therefore not expose something that a current Prometheus server cannot ingest). In v0.10, those collisions will be detected during registration time.
Also, we can right now prevent labels called quantile
in summaries with quantiles (simply on instantiation time of a Summary type, I think this is a fair reason to panic).
I will rename this issue accordingly and create a separate one for the v0.10 part.
from client_golang.
While this should not strictly be a concern of the client (in principle, a future version of the Prometheus server could treat summaries and histograms as 1st class types that do not get dissected into a number of series with the names described above), we should nevertheless avoid name collisions.
Ha, here you can see my wishful thinking more than three years ago. Now we have the flattening even in the only exposition format the server understands…
from client_golang.
Related Issues (20)
- Adding new metrics after registering collector
- Changelog automation HOT 9
- Auto increment supported Go version HOT 4
- Locally reproducible CI/CD HOT 7
- [CI]: Add Concurrency Grouping to GitHub Workflows HOT 2
- API Mocks HOT 6
- Support the SetWriteDeadline and SetReadDeadline interfaces
- Prometheus exp. format: Detect and sort series with label values containing numbers numerically not lexicographically HOT 2
- Build break after updating HOT 6
- Client model `metrics.pb.go` init function is ruining benchmarks
- Q: Are you going to release a new version anytime soon? HOT 4
- promlint: Refine lintMetricTypeInName
- Is the godoc for MetricVec.GetMetricWithLabelValues() wrong? HOT 3
- Propose to add GetMetricWithLabelvaluesIfExist fuction to XXXVec struct HOT 2
- A potential goroutine memory leak HOT 1
- Consider support for testing exemplars in prometheus/testutil HOT 4
- The latest version of the package provides methods that are not compatible with version 1.12 HOT 1
- Remove go-spew dependency HOT 2
- Document the bridge that allows for client_golang instrumented code to push with OpenTelemetry OTLP HOT 3
- go_memstats_gc_cpu_fraction HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from client_golang.