Comments (2)
Related: https://github.com/prometheus/client_java/blob/master/benchmark/README.md
The java client manages 12-17ns per Counter increment.
from client_golang.
Now we are down to below 10ns for setting a Gauge. Yay!
The two main uses of mutexes left are for vectors and for summaries. I don't see a way around them for the former, but if performance matters, the metric object can be retrieved once, and then all the updates can be performed on the metric directly. That has always been well documented.
Summaries are anyway inherently slow because they are doing so much more. Perhaps there is a slow optimization potential (using some channel based approach), but it would be complex and can only shave off a few percent if at all.
Closing this.
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.