dd-trace-go icon indicating copy to clipboard operation
dd-trace-go copied to clipboard

feat(remoteconfig): add support to the RC client for unsubscribing from a product

Open andreimatei opened this issue 1 month ago • 3 comments

Unsubscribing removes a previously registered callback from being invoked when its specific product receives an update. When the last subscription for a particular product is remove, remote config is not polled for that product anymore.

This will be useful for remotely disabling Live Debugger on a tracer: once disabled, the previously-established subscription to the respective RC product needs to be terminated.

Reviewer's Checklist

  • [ ] Changed code has unit tests for its functionality at or near 100% coverage.
  • [ ] System-Tests covering this feature have been added and enabled with the va.b.c-dev version tag.
  • [ ] There is a benchmark for any new code, or changes to existing code.
  • [ ] If this interacts with the agent in a new way, a system test has been added.
  • [ ] New code is free of linting errors. You can check this by running ./scripts/lint.sh locally.
  • [ ] Add an appropriate team label so this PR gets put in the right place for the release notes.
  • [ ] Non-trivial go.mod changes, e.g. adding new modules, are reviewed by @DataDog/dd-trace-go-guild.

andreimatei avatar Dec 10 '25 23:12 andreimatei

Benchmarks

Benchmark execution time: 2025-12-10 23:38:20

Comparing candidate commit d0d78049d135542c24a6cbeb1d1654e2edf599ab in PR branch andrei/rc-unsubscribe with baseline commit 1a6f881c21ee90c07057e794e50fcdeb31cdb618 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 15 metrics, 0 unstable metrics.

pr-commenter[bot] avatar Dec 10 '25 23:12 pr-commenter[bot]

Codecov Report

:x: Patch coverage is 81.42857% with 13 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 54.41%. Comparing base (1a6f881) to head (d0d7804). :warning: Report is 17 commits behind head on main.

Files with missing lines Patch % Lines
internal/remoteconfig/remoteconfig.go 81.25% 11 Missing and 1 partial :warning:
openfeature/remoteconfig.go 0.00% 1 Missing :warning:
Additional details and impacted files
Files with missing lines Coverage Δ
ddtrace/tracer/remote_config.go 89.47% <100.00%> (ø)
internal/appsec/remoteconfig.go 56.45% <100.00%> (+0.20%) :arrow_up:
openfeature/remoteconfig.go 73.11% <0.00%> (ø)
internal/remoteconfig/remoteconfig.go 65.10% <81.25%> (+5.38%) :arrow_up:

... and 72 files with indirect coverage changes

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Dec 10 '25 23:12 codecov[bot]

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
* Fix with Cursor requires Datadog plugin ≥v2.17.0
🔗 Commit SHA: d0d7804 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

/merge

andreimatei avatar Dec 15 '25 19:12 andreimatei

View all feedbacks in Devflow UI.

2025-12-15 19:19:52 UTC :information_source: Start processing command /merge


2025-12-15 19:20:04 UTC :information_source: MergeQueue: waiting for PR to be ready

This pull request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings. It will be added to the queue as soon as checks pass and/or get approvals. Note: if you pushed new commits since the last approval, you may need additional approval. You can remove it from the waiting list with /remove command.


2025-12-15 23:20:10 UTC :warning: MergeQueue: This merge request was unqueued

devflow unqueued this merge request: It did not become mergeable within the expected time

/merge

andreimatei avatar Dec 16 '25 16:12 andreimatei

View all feedbacks in Devflow UI.

2025-12-16 16:25:03 UTC :information_source: Start processing command /merge


2025-12-16 16:25:08 UTC :information_source: MergeQueue: pull request added to the queue

The expected merge time in main is approximately 46m (p90).


2025-12-16 16:52:42 UTC :information_source: MergeQueue: This merge request was merged