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

chore: identify candidate dependencies for removal/replacement/absorption

Open darccio opened this issue 1 month ago • 4 comments

What does this PR do?

Identifies all the dependencies that might be removed, replaced by an already present similar dependency or absorbed into dd-trace-go.

Motivation

Reduce the number of dependencies to reinforce our supply chain.

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.

Unsure? Have a question? Request a review!

darccio avatar Nov 26 '25 10:11 darccio

Benchmarks

Benchmark execution time: 2025-11-28 09:54:16

Comparing candidate commit 183054eb72a3eaddd0aa557a626d4e2f2629e31a in PR branch dario.castane/apmlp-494/exploration with baseline commit 8f03e3df00ce50659c427a06743e6ba5a81f6324 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 Nov 26 '25 11:11 pr-commenter[bot]

@kakkoyun Agreed. There is no real need to merge them, although it's nice to have this in an easy format to review. I can set it to draft and create PRs linking to this one.

darccio avatar Nov 26 '25 11:11 darccio

wondering if they are function we use from golang.com/x/<...> that have made it into the standard library in the meantime

I can check them. I didn't prioritize them because, even if they are /x/, they don't usually break in unexpected ways.

darccio avatar Nov 27 '25 14:11 darccio

I checked the golang.org/x/* dependencies and I didn't find anything but the xerrors dependency. I think it can be removed, but I also feel that the potential breakage out-weights the benefit of removing it.

darccio avatar Nov 28 '25 14:11 darccio

Closing this PR as we are completing the OKR by merging the rest.

darccio avatar Dec 19 '25 11:12 darccio