Span/log processors and PeriodicMetricReader use static ComponentId, causing all instances to share otel.component.name "<type>/0"
Maintainer antworten meist innerhalb von 2 Tagen
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 68/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- java
- Bereich
- observability-sre
Rechercherichtung
Read the five processor and reader source files linked in the issue, then inspect how GrpcExporterBuilder and HttpExporterBuilder generate ComponentId values. Check the related tests for component names and add coverage for multiple instances of each affected class. Done means instances receive distinct otel.component.name values such as <type>/0 and <type>/1, with the SDK tests passing.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
In the following classes, COMPONENT_ID is declared as private static final ComponentId instead of an instance field:
- https://github.com/open-telemetry/opentelemetry-java/blob/be7de06cd7d1c1154be14bfcae1f83d52503b8e9/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/export/BatchSpanProcessor.java#L47-L48
- https://github.com/open-telemetry/opentelemetry-java/blob/be7de06cd7d1c1154be14bfcae1f83d52503b8e9/sdk/trace/src/main/java/io/opentelemetry/sdk/trace/export/SimpleSpanProcessor.java#L41
- https://github.com/open-telemetry/opentelemetry-java/blob/be7de06cd7d1c1154be14bfcae1f83d52503b8e9/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/BatchLogRecordProcessor.java#L45-L46
- https://github.com/open-telemetry/opentelemetry-java/blob/be7de06cd7d1c1154be14bfcae1f83d52503b8e9/sdk/logs/src/main/java/io/opentelemetry/sdk/logs/export/SimpleLogRecordProcessor.java#L42
- https://github.com/open-telemetry/opentelemetry-java/blob/be7de06cd7d1c1154be14bfcae1f83d52503b8e9/sdk/metrics/src/main/java/io/opentelemetry/sdk/metrics/export/PeriodicMetricReader.java#L46-L47
Because COMPONENT_ID is static, ComponentId.generateLazy(...) is only invoked once per class load, so every instance of BatchSpanProcessor, SimpleSpanProcessor, BatchLogRecordProcessor, SimpleLogRecordProcessor, or PeriodicMetricReader in the JVM reports <type>/0 for otel.component.name (unlike GrpcExporterBuilder and HttpExporterBuilder, which call ComponentId.generateLazy(...) per exporter instance).
Expected behavior
Each processor and metric reader instance should generate its own ComponentId (<type>/0, <type>/1, ...) so otel.component.name uniquely identifies each instance.
- Vorherrschende Sprache
- Java
- Sterne
- 2.5k
- Forks
- 1k
- Ø Merge
- 4 T. 3 Std.
- Gemergte PRs (30 T.)
- 52
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus open-telemetry/opentelemetry-java
-
PrometheusComponentProvider promotes all resource attributes when resource_constant_labels is empty ({})Evtl. vergeben @rooks-ns hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
open-telemetry/opentelemetry-java#9014 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
MetricReusableDataMarshaler passes MetricData count instead of data point count to otel.sdk.exporter.metric_data_point.{inflight,exported}Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
open-telemetry/opentelemetry-java#9011 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Fix `otel.sdk.log.created` counting semanticsEvtl. vergeben @anuraaga hat das vor 94 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
open-telemetry/opentelemetry-java#8688 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
open-telemetry/opentelemetry-java#9013 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
SimpleLogRecordProcessor/SimpleSpanProcessor.forceFlush() result never completes when an export completes while ofAll() counts the pending setEvtl. vergeben @nikhilred2619 hat das vor 5 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 62/100
open-telemetry/opentelemetry-java#8995 · 3 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in open-telemetry/opentelemetry-java
Ähnliche Issues
-
bug main ui
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
openhab/openhab-webui#4671 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
NearVanilla/IceCream#109 ·
Maintainer antworten meist innerhalb von 1 Tag
-
getRawTextContent() returns the lines of every page in reverse order (bottom to top) since 4.0.3Offen
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 90/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
bancolombia/bin-stash#79 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag