| Crates.io | libdd-profiling |
| lib.rs | libdd-profiling |
| version | 1.0.0 |
| created_at | 2025-11-17 16:44:29.076421+00 |
| updated_at | 2025-11-17 16:44:29.076421+00 |
| description | Continuous profiling library supporting pprof format collection and export to Datadog |
| homepage | https://github.com/DataDog/libdatadog/tree/main/libdd-profiling |
| repository | https://github.com/DataDog/libdatadog/tree/main/libdd-profiling |
| max_upload_size | |
| id | 1937192 |
| size | 535,750 |
Core profiling library for collecting, aggregating, and exporting profiling data in pprof format to Datadog.
libdd-profiling provides the core functionality for continuous profiling, including profile collection, aggregation, compression, and export to Datadog backends using the pprof format.
api: Core API types (ValueType, Period, Mapping, Function, etc.)collections: String storage and interning for efficient memory useexporter: HTTP exporter for sending profiles to Datadoginternal: Internal profile management and aggregationiter: Iteration utilities for profile datapprof: pprof protobuf format supportuse libdd_profiling::api::{Profile, ValueType};
// Create a profile
let value_types = vec![
ValueType::new("samples", "count"),
ValueType::new("cpu", "nanoseconds"),
];
// Add samples with stack traces
// ... collect profiling data ...
// Export to Datadog
// ... use exporter to send profile ...
The library generates profiles in the pprof format, which includes: