OpenTelemetry sink over the StoreTelemetry seam - #67
Draft
matt-ramotar wants to merge 13 commits into
Draft
Conversation
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
Co-authored-by: Matt Ramotar <matt-ramotar@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ships the
org.mobilenativefoundation.store:opentelemetryexperimental artifact — an OpenTelemetry sink over theStoreTelemetryseam — per the approved design and implementation plan:What ships
:opentelemetry(androidTarget+jvmvia the subset convention plugin, createdjvmAndroidMainintermediate source set), publishingopentelemetry/opentelemetry-jvm/opentelemetry-androidat6.0.0-SNAPSHOT.OpenTelemetryStoreTelemetrymapping the six telemetry hooks to the five v0 instruments plus an opt-in synthesizedstore6.fetchspan. Every public declaration is@ExperimentalStoreApi; hooks never throw after construction;StoreErrormessages/causes are never exported.jvmTesttests: metric vocabulary, all sixerror.typeliterals + no-diagnostics privacy sweep, span synthesis edges, three hostile-SDK robustness fixtures, concurrency, instrumentation-scope version drift guard, and two real-engine integration tests.:opentelemetry-samplethat machine-checks its exported telemetry and exits on its own.store6.yml: build + sample-run steps, core-internal-access and TD-8 gate coverage, and the klib-publication-check entries (two coupled edits).opentelemetry/README.md+opentelemetry/SIGNALS.md(vocabulary v0), and theSTABILITY.md§3 artifact row.Descoped steps
None. All plan tasks 0–11 completed in full; the one
[descope-allowed]test (aThrowingSetStatusStillEndsTheSpan) is implemented and green.Execution notes (deviations from the plan text, each verified green)
:opentelemetry:build :opentelemetry:apiDumpsingle invocation trips Gradle 8.11's implicit-dependency validation (klibApiExtractForValidationreads the fileklibApiDumpwrites when co-scheduled). The two goals run as separate sequential invocations; no file changes.mapOf<String?, Long>(…)type arguments — Kotlin cannot unifyMap<String, V>withMap<String?, V>(invariant key parameter).TracerProvider.tracerBuilder: the interface's default implementation returns a no-op builder, which silently bypassed wrappers that override onlyget(...)(the sink acquires its tracer throughtracerBuilder). Without the fix, the setStatus test fails and the throwing-tracer test passes vacuously.SpanBuilder.setAttributeoverride signature isvalue: T?per the compiler, as the plan's worker notes pre-authorize.docs-sync
STABILITY.mdis listed in.github/docs-sync-sources.txt, so this PR requires thedocs-sync-acklabel (applied) for thedocs-sync-guardjob.