prometheus / prometheus/client_java

Exporter Pushgateway runtime issue in versions 1.3.4 and above

Offen
#1,411 11 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Java
Sterne
2.3k
Forks
833
Ø Merge
2 T. 16 Std.
Gemergte PRs (30 T.)
86

Beschreibung

Version 1.3.3 works correctly
I believe it is caused by https://github.com/prometheus/client_java/pull/1190
I am using default format in pushgateway which I think is protobuf.

Dependencies in pom.xml:

<dependency>
  <groupId>io.prometheus</groupId>
  <artifactId>prometheus-metrics-core</artifactId>
  <version>1.3.4</version>
</dependency>
<dependency>
  <groupId>io.prometheus</groupId>
  <artifactId>prometheus-metrics-exporter-pushgateway</artifactId>
  <version>1.3.4</version>
</dependency>

Runtime issue from shaded jar:

Exception in thread (...) java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: class io.prometheus.metrics.expositionformats.PrometheusProtobufWriter is not available
at io.prometheus.metrics.exporter.pushgateway.PushGateway.<init>(PushGateway.java:99)
at io.prometheus.metrics.exporter.pushgateway.PushGateway.<init>(PushGateway.java:77)
at io.prometheus.metrics.exporter.pushgateway.PushGateway$Builder.build(PushGateway.java:456)
(...)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.RuntimeException: class io.prometheus.metrics.expositionformats.PrometheusProtobufWriter is not available

So I guess it complains about
https://github.com/prometheus/client_java/blob/main/prometheus-metrics-exporter-pushgateway/src/main/java/io/prometheus/metrics/exporter/pushgateway/PushGateway.java#L9
or
https://github.com/prometheus/client_java/blob/main/prometheus-metrics-exporter-pushgateway/src/main/java/io/prometheus/metrics/exporter/pushgateway/PushGateway.java#L114

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Vergleiche das Abhängigkeitsverhalten von 1.3.3 und 1.3.4 in pom.xml und untersuche anschließend PushGateway.java in der Umgebung der referenzierten Zeilen sowie die Verpackung des shaded-jar. Verfolge, warum PrometheusProtobufWriter zur Laufzeit nicht verfügbar ist, und bestätige, dass das standardmäßige Pushgateway-Format in einem shaded jar erfolgreich initialisiert wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
observability-sre
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.