Open
Conversation
Track evaluation outcomes and resolve latency via a base64-encoded protobuf Monitoring message sent on HTTP headers. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: align telemetry implementation with Swift SDK for feature parity - Add missing enum values (CACHED, STATIC, SPLIT, TYPE_MISMATCH, PROVIDER_FATAL) - Capture library under lock during snapshot to fix race condition - Always send X-CONFIDENCE-TELEMETRY header (match Swift behavior) - Fix Long→Int truncation in varint encoding for durationMs - Omit zero-valued fields in protobuf encoding (canonical wire format) - Replace reflection-based OpenFeature attribution with direct API call - Update tests for all changes Made-with: Cursor * chore: add telemetry test button to demo app Adds a "Test Telemetry" button that evaluates both real flags (match) and nonexistent flags (error), then triggers a fetch to flush the telemetry header for verification in Grafana. Made-with: Cursor * Revert "chore: add telemetry test button to demo app" This reverts commit 1d9e6de. * fix: address review feedback — keep header conditional and reflection-based attribution - Revert encodedHeaderValue() to return String? (don't send header when no traces) - Restore conditional header logic in RemoteFlagResolver and FlagApplierClientImpl - Keep setTelemetryLibraryOpenFeature() private, called via reflection from Provider - Restore corresponding tests to assert null/reflection behavior Retained from parity work: - Missing enum values (CACHED, STATIC, SPLIT, TYPE_MISMATCH, PROVIDER_FATAL) - Library captured under lock during snapshot (race condition fix) - Long-capable writeVarint (durationMs truncation fix) - Zero-valued field omission (canonical protobuf encoding) Made-with: Cursor
Member
fabriziodemaria
approved these changes
Mar 25, 2026
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.

Summary
Telemetryclass with thread-safe trace accumulation and manual protobuf encoding matchingconfidence/telemetry/v1/types.protoX-CONFIDENCE-TELEMETRYheader on resolve and apply HTTP requestsOPEN_FEATURElibrary when used viaConfidenceFeatureProviderTest plan
getFlag()→ telemetry tracking verified end-to-end./gradlew :confidence:build :Provider:buildpasses🤖 Generated with Claude Code