feat(heap-profiling): Rename new heap profiling crates [PROF-15190] - #2217
Conversation
…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.
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis 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. |
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 2a63877 | Docs | Datadog PR Page | Give us feedback! |
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
r1viollet
left a comment
There was a problem hiding this comment.
LGTM
Thanks for following up on renaming.
There was a problem hiding this comment.
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, andlibdd-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.
| 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 |
2ed4b32
into
main
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.