feat: add OpenFeature track() API for event tracking#348
Draft
feat: add OpenFeature track() API for event tracking#348
Conversation
Implement the OpenFeature track() API across all providers (JS, Java, Go) to enable recording business events for A/B test analytics. Events are buffered in the WASM core via a lock-free EventLogger, flushed alongside flag logs, and sent to EventsService via gRPC (Java/Go) or HTTP+protobuf (JS). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.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.
Summary
Implements the OpenFeature
track()API across all three providers (JS, Java, Go) for recording business events tied to feature flag evaluations. This enables A/B test analytics and experimentation metrics via the Confidence events ingestion service.Data flow
What is included
EventLoggerusingcrossbeam_queue::SegQueuetrack_eventandflush_eventsexportsEventandFlushEventsResponseadded to WASM boundary protos;confidence/events/v1/service proto vendored for gRPC stubstrack()method, event flush inflush(), HTTP+protobuf sendertrack()override,GrpcEventSenderusingEventsServiceGrpc, event flush on state refresh + shutdownTrack()implementingopenfeature.Tracker,GrpcEventSender, event flush piggybacked on log ticker + shutdownWhat is not included yet
Test plan
event_loggerunit tests (4 tests including concurrency)docker build .)🤖 Generated with Claude Code