Skip to content

feat: Split summary counters by overrideAffected and suppress individual events for marked evaluations - #365

Draft
kinyoklion wants to merge 1 commit into
rlamb/overrides-dotnet-override-layerfrom
rlamb/overrides-dotnet-events-internal
Draft

kinyoklion wants to merge 1 commit into
rlamb/overrides-dotnet-override-layerfrom
rlamb/overrides-dotnet-events-internal

Conversation

@kinyoklion

Copy link
Copy Markdown
Member

Summary

Extends the analytics event processing in LaunchDarkly.InternalSdk for override-affected evaluations, as defined by the OVERRIDE specification.

EventTypes.EvaluationEvent gains an OverrideAffected field. When it is set, the event processor produces no individual feature event and no debug event for the evaluation, whatever the flag's TrackEvents and DebugEventsUntilDate request. The evaluation is still counted in summary events, and the marker becomes part of the summary counter key, so override-affected and other evaluations of the same flag key, variation, and version accumulate into separate counters instead of being collapsed together. The summary event output writes "overrideAffected": true on a marked counter and omits the property otherwise, following the existing unknown marker. The summarizer interface carries the marker through both the aggregated and the per-context summarizers.

Nothing sets the field yet; the server SDK does so in the next change. Every existing event path is unchanged when the field is false, which the existing event processor and output tests confirm. New tests cover the suppression of feature and debug events, the suppression of a marked prerequisite record, the separate counters, and the counter serialization.

This PR is based on the branch of the override layer change so that the whole flag overrides series applies as one linear sequence; it uses nothing from that branch.

…ual events for marked evaluations

EventTypes.EvaluationEvent gains an OverrideAffected field. A marked
evaluation produces no individual feature event and no debug event,
whatever the flag requests, and is counted under a separate summary
counter whose key includes the marker. The summary output writes
"overrideAffected": true on such a counter and omits the property
otherwise, as defined by the OVERRIDE specification.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant