github prometheus/client_java v1.5.0

5 hours ago

Highlights

Performance

  • Improve histogram/summary performance under contention (#1794) by @jack-berg — Significant throughput improvements for high-contention scenarios by striping observationCount across 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).

Configuration

  • Support environment variables in properties (#1828) by @zeitlinger — 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.

API

  • Allow metrics with the same name but different labels (#1800) by @jaydeluca — Enables registration of metrics with the same name, with validation at both registration and scrape time.
  • Add stable Metrics class to decouple consumers from protobuf version (#1873) by @zeitlinger — Introduces a stable Metrics class so consumer code no longer needs import updates on protobuf upgrades.

OpenTelemetry

  • Add OTel support module and make examples standalone (#1868) by @zeitlinger — New prometheus-metrics-otel-support module that bundles the OTel SDK and Prometheus exporter as a single dependency. Examples are now standalone and can be copy-pasted directly.
  • Add docs and example for OTel JVM runtime metrics (#1861) by @zeitlinger

Exporters

  • Add metricsHandlerPath and registerHealthHandler configuration options to HTTPServer (#1735) by @Donnerbart
  • Disable compression in PrometheusScrapeHandler (#1691) by @Myllyenko — Adds ability to disable compression in PrometheusScrapeHandler.
  • Prevent exception in HttpServer exporter when using custom root metrics path (#1772) by @Donnerbart

Instrumentation


What's Changed

🏕 Features

  • Adding ability to disable compression in PrometheusScrapeHandler by @Myllyenko in #1691
  • Add metricsHandlerPath and registerHealthHandler configuration options to HTTPServer by @Donnerbart in #1735
  • Add custom tags to JVM metrics by @sibasispadhi in #1769
  • Prevent exception in HttpServer exporter when using custom root metrics path by @Donnerbart in #1772
  • Allow metrics with the same name different labels by @jaydeluca in #1800
  • Improve histogram, summary performance under contention by striping observationCount by @jack-berg in #1794
  • support environment variables in properties by @zeitlinger in #1828
  • Verify and document native histograms with custom buckets (NHCB) support by @zeitlinger in #1846
  • Remove help text validation by @jaydeluca in #1866
  • Add docs and example for OTel JVM runtime metrics by @zeitlinger in #1861
  • Add OTel support module and make examples standalone by @zeitlinger in #1868
  • Add stable Metrics class to decouple consumers from protobuf version by @zeitlinger in #1873

🔧 Maintenance

🧹 Chore

👒 Dependencies

  • fix(deps): update dependency commons-io:commons-io to v2.21.0 by @renovate[bot] in #1670
  • chore(deps): update eclipse-temurin:25-jre docker digest to 4a26dfc by @renovate[bot] in #1671
  • chore(deps): update eclipse-temurin:25-jre docker digest to dbfb525 by @renovate[bot] in #1673
  • chore(deps): update eclipse-temurin docker tag to v25.0.1_8-jre by @renovate[bot] in #1672
  • chore(deps): update dependency mise to v2025.11.3 by @renovate[bot] in #1674
  • chore(deps): update eclipse-temurin:25.0.1_8-jre docker digest to 31fb090 by @renovate[bot] in #1675
  • chore(deps): update grafana/k6 docker digest to ef816d9 by @renovate[bot] in #1677
  • fix(deps): update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.14 by @renovate[bot] in #1678
  • chore(deps): update eclipse-temurin:25.0.1_8-jre docker digest to ac6ce08 by @renovate[bot] in #1679
  • fix(deps): update jetty monorepo to v12.1.4 by @renovate[bot] in #1680
  • chore(deps): update jdx/mise-action action to v3.4.1 by @renovate[bot] in #1682
  • chore(deps): update eclipse-temurin:25.0.1_8-jre docker digest to daeb27e by @renovate[bot] in #1683
  • fix(deps): update protobuf monorepo by @renovate[bot] in #1681
  • chore(deps): update dependency org.wiremock:wiremock to v3.13.2 by @renovate[bot] in #1685
  • chore(deps): update eclipse-temurin:25.0.1_8-jre docker digest to 73fe03b by @renovate[bot] in #1687
  • chore(deps): update dependency mise to v2025.11.5 by @renovate[bot] in #1688
  • chore(deps): update dependency org.apache.maven.plugins:maven-jar-plugin to v3.5.0 by @renovate[bot] in #1686
  • chore(deps): update actions/checkout digest to 93cb6ef by @renovate[bot] in #1689
  • chore(deps): update actions/checkout action to v5.0.1 by @renovate[bot] in #1690
  • chore(deps): update grafana/grafana docker tag to v12.3.0 by @renovate[bot] in #1693
  • chore(deps): update dependency com.diffplug.spotless:spotless-maven-plugin to v3.1.0 by @renovate[bot] in #1692
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.140.1 by @renovate[bot] in #1695
  • fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v3.5.8 by @renovate[bot] in #1696
  • chore(deps): update grafana/k6 docker digest to d8e305a by @renovate[bot] in #1697
  • chore(deps): update actions/checkout action to v6 by @renovate[bot] in #1698
  • fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v4 by @renovate[bot] in #1699
  • chore(deps): update jdx/mise-action action to v3.5.0 by @renovate[bot] in #1700
  • chore(deps): update dependency org.codehaus.mojo:versions-maven-plugin to v2.20.0 by @renovate[bot] in #1701
  • chore(deps): update dependency mise to v2025.11.7 by @renovate[bot] in #1702
  • chore(deps): update jdx/mise-action action to v3.5.1 by @renovate[bot] in #1703
  • chore(deps): update grafana/k6 docker digest to 16bc234 by @renovate[bot] in #1704
  • chore(deps): update dependency org.codehaus.mojo:versions-maven-plugin to v2.20.1 by @renovate[bot] in #1705
  • chore(deps): update dependency com.google.errorprone:error_prone_core to v2.45.0 by @renovate[bot] in #1706
  • chore(deps): update module go:github.com/grafana/oats to v0.5.0 by @renovate[bot] in #1707
  • chore(deps): update dependency org.apache.maven.plugins:maven-resources-plugin to v3.4.0 by @renovate[bot] in #1709
  • chore(deps): update dependency org.apache.maven.plugins:maven-source-plugin to v3.4.0 by @renovate[bot] in #1710
  • chore(deps): update dependency mise to v2025.11.11 by @renovate[bot] in #1711
  • chore(deps): update dependency com.uber.nullaway:nullaway to v0.12.13 by @renovate[bot] in #1713
  • chore(deps): update module go:github.com/grafana/oats to v0.6.0 by @renovate[bot] in #1714
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.141.0 by @renovate[bot] in #1715
  • chore(deps): update actions/checkout digest to 8e8c483 by @renovate[bot] in #1717
  • chore(deps): update actions/checkout action to v6.0.1 by @renovate[bot] in #1718
  • chore(deps): update prom/prometheus docker tag to v3.8.0 by @renovate[bot] in #1716
  • chore(deps): update otel/opentelemetry-collector-contrib:0.141.0 docker digest to b14234c by @renovate[bot] in #1719
  • chore(deps): update actions/setup-java digest to f2beeb2 by @renovate[bot] in #1720
  • chore(deps): update dependency com.uber.nullaway:nullaway to v0.12.14 by @renovate[bot] in #1721
  • fix(deps): update jetty monorepo to v12.1.5 by @renovate[bot] in #1722
  • chore(deps): update dependency lychee to v0.22.0 by @renovate[bot] in #1723
  • chore(deps): update dependency mise to v2025.12.0 by @renovate[bot] in #1725
  • fix(deps): update protobuf monorepo by @renovate[bot] in #1724
  • fix(deps): update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.15 by @renovate[bot] in #1726
  • chore(deps): update dependency org.mockito:mockito-core to v5.21.0 by @renovate[bot] in #1731
  • chore(deps): update eclipse-temurin:25.0.1_8-jre docker digest to f6b0925 by @renovate[bot] in #1732
  • chore(deps): update actions/cache action to v5 by @renovate[bot] in #1736
  • chore(deps): update actions/cache digest to 9255dc7 by @renovate[bot] in #1737
  • chore(deps): update dependency mise to v2025.12.7 by @renovate[bot] in #1739
  • chore(deps): update dependency org.testcontainers:junit-jupiter to v1.21.4 by @renovate[bot] in #1740
  • chore(deps): update super-linter/super-linter action to v8.3.1 by @renovate[bot] in #1743
  • chore(deps): update prom/prometheus docker tag to v3.8.1 by @renovate[bot] in #1742
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.142.0 by @renovate[bot] in #1741
  • chore(deps): update grafana/grafana docker tag to v12.3.1 by @renovate[bot] in #1745
  • chore(deps): update dependency maven to v3.9.12 by @renovate[bot] in #1744
  • fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v4.0.1 by @renovate[bot] in #1746
  • chore(deps): update grafana/grafana:12.3.1 docker digest to 2175aaa by @renovate[bot] in #1747
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.153.0 by @renovate[bot] in #1748
  • chore(deps): update dependency com.uber.nullaway:nullaway to v0.12.15 by @renovate[bot] in #1749
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.153.1 by @renovate[bot] in #1750
  • chore(deps): update dependency org.codehaus.mojo:exec-maven-plugin to v3.6.3 by @renovate[bot] in #1751
  • chore(deps): update dependency mise to v2025.12.12 by @renovate[bot] in #1752
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.153.2 by @renovate[bot] in #1753
  • chore(deps): update super-linter/super-linter action to v8.3.2 by @renovate[bot] in #1754
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.153.3 by @renovate[bot] in #1756
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.153.4 by @renovate[bot] in #1757
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.153.5 by @renovate[bot] in #1758
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.154.0 by @renovate[bot] in #1759
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.154.2 by @renovate[bot] in #1760
  • chore(deps): update dependency mise to v2025.12.13 by @renovate[bot] in #1761
  • chore(deps): update grafana/k6 docker digest to a7c79af by @renovate[bot] in #1763
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.143.0 by @renovate[bot] in #1765
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.143.1 by @renovate[bot] in #1767
  • fix(deps): update junit-framework monorepo to v6.0.2 by @renovate[bot] in #1764
  • chore(deps): update prom/prometheus docker tag to v3.9.0 by @renovate[bot] in #1768
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.154.3 by @renovate[bot] in #1766
  • chore(deps): update prom/prometheus docker tag to v3.9.1 by @renovate[bot] in #1770
  • chore(deps): update dependency org.sonatype.central:central-publishing-maven-plugin to v0.10.0 by @renovate[bot] in #1771
  • chore(deps): update dependency com.google.errorprone:error_prone_core to v2.46.0 by @renovate[bot] in #1773
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.154.4 by @renovate[bot] in #1775
  • chore(deps): update dependency mise to v2026 by @renovate[bot] in #1777
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.154.5 by @renovate[bot] in #1776
  • fix(deps): update protobuf monorepo by @renovate[bot] in #1774
  • chore(deps): update eclipse-temurin:25.0.1_8-jre docker digest to 968f191 by @renovate[bot] in #1779
  • fix(deps): update protobuf monorepo by @renovate[bot] in #1778
  • chore(deps): update eclipse-temurin:25.0.1_8-jre docker digest to 96bccca by @renovate[bot] in #1782
  • chore(deps): update dependency org.codehaus.mojo:versions-maven-plugin to v2.21.0 by @renovate[bot] in #1786
  • chore(deps): update dependency mise to v2026.1.4 by @renovate[bot] in #1785
  • chore(deps): update jdx/mise-action action to v3.6.0 by @renovate[bot] in #1784
  • chore(deps): update actions/cache action to v5.0.2 by @renovate[bot] in #1788
  • chore(deps): update grafana/tempo docker tag to v2.9.1 by @renovate[bot] in #1789
  • chore(deps): update eclipse-temurin:25.0.1_8-jre docker digest to 9d1d306 by @renovate[bot] in #1790
  • chore(deps): update jdx/mise-action action to v3.6.1 by @renovate[bot] in #1791
  • chore(deps): update dependency com.uber.nullaway:nullaway to v0.13.0 by @renovate[bot] in #1792
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.144.0 by @renovate[bot] in #1793
  • chore(deps): update actions/setup-java digest to be666c2 by @renovate[bot] in #1796
  • fix(deps): update dependency org.springframework.boot:spring-boot-starter-parent to v4.0.2 by @renovate[bot] in #1797
  • chore(deps): update dependency com.diffplug.spotless:spotless-maven-plugin to v3.2.0 by @renovate[bot] in #1799
  • chore(deps): update actions/checkout action to v6.0.2 by @renovate[bot] in #1798
  • chore(deps): update dependency org.assertj:assertj-core to v3.27.7 by @renovate[bot] in #1801
  • fix(deps): update dependency io.dropwizard.metrics:metrics-core to v4.2.38 by @renovate[bot] in #1805
  • chore(deps): update dependency mise to v2026.1.7 by @renovate[bot] in #1804
  • fix(deps): update dependency io.dropwizard.metrics5:metrics-core to v5.0.6 by @renovate[bot] in #1806
  • chore(deps): update dependency org.assertj:assertj-core to v3.27.7 by @renovate[bot] in #1807
  • chore(deps): update dependency java to v25.0.2+10.0.lts by @renovate[bot] in #1813
  • chore(config): migrate Renovate config by @renovate[bot] in #1815
  • fix(deps): update dependency org.apache.tomcat.embed:tomcat-embed-core to v11.0.18 by @renovate[bot] in #1820
  • chore(deps): update grafana/tempo docker tag to v2.10.0 by @renovate[bot] in #1821
  • chore(deps): update dependency com.uber.nullaway:nullaway to v0.13.1 by @renovate[bot] in #1822
  • chore(deps): update grafana/grafana docker tag to v12.3.2 by @renovate[bot] in #1824
  • chore(deps): update dependency com.diffplug.spotless:spotless-maven-plugin to v3.2.1 by @renovate[bot] in #1825
  • chore(deps): update ghcr.io/super-linter/super-linter docker tag to v8.4.0 by @renovate[bot] in #1826
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.155.0 by @renovate[bot] in #1831
  • chore(deps): update super-linter to v8.4.0 by @renovate[bot] in #1830
  • chore(deps): update actions/cache action to v5.0.3 by @renovate[bot] in #1833
  • fix(deps): update jetty monorepo to v12.1.6 by @renovate[bot] in #1837
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.155.1 by @renovate[bot] in #1836
  • chore(deps): update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.15.0 by @renovate[bot] in #1839
  • chore(deps): update dependency mise to v2026.2.0 by @renovate[bot] in #1840
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.155.2 by @renovate[bot] in #1841
  • chore(deps): update actions/checkout digest to de0fac2 by @renovate[bot] in #1844
  • fix(deps): update protobuf monorepo by @renovate[bot] in #1835
  • chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.145.0 by @renovate[bot] in #1849
  • chore(deps): update dependency com.google.errorprone:error_prone_core to v2.47.0 by @renovate[bot] in #1848
  • chore(deps): update eclipse-temurin docker tag to v25.0.2_10-jre by @renovate[bot] in #1853
  • chore(deps): update ghcr.io/super-linter/super-linter docker tag to v8.5.0 by @renovate[bot] in #1856
  • chore(deps): update eclipse-temurin:25.0.2_10-jre docker digest to ad53b91 by @renovate[bot] in #1857
  • chore(deps): update module go:github.com/gohugoio/hugo to v0.155.3 by @renovate[bot] in #1858
  • chore(deps): update dependency org.apache.maven.plugins:maven-dependency-plugin to v3.10.0 by @renovate[bot] in #1859
  • fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.24.0-alpha by @renovate[bot] in #1863
  • chore(deps): update grafana/k6 docker digest to 1d0ddce by @renovate[bot] in #1864
  • chore(deps): update eclipse-temurin:25.0.2_10-jre docker digest to 43a7b50 by @renovate[bot] in #1867
  • chore(deps): update module go:github.com/grafana/oats to v0.6.1 by @renovate[bot] in #1869
  • chore(deps): update grafana/grafana docker tag to v12.3.3 by @renovate[bot] in #1870
  • fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.25.0-alpha by @renovate[bot] in #1871
  • fix(deps): update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.25.0-alpha by @renovate[bot] in #1872

New Contributors

Full Changelog: v1.4.3...v1.5.0

Don't miss a new client_java release

NewReleases is sending notifications on new releases.