-
Notifications
You must be signed in to change notification settings - Fork 831
Open
Description
Summary
We should consider targeting a release soon to deliver several valuable improvements that have been completed or are near completion.
Proposed Improvements
🚀 Performance Enhancement
- #1794: Improve histogram/summary performance under contention - Significant throughput improvements for high-contention scenarios by striping
observationCountacross multiple instances. Benchmarks show prometheusClassic improving from ~5,126 ops/s to ~14,624 ops/s (~185% improvement) and prometheusNative from ~3,854 ops/s to ~7,406 ops/s (~92% improvement).
📊 Observability
- #1738: Add GC duration histogram - Introduces
jvm_gc_duration_secondsmetric to track JVM garbage collection pause durations. Uses OpenTelemetry semantic convention-aligned buckets (0.01, 0.1, 1, 10) with labels for gc name, action, and cause, enabling detailed monitoring of GC behavior and latency spikes.
⚙️ Configuration
- #1828: Support environment variables in properties - Adds environment variable support for configuration (e.g.,
IO_PROMETHEUS_EXPORTER_HTTP_SERVER_PORT) while maintaining full backward compatibility. Also introduces snake_case property naming (recommended) while keeping camelCase working.
🔧 Flexibility
- #1800: Allow metrics with the same name (Option Sample Values Should be Double, Not Float #2) - Enables registration of metrics with the same name, with validation at both registration and scrape time.
Benefits
These improvements collectively enhance:
- Performance under high-load scenarios
- Observability of JVM runtime behavior
- Configuration flexibility for different deployment environments
- API flexibility for metric registration
Metadata
Metadata
Assignees
Labels
No labels