Skip to content

feat(heap-profiling): Rename new heap profiling crates [PROF-15190] - #2217

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
mainfrom
sgg/heap-prof-poc-crate-rename
Jul 9, 2026
Merged

feat(heap-profiling): Rename new heap profiling crates [PROF-15190]#2217
gh-worker-dd-mergequeue-cf854d[bot] merged 2 commits into
mainfrom
sgg/heap-prof-poc-crate-rename

Conversation

@scottgerring

@scottgerring scottgerring commented Jul 9, 2026

Copy link
Copy Markdown
Member

What does this PR do?

Renames the new heap profiling crates to better match the naming scheme in the repository. For reviewer convenience there are two commits - one doing the file renames, the second fixing up the contents.

Motivation

Let's get this consistent before we publish.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

…ng-heap-* rename

Follow-up content fixes for the crate rename: package names, path
dependencies, workspace members, CI workflow, Dockerfile, CODEOWNERS,
NOTICE, and doc references.
@scottgerring scottgerring changed the title [PROF-15190]: Rename new heap profiling crates feat(heap-profiling): Rename new heap profiling crates [PROF-15190]: Jul 9, 2026
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/sgg/heap-prof-poc-crate-rename

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 22 22 No change (0%)
datadog-live-debugger 4 4 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-sidecar 45 45 No change (0%)
libdd-common 13 13 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-data-pipeline 6 6 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-remote-config 3 3 No change (0%)
libdd-telemetry 20 20 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 3 3 No change (0%)
libdd-trace-stats 1 1 No change (0%)
libdd-trace-utils 11 11 No change (0%)
Total 182 182 No change (0%)

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 57.14%
Overall Coverage: 74.39% (-0.03%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 2a63877 | Docs | Datadog PR Page | Give us feedback!

@scottgerring scottgerring reopened this Jul 9, 2026
@scottgerring scottgerring changed the title feat(heap-profiling): Rename new heap profiling crates [PROF-15190]: feat(heap-profiling): Rename new heap profiling crates [PROF-15190] Jul 9, 2026
@scottgerring
scottgerring marked this pull request as ready for review July 9, 2026 09:03
@scottgerring
scottgerring requested review from a team as code owners July 9, 2026 09:03
@dd-octo-sts

dd-octo-sts Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 85.89 MB 85.89 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.88 MB 7.88 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.61 MB 10.61 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 97.11 MB 97.11 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.45 MB 25.45 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 88.44 KB 88.44 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 184.54 MB 184.55 MB +0% (+8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 946.77 MB 946.77 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 8.32 MB 8.32 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 88.44 KB 88.44 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.62 MB 24.62 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 49.03 MB 49.03 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.05 MB 22.05 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 89.82 KB 89.82 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 188.76 MB 188.76 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 935.45 MB 935.45 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.43 MB 6.43 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 89.82 KB 89.82 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.43 MB 26.43 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 46.66 MB 46.66 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 76.59 MB 76.59 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.78 MB 8.78 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 92.11 MB 92.11 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.70 MB 10.70 MB 0% (0 B) 👌

@r1viollet r1viollet left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
Thanks for following up on renaming.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR renames the new heap-profiling crates to align with existing repository naming (prefixing with libdd-profiling-heap-*) and updates all in-repo references (workspace membership, docs, CI, Docker build caching, and tests) to the new crate names.

Changes:

  • Renamed heap profiling crates to libdd-profiling-heap-sampler, libdd-profiling-heap-allocator, libdd-profiling-heap-gotter, and libdd-profiling-heap-gotter-ffi.
  • Updated workspace wiring and build/CI assets (root Cargo.toml, Cargo.lock, Docker build cache stubs, and bindings verification workflow).
  • Updated code/docs/tests/examples to reference the new crate names and new regen env var names.

Reviewed changes

Copilot reviewed 30 out of 51 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tools/docker/Dockerfile.build Updates crate paths for Docker build caching and bench stub generation.
NOTICE Updates vendored usdt.h path after crate rename.
libdd-profiling-heap-sampler/vendor/usdt.h Adds vendored USDT single-header library under the renamed crate path.
libdd-profiling-heap-sampler/vendor/README.md Updates refresh instructions to the new vendor path.
libdd-profiling-heap-sampler/src/tl_state.c Thread-local state init implementation under renamed sampler crate.
libdd-profiling-heap-sampler/src/sample_flag.c Architecture-specific tagging implementation under renamed sampler crate.
libdd-profiling-heap-sampler/src/probes.c USDT probe emission TU under renamed sampler crate.
libdd-profiling-heap-sampler/src/lib.rs Updates Rust crate docs to new sampler name.
libdd-profiling-heap-sampler/src/generated/dd_heap_sampler_static_wrappers.c Updates generated header comment and regen command naming.
libdd-profiling-heap-sampler/src/generated/bindings.rs Updates generated header comment and regen command naming.
libdd-profiling-heap-sampler/src/allocation_requested.c Sampler requested slow-path implementation under renamed crate.
libdd-profiling-heap-sampler/src/allocation_realloc.c Realloc handling implementation under renamed crate.
libdd-profiling-heap-sampler/src/allocation_freed.c Free slow-path implementation under renamed crate.
libdd-profiling-heap-sampler/src/allocation_created.c Created slow-path implementation under renamed crate.
libdd-profiling-heap-sampler/README.md Updates component docs/diagrams/commands to renamed crates and env vars.
libdd-profiling-heap-sampler/include/datadog/heap/tl_state.h TLS state public header under renamed crate.
libdd-profiling-heap-sampler/include/datadog/heap/sample_flag.h Tagging API/public header under renamed crate.
libdd-profiling-heap-sampler/include/datadog/heap/probes.h Updates vendor path comment and probe API header.
libdd-profiling-heap-sampler/include/datadog/heap/allocation_requested.h Allocation requested API header under renamed crate.
libdd-profiling-heap-sampler/include/datadog/heap/allocation_realloc.h Realloc API header under renamed crate.
libdd-profiling-heap-sampler/include/datadog/heap/allocation_freed.h Free API header under renamed crate.
libdd-profiling-heap-sampler/include/datadog/heap/allocation_created.h Created API header under renamed crate.
libdd-profiling-heap-sampler/docs/tagging.md Tagging design doc under renamed crate.
libdd-profiling-heap-sampler/docs/realloc.md Realloc design doc under renamed crate.
libdd-profiling-heap-sampler/Cargo.toml Renames sampler crate + updates repo URLs and regen env var mention.
libdd-profiling-heap-sampler/build.rs Updates crate naming and regen env var used for bindgen refresh.
libdd-profiling-heap-sampler/bench.sh Updates output directory and bench crate name references.
libdd-profiling-heap-gotter/tests/install.rs Updates test imports and install calls to renamed gotter/sampler crates.
libdd-profiling-heap-gotter/src/lib.rs Updates crate docs and runtime check to renamed sampler crate.
libdd-profiling-heap-gotter/src/hooks.rs Updates sampler crate import path to renamed sampler crate.
libdd-profiling-heap-gotter/src/elf.rs Adds/ports GOT interposition implementation under renamed gotter crate.
libdd-profiling-heap-gotter/README.md Updates gotter README title to renamed crate.
libdd-profiling-heap-gotter/examples/gotter_usdt_demo.rs Updates example docs and install call to renamed gotter crate.
libdd-profiling-heap-gotter/Cargo.toml Renames gotter crate + updates sampler dependency and feature forwarding.
libdd-profiling-heap-gotter-ffi/tests/install.rs Updates test import to renamed gotter-ffi crate.
libdd-profiling-heap-gotter-ffi/src/lib.rs Updates docs and calls to renamed gotter crate.
libdd-profiling-heap-gotter-ffi/README.md Updates README title, crate references, and demo commands.
libdd-profiling-heap-gotter-ffi/examples/cdylib_demo.rs Updates docs and expected cdylib filename to renamed crate.
libdd-profiling-heap-gotter-ffi/cbindgen.toml Updates dependency include list for cbindgen to renamed gotter crate.
libdd-profiling-heap-gotter-ffi/Cargo.toml Renames gotter-ffi crate and updates gotter dependency path.
libdd-profiling-heap-gotter-ffi/build.rs Updates build script docs to renamed gotter-ffi crate.
libdd-profiling-heap-allocator/src/lib.rs Updates allocator crate docs to renamed allocator/sampler crates.
libdd-profiling-heap-allocator/src/allocator.rs Updates sampler crate import and enabled-check to renamed sampler crate.
libdd-profiling-heap-allocator/README.md Updates README title and commands to renamed allocator/sampler crates.
libdd-profiling-heap-allocator/examples/usdt_demo.rs Updates example docs and crate import to renamed allocator crate.
libdd-profiling-heap-allocator/Cargo.toml Renames allocator crate and updates sampler dependency + feature forwarding.
libdd-profiling-heap-allocator/benches/sampler_overhead.rs Updates bench imports/types to renamed allocator/sampler crates.
Cargo.toml Updates workspace members list to renamed heap-profiling crates.
Cargo.lock Replaces old crate entries with renamed crate entries.
.github/workflows/verify-profiling-heap-sampler-bindings.yml Renames/updates bindings verification workflow for new sampler crate and env var.
.github/CODEOWNERS Updates CODEOWNERS glob to the new libdd-profiling-heap-* prefix.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/CODEOWNERS
libdd-ddsketch*/ @DataDog/libdatadog-apm @DataDog/apm-common-components-core
libdd-dogstatsd-client @DataDog/apm-common-components-core
libdd-heap-*/ @DataDog/libdatadog-profiling
libdd-profiling-heap-*/ @DataDog/libdatadog-profiling

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's ... 🥁 ... unaligned

@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot merged commit 2ed4b32 into main Jul 9, 2026
170 of 179 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the sgg/heap-prof-poc-crate-rename branch July 9, 2026 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants