Skip to content

⚗️ [FFL-3067] Add Feature Flags lifecycle telemetry transport - #5025

Draft
btthomas wants to merge 13 commits into
mainfrom
blake.thomas/FFL-3067
Draft

btthomas wants to merge 13 commits into
mainfrom
blake.thomas/FFL-3067

Conversation

@btthomas

@btthomas btthomas commented Sep 8, 2026

Copy link
Copy Markdown

Motivation

Add the Browser SDK transport required by FFL-3067 so Feature Flags lifecycle events can reach the dedicated, non-billable flagtelemetry Event Platform track.

Changes

  • Send all seven Feature Flags lifecycle event payloads directly to /api/v2/flagtelemetry in every configured Datadog site.
  • Reuse Browser SDK batching, retry, page-exit delivery, proxy, and client-token support without requiring the RUM or Logs product SDK to start.
  • Keep lifecycle events unsampled, respect tracking consent, and isolate transport failures from the provider.
  • Deduplicate lifecycle events once per runtime, errors by fixed error code, and configuration receipt once for each source.
  • Keep configuration versions optional so SDKs with a real configuration version can report one.
  • Omit invalid JavaScript configuration timestamps before serialization.
  • Extend the shared endpoint builder with the flagtelemetry track. The OpenFeature provider explicitly starts this transport when its debugMode is enabled. Implementation was Codex-assisted.

Test instructions

  • yarn test:unit --single-run --browsers ChromeHeadless
  • yarn typecheck
  • yarn api:check
  • yarn format
  • yarn lint
  • yarn build

All 5,136 Browser SDK unit tests pass locally.

Rollout notes

  • Validate volume and storage cost before enabling unsampled traffic at scale; this is tracked by FFL-3064.
  • This transport uses direct HTTP. WebViews that require the native event bridge and pages whose CSP blocks the intake need a follow-up delivery path.
  • Complete a staging end-to-end test across Browser SDK, intake, worker, Event Query, and ffe-service before production rollout.

Related PRs

Checklist

  • Tested locally
  • Tested on staging
  • Added unit tests for this change.
  • Added e2e/integration tests for this change.
  • Updated documentation and/or relevant AGENTS.md file

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Sep 8, 2026

Copy link
Copy Markdown

Bundles Sizes Evolution

📦 Bundle Name Base Size Local Size 𝚫 𝚫% Status
Rum 182.88 KiB 182.88 KiB 0 B 0.00%
Rum Profiler 8.43 KiB 8.43 KiB 0 B 0.00%
Rum Recorder 28.20 KiB 28.20 KiB 0 B 0.00%
Logs 58.66 KiB 58.66 KiB 0 B 0.00%
Rum Salesforce N/A 140.92 KiB N/A N/A N/A
Rum Slim 140.91 KiB 140.91 KiB 0 B 0.00%
Worker 22.96 KiB 22.96 KiB 0 B 0.00%
Rum Shopify N/A 210.57 KiB N/A N/A N/A
Rum-shopify Profiler N/A 8.43 KiB N/A N/A N/A
Rum-shopify Recorder N/A 3.74 KiB N/A N/A N/A

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Sep 8, 2026

Copy link
Copy Markdown

Pipelines  Tests

Unblock PR with BitsAI

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 4 Pipeline jobs failed

DataDog/browser-sdk | build-and-lint — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

CLA Assistant | CLAAssistant

View more details · View in GitHub Actions

DataDog/browser-sdk | e2e: [firefox-pinned]

View more details · View in GitLab

View all 4 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🔄 Datadog auto-retried 3 jobs - 0 passed on retry View in Datadog

🎯 Code Coverage (details)
Patch Coverage: 83.33%
Overall Coverage: 77.07% (+0.03%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 3510ca1 | Docs | View more details | Give us feedback!

@btthomas
btthomas force-pushed the blake.thomas/FFL-3067 branch from 228d48d to 346529a Compare September 9, 2026 17:43
@btthomas btthomas changed the title [FFL-3067] Add Feature Flags lifecycle telemetry transport ⚗️ [FFL-3067] Add Feature Flags lifecycle telemetry transport Sep 9, 2026
@btthomas btthomas changed the title ⚗️ [FFL-3067] Add Feature Flags lifecycle telemetry transport [FFL-3067] Add Feature Flags lifecycle telemetry transport Sep 14, 2026
@btthomas btthomas changed the title [FFL-3067] Add Feature Flags lifecycle telemetry transport ⚗️ [FFL-3067] Add Feature Flags lifecycle telemetry transport Sep 14, 2026
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