From 595061919bb0b7591d0949b38f84f56a7a0b1d6caa4df387b53a143eadec4d86 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Wed, 13 Nov 2024 22:11:14 +0000 Subject: [PATCH 1/4] OBS-URL: https://build.opensuse.org/package/show/Java:packages/prometheus-simpleclient-java?expand=0&rev=17 --- .gitattributes | 23 +++ .gitignore | 1 + parent-0.12.0.tar.gz | 3 + parent-0.8.0.tar.gz | 3 + prometheus-simpleclient-java.changes | 40 +++++ prometheus-simpleclient-java.spec | 246 +++++++++++++++++++++++++++ remove_opentelemetry_tracer.patch | 49 ++++++ 7 files changed, 365 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 parent-0.12.0.tar.gz create mode 100644 parent-0.8.0.tar.gz create mode 100644 prometheus-simpleclient-java.changes create mode 100644 prometheus-simpleclient-java.spec create mode 100644 remove_opentelemetry_tracer.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/parent-0.12.0.tar.gz b/parent-0.12.0.tar.gz new file mode 100644 index 0000000..52dbe9d --- /dev/null +++ b/parent-0.12.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3af29c69665f247af08f1d60a7bdcf83c18cfe272a572f697a87ce015ce7067d +size 217803 diff --git a/parent-0.8.0.tar.gz b/parent-0.8.0.tar.gz new file mode 100644 index 0000000..5ac4daa --- /dev/null +++ b/parent-0.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e2567d9b6baaa2043d0487ab8d9524a266519be3b4848a41a80ad2a74915a9a +size 162801 diff --git a/prometheus-simpleclient-java.changes b/prometheus-simpleclient-java.changes new file mode 100644 index 0000000..5859393 --- /dev/null +++ b/prometheus-simpleclient-java.changes @@ -0,0 +1,40 @@ +------------------------------------------------------------------- +Tue Sep 19 11:10:30 UTC 2023 - Fridrich Strba + +- Do not require maven-javadoc-plugin that we don't use + +------------------------------------------------------------------- +Sat Sep 9 14:47:22 UTC 2023 - Fridrich Strba + +- Reproducible builds: use SOURCE_DATE_EPOCH for timestamp + +------------------------------------------------------------------- +Wed Mar 30 09:44:55 UTC 2022 - Fridrich Strba + +- Build against the standalone JavaEE modules inconditionally + +------------------------------------------------------------------- +Wed Mar 23 10:00:34 UTC 2022 - Fridrich Strba + +- Build with source and target levels 8 + +------------------------------------------------------------------- +Thu Mar 17 12:56:51 UTC 2022 - Fridrich Strba + +- Build against standalone jaxb-api on distributions that have JDK + without the JavaEE modules + +------------------------------------------------------------------- +Tue Feb 22 18:22:41 UTC 2022 - Fridrich Strba + +- Do not build against the log4j12 packages + +------------------------------------------------------------------- +Tue May 11 17:47:28 UTC 2021 - Fridrich Strba + +- Do not build against the legacy guava version + +------------------------------------------------------------------- +Fri Feb 28 07:15:42 UTC 2020 - Fridrich Strba + +- Initial packaging of prometheus-simpleclient-java 0.8.0 diff --git a/prometheus-simpleclient-java.spec b/prometheus-simpleclient-java.spec new file mode 100644 index 0000000..abf7785 --- /dev/null +++ b/prometheus-simpleclient-java.spec @@ -0,0 +1,246 @@ +# +# spec file for package prometheus-simpleclient-java +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global version_id parent +%global upstream_name client_java +Name: prometheus-simpleclient-java +Version: 0.12.0 +Release: 0 +Summary: Prometheus Java Suite +License: Apache-2.0 AND CC0-1.0 +URL: https://github.com/prometheus/client_java/ +Source0: https://github.com/prometheus/client_java/archive/%{version_id}-%{version}.tar.gz +Patch1: remove_opentelemetry_tracer.patch +BuildRequires: fdupes +BuildRequires: maven-local +BuildRequires: mvn(ch.qos.logback:logback-classic) +BuildRequires: mvn(com.google.guava:guava) +BuildRequires: mvn(jakarta.servlet:jakarta.servlet-api) +BuildRequires: mvn(javax.servlet:javax.servlet-api) +BuildRequires: mvn(javax.xml.bind:jaxb-api) +BuildRequires: mvn(log4j:log4j) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.logging.log4j:log4j-core) +BuildRequires: mvn(org.eclipse.jetty:jetty-server) +BuildRequires: mvn(org.eclipse.jetty:jetty-servlet) +BuildArch: noarch + +%description +The Prometheus Java Suite: Client Metrics, Exposition, and Examples. + +%package parent +Summary: Prometheus Java Suite parent pom + +%description parent +The Prometheus Java Suite: Client Metrics, Exposition, and Examples. + +%package bom +Summary: Prometheus Java Simpleclient BOM + +%description bom +Bill of Materials for the Simpleclient. + +%package common +Summary: Prometheus Java Simpleclient Common + +%description common +Common code used by various modules of the Simpleclient. + +%package graphite_bridge +Summary: Prometheus Java Simpleclient Graphite Bridge + +%description graphite_bridge +Graphite bridge for the Prometheus Java Simpleclient. + +%package guava +Summary: Prometheus Java Simpleclient guava + +%description guava +Metrics collector for guava based caches. + +%package hotspot +Summary: Prometheus Java Simpleclient Hotspot + +%description hotspot +Collectors of data from Java Hotspot. + +%package httpserver +Summary: Prometheus Java Simpleclient Httpserver + +%description httpserver +Httpserver exposition for the simpleclient. + +%package jetty +Summary: Prometheus Java Simpleclient Jetty + +%description jetty +Collector of data from Jetty StatisticsHandler. + +%package jetty_jdk8 +Summary: Prometheus Java Simpleclient Jetty JDK 8 + +%description jetty_jdk8 +Collector of data from Jetty Statistics for Jetty versions which require JDK 8. + +%package log4j +Summary: Prometheus Java Simpleclient log4j + +%description log4j +Metrics collector for log4j appender logging. + +%package log4j2 +Summary: Prometheus Java Simpleclient log4j2 + +%description log4j2 +Metrics collector for log4j2 appender logging. + +%package logback +Summary: Prometheus Java Simpleclient logback + +%description logback +Metrics collector for logback appender logging. + +%package pushgateway +Summary: Prometheus Java Simpleclient Pushgateway + +%description pushgateway +Pushgateway exporter for the simpleclient. + +%package servlet +Summary: Prometheus Java Simpleclient Servlet (javax) + +%description servlet +HTTP servlet exporter for the simpleclient (Javax API). + +%package servlet-common +Summary: Prometheus Java Simpleclient Servlet + +%description servlet-common +HTTP servlet exporter for the simpleclient. + +%package servlet-jakarta +Summary: Prometheus Java Simpleclient Servlet (jakarta) + +%description servlet-jakarta +HTTP servlet exporter for the simpleclient (Jakarta API). + +%package tracer +Summary: Prometheus Java Span Context Supplier - Parent + +%description tracer +Prometheus Java Span Context Supplier - Parent POM. + +%package tracer-common +Summary: Prometheus Java Span Context Supplier - Common + +%description tracer-common +Prometheus Java Span Context Supplier - Common. + +%package javadoc +Summary: Javadoc for %{name} + +%description javadoc +This package contains javadoc for %{name}. + +%prep +%setup -q -n %{upstream_name}-%{version_id}-%{version} + +# Remove included jar files +find . -name \*.jar -print0 | xargs -0 rm + +%pom_remove_plugin :maven-enforcer-plugin +%pom_remove_plugin :maven-release-plugin +%pom_remove_plugin :maven-deploy-plugin +%pom_remove_plugin :maven-javadoc-plugin + +for m in simpleclient_caffeine \ + simpleclient_dropwizard \ + simpleclient_hibernate \ + simpleclient_spring_web \ + simpleclient_spring_boot \ + simpleclient_vertx \ + integration_tests \ + benchmarks; do +%pom_disable_module $m +done +# Only build simpleclient_tracer_common as it's being used by an Examplar class +%pom_disable_module simpleclient_tracer_otel_agent simpleclient_tracer +%pom_disable_module simpleclient_tracer_otel simpleclient_tracer + +# remove OpenTelemetry stuff, which we don't support +%patch -P1 -p2 +%pom_remove_dep io.prometheus:simpleclient_tracer_otel simpleclient +%pom_remove_dep io.prometheus:simpleclient_tracer_otel_agent simpleclient +%pom_add_dep io.prometheus:simpleclient_tracer_common:%{version} simpleclient + +# Change compiler source/target version to JDK 8 level +%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:source" "1.8" pom.xml +%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:target" "1.8" pom.xml + +%build +%{mvn_build} -f -s + +%install +%mvn_install +%fdupes -s %{buildroot}%{_javadocdir} + +%files -f .mfiles-simpleclient +%license LICENSE +%doc NOTICE + +%files parent -f .mfiles-parent + +%files bom -f .mfiles-simpleclient_bom + +%files common -f .mfiles-simpleclient_common + +%files graphite_bridge -f .mfiles-simpleclient_graphite_bridge + +%files guava -f .mfiles-simpleclient_guava + +%files hotspot -f .mfiles-simpleclient_hotspot + +%files httpserver -f .mfiles-simpleclient_httpserver + +%files jetty -f .mfiles-simpleclient_jetty + +%files jetty_jdk8 -f .mfiles-simpleclient_jetty_jdk8 + +%files log4j -f .mfiles-simpleclient_log4j + +%files log4j2 -f .mfiles-simpleclient_log4j2 + +%files logback -f .mfiles-simpleclient_logback + +%files pushgateway -f .mfiles-simpleclient_pushgateway + +%files servlet -f .mfiles-simpleclient_servlet + +%files servlet-common -f .mfiles-simpleclient_servlet_common + +%files servlet-jakarta -f .mfiles-simpleclient_servlet_jakarta + +%files tracer -f .mfiles-simpleclient_tracer + +%files tracer-common -f .mfiles-simpleclient_tracer_common + +%files javadoc -f .mfiles-javadoc +%license LICENSE +%doc NOTICE + +%changelog diff --git a/remove_opentelemetry_tracer.patch b/remove_opentelemetry_tracer.patch new file mode 100644 index 0000000..2272502 --- /dev/null +++ b/remove_opentelemetry_tracer.patch @@ -0,0 +1,49 @@ +diff --git a/client_java-parent-0.12.0/simpleclient/src/main/java/io/prometheus/client/exemplars/Tracer.java b/client_java-parent-0.12.0/simpleclient/src/main/java/io/prometheus/client/exemplars/Tracer.java +index 97ec4f4..0686268 100644 +--- a/client_java-parent-0.12.0/simpleclient/src/main/java/io/prometheus/client/exemplars/Tracer.java ++++ b/client_java-parent-0.12.0/simpleclient/src/main/java/io/prometheus/client/exemplars/Tracer.java +@@ -1,44 +1,14 @@ + package io.prometheus.client.exemplars; + +-import io.prometheus.client.exemplars.tracer.common.SpanContextSupplier; +-import io.prometheus.client.exemplars.tracer.otel.OpenTelemetrySpanContextSupplier; +-import io.prometheus.client.exemplars.tracer.otel_agent.OpenTelemetryAgentSpanContextSupplier; +- + class Tracer { + + ExemplarSampler initExemplarSampler() { +- try { +- Object spanContextSupplier = findSpanContextSupplier(); +- if (spanContextSupplier != null) { +- return new DefaultExemplarSampler((SpanContextSupplier) spanContextSupplier); +- } +- } catch (NoClassDefFoundError ignored) { +- // simpleclient_tracer_common dependency not found +- } + return null; + } + + // Avoid SpanContextSupplier in the method signature so that we can handle the NoClassDefFoundError + // even if the user excluded simpleclient_tracer_common from the classpath. + private Object findSpanContextSupplier() { +- try { +- if (OpenTelemetrySpanContextSupplier.isAvailable()) { +- return new OpenTelemetrySpanContextSupplier(); +- } +- } catch (NoClassDefFoundError ignored) { +- // tracer_otel dependency not found +- } catch (UnsupportedClassVersionError ignored) { +- // OpenTelemetry requires Java 8, but client_java might run on Java 6. +- } +- try { +- if (OpenTelemetryAgentSpanContextSupplier.isAvailable()) { +- return new OpenTelemetryAgentSpanContextSupplier(); +- } +- } catch (NoClassDefFoundError ignored) { +- // tracer_otel_agent dependency not found +- } catch (UnsupportedClassVersionError ignored) { +- // OpenTelemetry requires Java 8, but client_java might run on Java 6. +- } + return null; + } + } From d74268f3b8de78be1dd9d72cc2b582ba6f9249be4c683545e29c0031bbace741 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Wed, 13 Nov 2024 22:20:06 +0000 Subject: [PATCH 2/4] OBS-URL: https://build.opensuse.org/package/show/Java:packages/prometheus-simpleclient-java?expand=0&rev=18 --- parent-0.12.0.tar.gz | 3 --- parent-0.16.0.tar.gz | 3 +++ parent-0.8.0.tar.gz | 3 --- prometheus-simpleclient-java.spec | 8 +++++--- 4 files changed, 8 insertions(+), 9 deletions(-) delete mode 100644 parent-0.12.0.tar.gz create mode 100644 parent-0.16.0.tar.gz delete mode 100644 parent-0.8.0.tar.gz diff --git a/parent-0.12.0.tar.gz b/parent-0.12.0.tar.gz deleted file mode 100644 index 52dbe9d..0000000 --- a/parent-0.12.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3af29c69665f247af08f1d60a7bdcf83c18cfe272a572f697a87ce015ce7067d -size 217803 diff --git a/parent-0.16.0.tar.gz b/parent-0.16.0.tar.gz new file mode 100644 index 0000000..72979af --- /dev/null +++ b/parent-0.16.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec559ab546f5af67670afe747022fe198088ea5a5baafa3071747a9ccb927fe4 +size 245785 diff --git a/parent-0.8.0.tar.gz b/parent-0.8.0.tar.gz deleted file mode 100644 index 5ac4daa..0000000 --- a/parent-0.8.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e2567d9b6baaa2043d0487ab8d9524a266519be3b4848a41a80ad2a74915a9a -size 162801 diff --git a/prometheus-simpleclient-java.spec b/prometheus-simpleclient-java.spec index abf7785..973c087 100644 --- a/prometheus-simpleclient-java.spec +++ b/prometheus-simpleclient-java.spec @@ -19,7 +19,7 @@ %global version_id parent %global upstream_name client_java Name: prometheus-simpleclient-java -Version: 0.12.0 +Version: 0.16.0 Release: 0 Summary: Prometheus Java Suite License: Apache-2.0 AND CC0-1.0 @@ -167,6 +167,7 @@ find . -name \*.jar -print0 | xargs -0 rm %pom_remove_plugin :maven-release-plugin %pom_remove_plugin :maven-deploy-plugin %pom_remove_plugin :maven-javadoc-plugin +%pom_remove_plugin :versions-maven-plugin for m in simpleclient_caffeine \ simpleclient_dropwizard \ @@ -174,6 +175,7 @@ for m in simpleclient_caffeine \ simpleclient_spring_web \ simpleclient_spring_boot \ simpleclient_vertx \ + simpleclient_vertx4 \ integration_tests \ benchmarks; do %pom_disable_module $m @@ -189,8 +191,8 @@ done %pom_add_dep io.prometheus:simpleclient_tracer_common:%{version} simpleclient # Change compiler source/target version to JDK 8 level -%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:source" "1.8" pom.xml -%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:target" "1.8" pom.xml +%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:source" "1.8" . simpleclient_hotspot +%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:target" "1.8" . simpleclient_hotspot %build %{mvn_build} -f -s From b366fbabf3ae4b2196f165127cbec2b10fce4e16abaa78709cb3697fa94e8fed Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Fri, 15 Nov 2024 17:50:32 +0000 Subject: [PATCH 3/4] OBS-URL: https://build.opensuse.org/package/show/Java:packages/prometheus-simpleclient-java?expand=0&rev=19 --- prometheus-simpleclient-java.spec | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/prometheus-simpleclient-java.spec b/prometheus-simpleclient-java.spec index 973c087..7f70586 100644 --- a/prometheus-simpleclient-java.spec +++ b/prometheus-simpleclient-java.spec @@ -29,6 +29,7 @@ Patch1: remove_opentelemetry_tracer.patch BuildRequires: fdupes BuildRequires: maven-local BuildRequires: mvn(ch.qos.logback:logback-classic) +BuildRequires: mvn(com.github.ben-manes.caffeine:caffeine) >= 2.7.0 BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(jakarta.servlet:jakarta.servlet-api) BuildRequires: mvn(javax.servlet:javax.servlet-api) @@ -55,6 +56,12 @@ Summary: Prometheus Java Simpleclient BOM %description bom Bill of Materials for the Simpleclient. +%package caffeine +Summary: Prometheus Java Simpleclient Caffeine + +%description caffeine +Metrics collector for caffeine based caches. + %package common Summary: Prometheus Java Simpleclient Common @@ -169,8 +176,7 @@ find . -name \*.jar -print0 | xargs -0 rm %pom_remove_plugin :maven-javadoc-plugin %pom_remove_plugin :versions-maven-plugin -for m in simpleclient_caffeine \ - simpleclient_dropwizard \ +for m in simpleclient_dropwizard \ simpleclient_hibernate \ simpleclient_spring_web \ simpleclient_spring_boot \ @@ -209,6 +215,8 @@ done %files bom -f .mfiles-simpleclient_bom +%files caffeine -f .mfiles-simpleclient_caffeine + %files common -f .mfiles-simpleclient_common %files graphite_bridge -f .mfiles-simpleclient_graphite_bridge From 37a681582b091124611e93a0ff25a1ee498d121bc3db226bec14ac7b2b34f105 Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Tue, 26 Nov 2024 13:06:15 +0000 Subject: [PATCH 4/4] OBS-URL: https://build.opensuse.org/package/show/Java:packages/prometheus-simpleclient-java?expand=0&rev=20 --- prometheus-simpleclient-java.changes | 119 +++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/prometheus-simpleclient-java.changes b/prometheus-simpleclient-java.changes index 5859393..bf9cbe7 100644 --- a/prometheus-simpleclient-java.changes +++ b/prometheus-simpleclient-java.changes @@ -1,3 +1,122 @@ +------------------------------------------------------------------- +Tue Nov 26 11:30:00 UTC 2024 - Fridrich Strba + +- Update to upstream version 0.16.0 + * Bugfixes: + + Don't throw NPE if .help() wasn't called + + Don't wrap a RuntimeException in another RuntimeException. + + Make pushgateway module compile on Java 11 + + Make sure GZIPOutputStream is always closed for httpserver + + Specify the charset of HTTPServer response for systems not + using utf-8 by default + + Use bundle everywhere so that + client_java works with OSGI again. + + use the correct name for the metric type gaugehistogram in + OpenMetrics (previously this was wrongly named + gauge_histogram) + + Correct handling of HEAD requests. + + Apply ServletConfig during Servlet initialization in + simpleclient_servlet and simpleclient_servlet_jakarta + + HTTPServer: Don't send a Content-Length header when + Transfer-Encoding is chunked. + + simpleclient_log4j set the log4j dependency scope as provided + so that users don't accidentally pull the log4j version used + in client_java. + Note: This module is for monitoring log4j version 1, + in simpleclient_log4j2 the dependency is already provided. + + simpleclient_dropwizard set the Dropwizard dependency scope as + provided so that users don't accidentally pull the Dropwizard + version used in client_java. + + Fix missing Dropwizard metrics in Vertx. + + Fix incorrect buffer size in the Servlet exporter. + + Fix sample name filter for the JMX metric + jvm_memory_bytes_committed. + * Enhancements: + + Bump caffeine dependency to 2.7.0 to support AsyncCache. + + Added health check api to simpleclient_httpserver. + + Remove dependency on sun.misc.Unsafe, allowing building on + JDK11 + + Wrap PrintWriter with BufferedWriter, making servlet + exposition about 2x faster + + Handle empty label values for the pushgateway + + Add Bill of Materials + + Count HTTP statuses returned for servlet filter + + Introduce TestContainers integration test, for example for + testing different Java versions. This means you need Docker + installed to run ./mvnw verify. + + HTTPServer: Set request/response timeouts. + + HTTPServer: Make HTTPMetricHandler public so that it can be + used in a custom HTTPServer. + + New JVM memory metrics: jvm_memory_pool_collection_used_bytes, + jvm_memory_pool_collection_committed_bytes, + jvm_memory_pool_collection_max_bytes, + jvm_memory_pool_collection_init_bytes, + jvm_memory_objects_pending_finalization. + + Version bumps (junit, jetty, maven plugins) + + add support for Jakarta Servlet, implemented in the new + simpleclient_servlet_jakarta module. + + provide a way for filtering metrics by name / name prefix. + This can be configured either in the HTTPServer, or in the + Servlet exporter (both javax and Jakarta). For example, if + some JMX metrics cause performance issues, this can be used + for excluding these metrics. + + for the Servlet filter (both javax and Jakarta): Add a + parameter to strip the deployment path from the path label. + + Add HTTP Authentication to the HTTPServer #682. + + Allow passing a custom registry to the logback + InstrumentedAppender. + + Lots of more integration tests and tests with different Java + versions. + + Make HTTPMetricHandler public so that users can use them in + their own HttpServers. + + Make Base64 encoding in the HTTP authentication for the + PushGateway work with all Java versions. + + The HTTPServer can now be configured to use SSL. + + Lots of dependency version bumps. + + Environment variable PROMETHEUS_DISABLE_CREATED_SERIES=true + for disabling _created metrics. + + Support for OpenTelemetry trace sampling: Only traces that are + sampled will be used as exemplars. + + Handle thread IDs <= 0. Apparently Apache Zookeeper generates + negative thread IDs, which causes issues in jmx_exporter. + + Mark opentelemetry-api as optional to make it an optional + dependency in OSGi. + + Move servlet adapters to an internal package to avoid + duplicating classes when building OSGi bundles. + + Extend the API of the HTTPServer.Builder to allow custom + ExecutorService instances. + + Reduce the number of core threads in HTTPServer from 5 to 1. + The HTTPServer will still start up to 5 threads on demand if + there are parallel requests, but it will use only 1 thread as + long as requests are sequential. + + Optimize metric name sanitization: Replace the regular + expression with a hard-coded optimized algorithm to improve + performance. + + Lots of dependency version bumps. + * Changes: + + Switch data model to OpenMetrics. Primarily this means that + _total if present is stripped from the metric name of + counters, and _total is now always a suffix on the sample + value. This means that all Counter samples now have a _total + suffix + + The io.prometheus.client.Collector.Type enum's value UNTYPED + renamed to UNKNOWN + * Features: + + Add Info and Enumeration metric types for direct + instrumentation + + Counter, Summary, and Histogram metrics now expose a _created + sample with when their child was created + + Add support for units + + Add gauge histograms, info, stateset for custom collectors + + Support negotiating and exposing OpenMetrics for all HTTP + server exposition + + Add ability to filter metrics in DropwizardExports + + Exemplars: API for adding OpenMetrics Exemplars and + out-of-the-box integration with OpenTelemetry tracing. +- Added patch: + * remove_opentelemetry_tracer.patch + + remove dependency on opentelemetry + ------------------------------------------------------------------- Tue Sep 19 11:10:30 UTC 2023 - Fridrich Strba