libdatadog 26.0.0.1.0-aarch64-linux → 27.0.0.1.0-aarch64-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +239 -3
- data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +143 -27
- data/vendor/{libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +11 -1
- data/vendor/{libdatadog-26.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/profiling.h +116 -8
- data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +239 -3
- data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +143 -27
- data/vendor/{libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +11 -1
- data/vendor/{libdatadog-26.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +116 -8
- data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
- metadata +33 -33
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h +0 -0
- /data/vendor/{libdatadog-26.0.0 → libdatadog-27.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
|
@@ -263,6 +263,92 @@ typedef struct ddog_prof_Function2 *ddog_prof_FunctionId2;
|
|
|
263
263
|
|
|
264
264
|
#define ddog_prof_Set_SIZE_HINT (1024 * 1024)
|
|
265
265
|
|
|
266
|
+
/**
|
|
267
|
+
* Sample types supported by Datadog's profilers.
|
|
268
|
+
*
|
|
269
|
+
* Variants are sourced from:
|
|
270
|
+
* - **dd-trace-rb**: `stack_recorder.c` (`all_value_types`)
|
|
271
|
+
* - **dd-trace-py**: `dd_wrapper/include/types.hpp`
|
|
272
|
+
* - **dd-trace-php**: `profiling/src/profiling/samples.rs` (I/O profiling)
|
|
273
|
+
* - **dd-trace-dotnet**: Sample type definitions for allocations, locks, CPU, walltime,
|
|
274
|
+
* exceptions, live objects, HTTP requests
|
|
275
|
+
* - **pprof-nodejs**: `profile-serializer.ts` (value type functions)
|
|
276
|
+
*/
|
|
277
|
+
typedef enum ddog_prof_SampleType {
|
|
278
|
+
DDOG_PROF_SAMPLE_TYPE_ALLOC_SAMPLES,
|
|
279
|
+
DDOG_PROF_SAMPLE_TYPE_ALLOC_SAMPLES_UNSCALED,
|
|
280
|
+
DDOG_PROF_SAMPLE_TYPE_ALLOC_SIZE,
|
|
281
|
+
DDOG_PROF_SAMPLE_TYPE_ALLOC_SPACE,
|
|
282
|
+
DDOG_PROF_SAMPLE_TYPE_CPU_TIME,
|
|
283
|
+
DDOG_PROF_SAMPLE_TYPE_CPU_SAMPLES,
|
|
284
|
+
/**
|
|
285
|
+
* Legacy: Use `CpuTime` instead for consistency with naming scheme
|
|
286
|
+
*/
|
|
287
|
+
DDOG_PROF_SAMPLE_TYPE_CPU_LEGACY,
|
|
288
|
+
/**
|
|
289
|
+
* Legacy: Use `CpuSamples` instead for consistency with naming scheme
|
|
290
|
+
*/
|
|
291
|
+
DDOG_PROF_SAMPLE_TYPE_CPU_SAMPLE_LEGACY,
|
|
292
|
+
DDOG_PROF_SAMPLE_TYPE_EXCEPTION_SAMPLES,
|
|
293
|
+
/**
|
|
294
|
+
* Legacy: Use `ExceptionSamples` instead for consistency with naming scheme
|
|
295
|
+
*/
|
|
296
|
+
DDOG_PROF_SAMPLE_TYPE_EXCEPTION_LEGACY,
|
|
297
|
+
DDOG_PROF_SAMPLE_TYPE_FILE_IO_READ_SIZE,
|
|
298
|
+
DDOG_PROF_SAMPLE_TYPE_FILE_IO_READ_SIZE_SAMPLES,
|
|
299
|
+
DDOG_PROF_SAMPLE_TYPE_FILE_IO_READ_TIME,
|
|
300
|
+
DDOG_PROF_SAMPLE_TYPE_FILE_IO_READ_TIME_SAMPLES,
|
|
301
|
+
DDOG_PROF_SAMPLE_TYPE_FILE_IO_WRITE_SIZE,
|
|
302
|
+
DDOG_PROF_SAMPLE_TYPE_FILE_IO_WRITE_SIZE_SAMPLES,
|
|
303
|
+
DDOG_PROF_SAMPLE_TYPE_FILE_IO_WRITE_TIME,
|
|
304
|
+
DDOG_PROF_SAMPLE_TYPE_FILE_IO_WRITE_TIME_SAMPLES,
|
|
305
|
+
DDOG_PROF_SAMPLE_TYPE_GPU_ALLOC_SAMPLES,
|
|
306
|
+
DDOG_PROF_SAMPLE_TYPE_GPU_FLOPS,
|
|
307
|
+
DDOG_PROF_SAMPLE_TYPE_GPU_FLOPS_SAMPLES,
|
|
308
|
+
DDOG_PROF_SAMPLE_TYPE_GPU_SAMPLES,
|
|
309
|
+
DDOG_PROF_SAMPLE_TYPE_GPU_SPACE,
|
|
310
|
+
DDOG_PROF_SAMPLE_TYPE_GPU_TIME,
|
|
311
|
+
DDOG_PROF_SAMPLE_TYPE_HEAP_LIVE_SAMPLES,
|
|
312
|
+
DDOG_PROF_SAMPLE_TYPE_HEAP_LIVE_SIZE,
|
|
313
|
+
DDOG_PROF_SAMPLE_TYPE_HEAP_SPACE,
|
|
314
|
+
DDOG_PROF_SAMPLE_TYPE_INUSE_OBJECTS,
|
|
315
|
+
DDOG_PROF_SAMPLE_TYPE_INUSE_SPACE,
|
|
316
|
+
DDOG_PROF_SAMPLE_TYPE_LOCK_ACQUIRE,
|
|
317
|
+
DDOG_PROF_SAMPLE_TYPE_LOCK_ACQUIRE_WAIT,
|
|
318
|
+
DDOG_PROF_SAMPLE_TYPE_LOCK_COUNT,
|
|
319
|
+
DDOG_PROF_SAMPLE_TYPE_LOCK_RELEASE,
|
|
320
|
+
DDOG_PROF_SAMPLE_TYPE_LOCK_RELEASE_HOLD,
|
|
321
|
+
DDOG_PROF_SAMPLE_TYPE_LOCK_TIME,
|
|
322
|
+
/**
|
|
323
|
+
* Legacy: Use `InuseObjects` instead for consistency with naming scheme
|
|
324
|
+
*/
|
|
325
|
+
DDOG_PROF_SAMPLE_TYPE_OBJECTS_LEGACY,
|
|
326
|
+
DDOG_PROF_SAMPLE_TYPE_REQUEST_TIME,
|
|
327
|
+
DDOG_PROF_SAMPLE_TYPE_SAMPLE,
|
|
328
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_SIZE,
|
|
329
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_SIZE_SAMPLES,
|
|
330
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_TIME,
|
|
331
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_READ_TIME_SAMPLES,
|
|
332
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_SIZE,
|
|
333
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_SIZE_SAMPLES,
|
|
334
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_TIME,
|
|
335
|
+
DDOG_PROF_SAMPLE_TYPE_SOCKET_WRITE_TIME_SAMPLES,
|
|
336
|
+
/**
|
|
337
|
+
* Legacy: Use specific space variants (`InuseSpace`, `HeapSpace`, `AllocSpace`) instead
|
|
338
|
+
*/
|
|
339
|
+
DDOG_PROF_SAMPLE_TYPE_SPACE_LEGACY,
|
|
340
|
+
DDOG_PROF_SAMPLE_TYPE_TIMELINE,
|
|
341
|
+
DDOG_PROF_SAMPLE_TYPE_WALL_SAMPLES,
|
|
342
|
+
DDOG_PROF_SAMPLE_TYPE_WALL_TIME,
|
|
343
|
+
/**
|
|
344
|
+
* Legacy: Use `WallTime` instead for consistency with naming scheme
|
|
345
|
+
*/
|
|
346
|
+
DDOG_PROF_SAMPLE_TYPE_WALL_LEGACY,
|
|
347
|
+
DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_COUNT,
|
|
348
|
+
DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_NANOSECONDS,
|
|
349
|
+
DDOG_PROF_SAMPLE_TYPE_EXPERIMENTAL_BYTES,
|
|
350
|
+
} ddog_prof_SampleType;
|
|
351
|
+
|
|
266
352
|
typedef enum ddog_prof_Utf8Option {
|
|
267
353
|
/**
|
|
268
354
|
* The string is assumed to be valid UTF-8. If it's not, the behavior
|
|
@@ -284,6 +370,8 @@ typedef struct ddog_OpaqueCancellationToken ddog_OpaqueCancellationToken;
|
|
|
284
370
|
|
|
285
371
|
typedef struct ddog_prof_EncodedProfile ddog_prof_EncodedProfile;
|
|
286
372
|
|
|
373
|
+
typedef struct ddog_prof_ExporterManager ddog_prof_ExporterManager;
|
|
374
|
+
|
|
287
375
|
typedef struct ddog_prof_Exporter ddog_prof_Exporter;
|
|
288
376
|
|
|
289
377
|
/**
|
|
@@ -435,6 +523,53 @@ typedef struct ddog_CancellationToken {
|
|
|
435
523
|
ddog_prof_TokioCancellationToken *inner;
|
|
436
524
|
} ddog_CancellationToken;
|
|
437
525
|
|
|
526
|
+
/**
|
|
527
|
+
* Represents an object that should only be referred to by its handle.
|
|
528
|
+
* Do not access its member for any reason, only use the C API functions on this struct.
|
|
529
|
+
*/
|
|
530
|
+
typedef struct ddog_prof_Handle_ExporterManager {
|
|
531
|
+
struct ddog_prof_ExporterManager *inner;
|
|
532
|
+
} ddog_prof_Handle_ExporterManager;
|
|
533
|
+
|
|
534
|
+
/**
|
|
535
|
+
* A generic result type for when an operation may fail,
|
|
536
|
+
* or may return <T> in case of success.
|
|
537
|
+
*/
|
|
538
|
+
typedef enum ddog_prof_Result_HandleExporterManager_Tag {
|
|
539
|
+
DDOG_PROF_RESULT_HANDLE_EXPORTER_MANAGER_OK_HANDLE_EXPORTER_MANAGER,
|
|
540
|
+
DDOG_PROF_RESULT_HANDLE_EXPORTER_MANAGER_ERR_HANDLE_EXPORTER_MANAGER,
|
|
541
|
+
} ddog_prof_Result_HandleExporterManager_Tag;
|
|
542
|
+
|
|
543
|
+
typedef struct ddog_prof_Result_HandleExporterManager {
|
|
544
|
+
ddog_prof_Result_HandleExporterManager_Tag tag;
|
|
545
|
+
union {
|
|
546
|
+
struct {
|
|
547
|
+
struct ddog_prof_Handle_ExporterManager ok;
|
|
548
|
+
};
|
|
549
|
+
struct {
|
|
550
|
+
struct ddog_Error err;
|
|
551
|
+
};
|
|
552
|
+
};
|
|
553
|
+
} ddog_prof_Result_HandleExporterManager;
|
|
554
|
+
|
|
555
|
+
/**
|
|
556
|
+
* A generic result type for when an operation may fail,
|
|
557
|
+
* but there's nothing to return in the case of success.
|
|
558
|
+
*/
|
|
559
|
+
typedef enum ddog_VoidResult_Tag {
|
|
560
|
+
DDOG_VOID_RESULT_OK,
|
|
561
|
+
DDOG_VOID_RESULT_ERR,
|
|
562
|
+
} ddog_VoidResult_Tag;
|
|
563
|
+
|
|
564
|
+
typedef struct ddog_VoidResult {
|
|
565
|
+
ddog_VoidResult_Tag tag;
|
|
566
|
+
union {
|
|
567
|
+
struct {
|
|
568
|
+
struct ddog_Error err;
|
|
569
|
+
};
|
|
570
|
+
};
|
|
571
|
+
} ddog_VoidResult;
|
|
572
|
+
|
|
438
573
|
/**
|
|
439
574
|
* Represents the result of an operation that either succeeds with no value, or fails with an
|
|
440
575
|
* error message. This is like `Result<(), Cow<'static, CStr>` except its representation is
|
|
@@ -516,27 +651,22 @@ typedef struct ddog_prof_Profile_NewResult {
|
|
|
516
651
|
};
|
|
517
652
|
} ddog_prof_Profile_NewResult;
|
|
518
653
|
|
|
519
|
-
typedef struct
|
|
520
|
-
ddog_CharSlice type_;
|
|
521
|
-
ddog_CharSlice unit;
|
|
522
|
-
} ddog_prof_ValueType;
|
|
523
|
-
|
|
524
|
-
typedef struct ddog_prof_Slice_ValueType {
|
|
654
|
+
typedef struct ddog_prof_Slice_SampleType {
|
|
525
655
|
/**
|
|
526
656
|
* Should be non-null and suitably aligned for the underlying type. It is
|
|
527
657
|
* allowed but not recommended for the pointer to be null when the len is
|
|
528
658
|
* zero.
|
|
529
659
|
*/
|
|
530
|
-
const
|
|
660
|
+
const enum ddog_prof_SampleType *ptr;
|
|
531
661
|
/**
|
|
532
662
|
* The number of elements (not bytes) that `.ptr` points to. Must be less
|
|
533
663
|
* than or equal to [isize::MAX].
|
|
534
664
|
*/
|
|
535
665
|
uintptr_t len;
|
|
536
|
-
}
|
|
666
|
+
} ddog_prof_Slice_SampleType;
|
|
537
667
|
|
|
538
668
|
typedef struct ddog_prof_Period {
|
|
539
|
-
|
|
669
|
+
enum ddog_prof_SampleType sample_type;
|
|
540
670
|
int64_t value;
|
|
541
671
|
} ddog_prof_Period;
|
|
542
672
|
|
|
@@ -1145,24 +1275,6 @@ typedef struct ddog_prof_StringId_Result {
|
|
|
1145
1275
|
};
|
|
1146
1276
|
} ddog_prof_StringId_Result;
|
|
1147
1277
|
|
|
1148
|
-
/**
|
|
1149
|
-
* A generic result type for when an operation may fail,
|
|
1150
|
-
* but there's nothing to return in the case of success.
|
|
1151
|
-
*/
|
|
1152
|
-
typedef enum ddog_VoidResult_Tag {
|
|
1153
|
-
DDOG_VOID_RESULT_OK,
|
|
1154
|
-
DDOG_VOID_RESULT_ERR,
|
|
1155
|
-
} ddog_VoidResult_Tag;
|
|
1156
|
-
|
|
1157
|
-
typedef struct ddog_VoidResult {
|
|
1158
|
-
ddog_VoidResult_Tag tag;
|
|
1159
|
-
union {
|
|
1160
|
-
struct {
|
|
1161
|
-
struct ddog_Error err;
|
|
1162
|
-
};
|
|
1163
|
-
};
|
|
1164
|
-
} ddog_VoidResult;
|
|
1165
|
-
|
|
1166
1278
|
typedef struct ddog_prof_Slice_ManagedStringId {
|
|
1167
1279
|
/**
|
|
1168
1280
|
* Should be non-null and suitably aligned for the underlying type. It is
|
|
@@ -2369,6 +2481,10 @@ typedef struct ddog_crasht_OsInfo {
|
|
|
2369
2481
|
|
|
2370
2482
|
typedef struct ddog_crasht_ProcInfo {
|
|
2371
2483
|
uint32_t pid;
|
|
2484
|
+
/**
|
|
2485
|
+
* Optional crashing thread id; 0 means unset.
|
|
2486
|
+
*/
|
|
2487
|
+
uint32_t tid;
|
|
2372
2488
|
} ddog_crasht_ProcInfo;
|
|
2373
2489
|
|
|
2374
2490
|
typedef struct ddog_crasht_SigInfo {
|
|
@@ -646,12 +646,22 @@ DDOG_CHECK_RETURN
|
|
|
646
646
|
struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_message(struct ddog_crasht_Handle_CrashInfoBuilder *builder,
|
|
647
647
|
ddog_CharSlice message);
|
|
648
648
|
|
|
649
|
+
/**
|
|
650
|
+
* # Safety
|
|
651
|
+
* The `builder` can be null, but if non-null it must point to a Builder made by this module,
|
|
652
|
+
* which has not previously been dropped.
|
|
653
|
+
* The CharSlice must be valid.
|
|
654
|
+
*/
|
|
655
|
+
DDOG_CHECK_RETURN
|
|
656
|
+
struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_thread_name(struct ddog_crasht_Handle_CrashInfoBuilder *builder,
|
|
657
|
+
ddog_CharSlice thread_name);
|
|
658
|
+
|
|
649
659
|
/**
|
|
650
660
|
* # Safety
|
|
651
661
|
* The `builder` can be null, but if non-null it must point to a Builder made by this module,
|
|
652
662
|
* which has not previously been dropped.
|
|
653
663
|
* All arguments must be valid.
|
|
654
|
-
* This method requires that the builder has a UUID
|
|
664
|
+
* This method requires that the builder has a UUID and metadata set
|
|
655
665
|
*/
|
|
656
666
|
DDOG_CHECK_RETURN
|
|
657
667
|
struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_upload_ping_to_endpoint(struct ddog_crasht_Handle_CrashInfoBuilder *builder,
|
|
@@ -120,9 +120,6 @@ void ddog_prof_Exporter_drop(struct ddog_prof_ProfileExporter *exporter);
|
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
122
|
* Builds a request and sends it, returning the HttpStatus.
|
|
123
|
-
* This is a more efficient version of calling `ddog_prof_Exporter_Request_build`
|
|
124
|
-
* followed by `ddog_prof_Exporter_send`, as it avoids exposing the intermediate
|
|
125
|
-
* `Request` object.
|
|
126
123
|
*
|
|
127
124
|
* # Arguments
|
|
128
125
|
* * `exporter` - Borrows the exporter.
|
|
@@ -196,6 +193,112 @@ bool ddog_CancellationToken_cancel(struct ddog_CancellationToken *cancel);
|
|
|
196
193
|
*/
|
|
197
194
|
void ddog_CancellationToken_drop(struct ddog_CancellationToken *token);
|
|
198
195
|
|
|
196
|
+
/**
|
|
197
|
+
* Creates a new ExporterManager with a background worker thread.
|
|
198
|
+
*
|
|
199
|
+
* The ExporterManager provides asynchronous profle export capabilities through a
|
|
200
|
+
* background worker thread and bounded channel.
|
|
201
|
+
*
|
|
202
|
+
* # Arguments
|
|
203
|
+
* * `exporter` - Takes ownership of the ProfileExporter to use for sending profiles.
|
|
204
|
+
*
|
|
205
|
+
* # Safety
|
|
206
|
+
* The `exporter` must point to a valid ProfileExporter that has not been dropped.
|
|
207
|
+
*/
|
|
208
|
+
DDOG_CHECK_RETURN
|
|
209
|
+
struct ddog_prof_Result_HandleExporterManager ddog_prof_ExporterManager_new(struct ddog_prof_ProfileExporter *exporter);
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Queues a profile to be sent asynchronously by the background worker thread.
|
|
213
|
+
*
|
|
214
|
+
* **Important**: This function resets the profile and queues the *previous* profile data.
|
|
215
|
+
* After calling this, the profile will be empty and ready for new samples.
|
|
216
|
+
*
|
|
217
|
+
* # Arguments
|
|
218
|
+
* * `manager` - Borrows the ExporterManager.
|
|
219
|
+
* * `profile` - Takes ownership of the profile to send.
|
|
220
|
+
* * `files_to_compress_and_export` - Files to compress and attach to the profile.
|
|
221
|
+
* * `optional_additional_tags` - Additional tags to include with this profile.
|
|
222
|
+
* * `optional_process_tags` - Process-level tags as a comma-separated string.
|
|
223
|
+
* * `optional_internal_metadata_json` - Internal metadata as a JSON string.
|
|
224
|
+
* * `optional_info_json` - System info as a JSON string.
|
|
225
|
+
*
|
|
226
|
+
* # Safety
|
|
227
|
+
* All non-null arguments MUST have been created by APIs in this module.
|
|
228
|
+
*/
|
|
229
|
+
DDOG_CHECK_RETURN
|
|
230
|
+
struct ddog_VoidResult ddog_prof_ExporterManager_queue(struct ddog_prof_Handle_ExporterManager *manager,
|
|
231
|
+
struct ddog_prof_EncodedProfile *profile,
|
|
232
|
+
struct ddog_prof_Exporter_Slice_File files_to_compress_and_export,
|
|
233
|
+
const struct ddog_Vec_Tag *optional_additional_tags,
|
|
234
|
+
const ddog_CharSlice *optional_process_tags,
|
|
235
|
+
const ddog_CharSlice *optional_internal_metadata_json,
|
|
236
|
+
const ddog_CharSlice *optional_info_json);
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Aborts the manager, stopping the worker thread and returning inflight requests.
|
|
240
|
+
*
|
|
241
|
+
* **Note**: This consumes the manager - it cannot be used after calling abort.
|
|
242
|
+
*
|
|
243
|
+
* # Arguments
|
|
244
|
+
* * `manager` - Takes ownership of the ExporterManager.
|
|
245
|
+
*
|
|
246
|
+
* # Safety
|
|
247
|
+
* The `manager` must point to a valid ExporterManager that has not been dropped.
|
|
248
|
+
*/
|
|
249
|
+
DDOG_CHECK_RETURN
|
|
250
|
+
struct ddog_VoidResult ddog_prof_ExporterManager_abort(struct ddog_prof_Handle_ExporterManager *manager);
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Suspends the manager before forking (prefork).
|
|
254
|
+
*
|
|
255
|
+
* **Note**: This consumes the manager - it cannot be used after calling prefork.
|
|
256
|
+
*
|
|
257
|
+
* # Arguments
|
|
258
|
+
* * `manager` - Takes ownership of the ExporterManager.
|
|
259
|
+
*
|
|
260
|
+
* # Safety
|
|
261
|
+
* The `manager` must point to a valid ExporterManager that has not been dropped.
|
|
262
|
+
*/
|
|
263
|
+
DDOG_CHECK_RETURN
|
|
264
|
+
struct ddog_VoidResult ddog_prof_ExporterManager_prefork(struct ddog_prof_Handle_ExporterManager *manager);
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Creates a new manager in the child process after forking (postfork_child).
|
|
268
|
+
*
|
|
269
|
+
* Inflight requests from the parent are discarded in the child.
|
|
270
|
+
*
|
|
271
|
+
* # Arguments
|
|
272
|
+
* * `suspended` - Takes ownership of the suspended ExporterManager.
|
|
273
|
+
*
|
|
274
|
+
* # Safety
|
|
275
|
+
* The `suspended` must point to a valid suspended ExporterManager that has not been dropped.
|
|
276
|
+
*/
|
|
277
|
+
DDOG_CHECK_RETURN
|
|
278
|
+
struct ddog_VoidResult ddog_prof_ExporterManager_postfork_child(struct ddog_prof_Handle_ExporterManager *suspended);
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Creates a new manager in the parent process after forking (postfork_parent).
|
|
282
|
+
*
|
|
283
|
+
* Inflight requests from before the fork are re-queued in the new manager.
|
|
284
|
+
*
|
|
285
|
+
* # Arguments
|
|
286
|
+
* * `suspended` - Takes ownership of the suspended ExporterManager.
|
|
287
|
+
*
|
|
288
|
+
* # Safety
|
|
289
|
+
* The `suspended` must point to a valid suspended ExporterManager that has not been dropped.
|
|
290
|
+
*/
|
|
291
|
+
DDOG_CHECK_RETURN
|
|
292
|
+
struct ddog_VoidResult ddog_prof_ExporterManager_postfork_parent(struct ddog_prof_Handle_ExporterManager *suspended);
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* # Safety
|
|
296
|
+
* The `manager` may be null, but if non-null the pointer must point to a
|
|
297
|
+
* valid `ExporterManager` object made by the Rust Global allocator that
|
|
298
|
+
* has not already been dropped.
|
|
299
|
+
*/
|
|
300
|
+
void ddog_prof_ExporterManager_drop(struct ddog_prof_Handle_ExporterManager *manager);
|
|
301
|
+
|
|
199
302
|
/**
|
|
200
303
|
* Frees any error associated with the status, and replaces it with an OK.
|
|
201
304
|
*
|
|
@@ -210,7 +313,7 @@ void ddog_prof_Status_drop(struct ddog_prof_Status *status);
|
|
|
210
313
|
* `ddog_prof_Profile_drop` when you are done with the profile.
|
|
211
314
|
*
|
|
212
315
|
* # Arguments
|
|
213
|
-
* * `sample_types`
|
|
316
|
+
* * `sample_types` - A slice of SampleType enums
|
|
214
317
|
* * `period` - Optional period of the profile. Passing None/null translates to zero values.
|
|
215
318
|
* * `start_time` - Optional time the profile started at. Passing None/null will use the current
|
|
216
319
|
* time.
|
|
@@ -220,7 +323,7 @@ void ddog_prof_Status_drop(struct ddog_prof_Status *status);
|
|
|
220
323
|
* and must have the correct number of elements for the slice.
|
|
221
324
|
*/
|
|
222
325
|
DDOG_CHECK_RETURN
|
|
223
|
-
struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct
|
|
326
|
+
struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_SampleType sample_types,
|
|
224
327
|
const struct ddog_prof_Period *period);
|
|
225
328
|
|
|
226
329
|
/**
|
|
@@ -230,7 +333,7 @@ struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_
|
|
|
230
333
|
* # Arguments
|
|
231
334
|
* * `out` - a non-null pointer to an uninitialized Profile.
|
|
232
335
|
* * `dict`: a valid reference to a ProfilesDictionary handle.
|
|
233
|
-
* * `sample_types`
|
|
336
|
+
* * `sample_types` - A slice of SampleType enums
|
|
234
337
|
* * `period` - Optional period of the profile. Passing None/null translates to zero values.
|
|
235
338
|
*
|
|
236
339
|
* # Safety
|
|
@@ -246,7 +349,7 @@ struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_
|
|
|
246
349
|
DDOG_CHECK_RETURN
|
|
247
350
|
struct ddog_prof_Status ddog_prof_Profile_with_dictionary(struct ddog_prof_Profile *out,
|
|
248
351
|
const ddog_prof_ProfilesDictionaryHandle *dict,
|
|
249
|
-
struct
|
|
352
|
+
struct ddog_prof_Slice_SampleType sample_types,
|
|
250
353
|
const struct ddog_prof_Period *period);
|
|
251
354
|
|
|
252
355
|
/**
|
|
@@ -254,7 +357,7 @@ struct ddog_prof_Status ddog_prof_Profile_with_dictionary(struct ddog_prof_Profi
|
|
|
254
357
|
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
|
255
358
|
*/
|
|
256
359
|
DDOG_CHECK_RETURN
|
|
257
|
-
struct ddog_prof_Profile_NewResult ddog_prof_Profile_with_string_storage(struct
|
|
360
|
+
struct ddog_prof_Profile_NewResult ddog_prof_Profile_with_string_storage(struct ddog_prof_Slice_SampleType sample_types,
|
|
258
361
|
const struct ddog_prof_Period *period,
|
|
259
362
|
struct ddog_prof_ManagedStringStorage string_storage);
|
|
260
363
|
|
|
@@ -826,6 +929,11 @@ struct ddog_prof_Status ddog_prof_ProfilesDictionary_insert_mapping(ddog_prof_Ma
|
|
|
826
929
|
/**
|
|
827
930
|
* Inserts a UTF-8 string into the dictionary string table.
|
|
828
931
|
*
|
|
932
|
+
* Copies the string into the internal buffer--strings are arena allocated
|
|
933
|
+
* and not individually allocated. On success, the [`StringId2`] written to
|
|
934
|
+
* the `string_id` out parameter is valid as long as this dictionary is alive.
|
|
935
|
+
* It should only be passed back to the dictionary that created it.
|
|
936
|
+
*
|
|
829
937
|
* # Safety
|
|
830
938
|
*
|
|
831
939
|
* - `string_id` must be non-null and valid for writes of `StringId`.
|
|
Binary file
|
|
@@ -8,7 +8,7 @@ includedir=${prefix}/include
|
|
|
8
8
|
|
|
9
9
|
Name: datadog_profiling
|
|
10
10
|
Description: Contains common code used to implement Datadog's Continuous Profilers. (Dynamic linking variant, sets rpath)
|
|
11
|
-
Version:
|
|
11
|
+
Version: 27.0.0
|
|
12
12
|
Requires:
|
|
13
13
|
Libs: -L${libdir} -ldatadog_profiling -Wl,-rpath,${libdir}
|
|
14
14
|
Libs.private:
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: libdatadog
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 27.0.0.1.0
|
|
5
5
|
platform: aarch64-linux
|
|
6
6
|
authors:
|
|
7
7
|
- Datadog, Inc.
|
|
@@ -18,38 +18,38 @@ extra_rdoc_files: []
|
|
|
18
18
|
files:
|
|
19
19
|
- lib/libdatadog.rb
|
|
20
20
|
- lib/libdatadog/version.rb
|
|
21
|
-
- vendor/libdatadog-
|
|
22
|
-
- vendor/libdatadog-
|
|
23
|
-
- vendor/libdatadog-
|
|
24
|
-
- vendor/libdatadog-
|
|
25
|
-
- vendor/libdatadog-
|
|
26
|
-
- vendor/libdatadog-
|
|
27
|
-
- vendor/libdatadog-
|
|
28
|
-
- vendor/libdatadog-
|
|
29
|
-
- vendor/libdatadog-
|
|
30
|
-
- vendor/libdatadog-
|
|
31
|
-
- vendor/libdatadog-
|
|
32
|
-
- vendor/libdatadog-
|
|
33
|
-
- vendor/libdatadog-
|
|
34
|
-
- vendor/libdatadog-
|
|
35
|
-
- vendor/libdatadog-
|
|
36
|
-
- vendor/libdatadog-
|
|
37
|
-
- vendor/libdatadog-
|
|
38
|
-
- vendor/libdatadog-
|
|
39
|
-
- vendor/libdatadog-
|
|
40
|
-
- vendor/libdatadog-
|
|
41
|
-
- vendor/libdatadog-
|
|
42
|
-
- vendor/libdatadog-
|
|
43
|
-
- vendor/libdatadog-
|
|
44
|
-
- vendor/libdatadog-
|
|
45
|
-
- vendor/libdatadog-
|
|
46
|
-
- vendor/libdatadog-
|
|
47
|
-
- vendor/libdatadog-
|
|
48
|
-
- vendor/libdatadog-
|
|
49
|
-
- vendor/libdatadog-
|
|
50
|
-
- vendor/libdatadog-
|
|
51
|
-
- vendor/libdatadog-
|
|
52
|
-
- vendor/libdatadog-
|
|
21
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE
|
|
22
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml
|
|
23
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE
|
|
24
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver
|
|
25
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h
|
|
26
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h
|
|
27
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h
|
|
28
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h
|
|
29
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ddsketch.h
|
|
30
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/ffe.h
|
|
31
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h
|
|
32
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h
|
|
33
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h
|
|
34
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h
|
|
35
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so
|
|
36
|
+
- vendor/libdatadog-27.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc
|
|
37
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE
|
|
38
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml
|
|
39
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE
|
|
40
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver
|
|
41
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h
|
|
42
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h
|
|
43
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h
|
|
44
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h
|
|
45
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ddsketch.h
|
|
46
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/ffe.h
|
|
47
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h
|
|
48
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h
|
|
49
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h
|
|
50
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h
|
|
51
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so
|
|
52
|
+
- vendor/libdatadog-27.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc
|
|
53
53
|
homepage: https://docs.datadoghq.com/tracing/
|
|
54
54
|
licenses:
|
|
55
55
|
- Apache-2.0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|