libdatadog 16.0.1.1.0 → 19.1.0.1.0
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 +2 -2
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/LICENSE-3rdparty.yml +19675 -12455
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/blazesym.h +435 -229
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +691 -128
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +118 -14
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/data-pipeline.h +65 -3
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/library-config.h +18 -6
- data/vendor/libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/log.h +63 -0
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +357 -42
- data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/telemetry.h +27 -30
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/LICENSE-3rdparty.yml +19675 -12455
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +435 -229
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +691 -128
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +118 -14
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/data-pipeline.h +65 -3
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/library-config.h +18 -6
- data/vendor/libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/log.h +63 -0
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +357 -42
- data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/telemetry.h +27 -30
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +19675 -12455
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/blazesym.h +435 -229
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +691 -128
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +118 -14
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +65 -3
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/library-config.h +18 -6
- data/vendor/libdatadog-19.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/log.h +63 -0
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/profiling.h +357 -42
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/telemetry.h +27 -30
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/LICENSE-3rdparty.yml +19675 -12455
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/blazesym.h +435 -229
- data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/common.h +691 -128
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/crashtracker.h +118 -14
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +65 -3
- data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/library-config.h +18 -6
- data/vendor/libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/log.h +63 -0
- data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/profiling.h +357 -42
- data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/telemetry.h +27 -30
- data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- metadata +60 -59
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
@@ -12,6 +12,13 @@
|
|
12
12
|
#include <stdint.h>
|
13
13
|
#include "common.h"
|
14
14
|
|
15
|
+
#if defined(_WIN32) && defined(_CRASHTRACKING_COLLECTOR)
|
16
|
+
#include <werapi.h>
|
17
|
+
#include <windows.h>
|
18
|
+
#endif
|
19
|
+
|
20
|
+
|
21
|
+
|
15
22
|
typedef enum ddog_crasht_CrashInfoBuilder_NewResult_Tag {
|
16
23
|
DDOG_CRASHT_CRASH_INFO_BUILDER_NEW_RESULT_OK,
|
17
24
|
DDOG_CRASHT_CRASH_INFO_BUILDER_NEW_RESULT_ERR,
|
@@ -51,23 +58,32 @@ extern "C" {
|
|
51
58
|
#endif // __cplusplus
|
52
59
|
|
53
60
|
/**
|
54
|
-
*
|
55
|
-
*
|
56
|
-
*
|
57
|
-
*
|
58
|
-
* exit.
|
61
|
+
* Disables the crashtracker.
|
62
|
+
* Note that this does not restore the old signal handlers, but rather turns crash-tracking into a
|
63
|
+
* no-op, and then chains the old handlers. This means that handlers registered after the
|
64
|
+
* crashtracker will continue to work as expected.
|
59
65
|
*
|
60
66
|
* # Preconditions
|
61
|
-
*
|
62
|
-
* initialized.
|
67
|
+
* None
|
63
68
|
* # Safety
|
64
|
-
*
|
65
|
-
* No other crash-handler functions should be called concurrently.
|
69
|
+
* None
|
66
70
|
* # Atomicity
|
67
|
-
* This function is
|
68
|
-
|
71
|
+
* This function is atomic and idempotent. Calling it multiple times is allowed.
|
72
|
+
*/
|
73
|
+
DDOG_CHECK_RETURN struct ddog_VoidResult ddog_crasht_disable(void);
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Enables the crashtracker, if it had been previously disabled.
|
77
|
+
* If crashtracking has not been initialized, this function will have no effect.
|
78
|
+
*
|
79
|
+
* # Preconditions
|
80
|
+
* None
|
81
|
+
* # Safety
|
82
|
+
* None
|
83
|
+
* # Atomicity
|
84
|
+
* This function is atomic and idempotent. Calling it multiple times is allowed.
|
69
85
|
*/
|
70
|
-
DDOG_CHECK_RETURN struct ddog_VoidResult
|
86
|
+
DDOG_CHECK_RETURN struct ddog_VoidResult ddog_crasht_enable(void);
|
71
87
|
|
72
88
|
/**
|
73
89
|
* Reinitialize the crash-tracking infrastructure after a fork.
|
@@ -110,6 +126,24 @@ struct ddog_VoidResult ddog_crasht_init(struct ddog_crasht_Config config,
|
|
110
126
|
struct ddog_crasht_ReceiverConfig receiver_config,
|
111
127
|
struct ddog_crasht_Metadata metadata);
|
112
128
|
|
129
|
+
/**
|
130
|
+
* Reconfigure the crashtracker and re-enables it.
|
131
|
+
* If the crashtracker has not been initialized, this function will have no effect.
|
132
|
+
*
|
133
|
+
* # Preconditions
|
134
|
+
* None.
|
135
|
+
* # Safety
|
136
|
+
* Crash-tracking functions are not reentrant.
|
137
|
+
* No other crash-handler functions should be called concurrently.
|
138
|
+
* # Atomicity
|
139
|
+
* This function is not atomic. A crash during its execution may lead to
|
140
|
+
* unexpected crash-handling behaviour.
|
141
|
+
*/
|
142
|
+
DDOG_CHECK_RETURN
|
143
|
+
struct ddog_VoidResult ddog_crasht_reconfigure(struct ddog_crasht_Config config,
|
144
|
+
struct ddog_crasht_ReceiverConfig receiver_config,
|
145
|
+
struct ddog_crasht_Metadata metadata);
|
146
|
+
|
113
147
|
/**
|
114
148
|
* Initialize the crash-tracking infrastructure without launching the receiver.
|
115
149
|
*
|
@@ -126,6 +160,11 @@ DDOG_CHECK_RETURN
|
|
126
160
|
struct ddog_VoidResult ddog_crasht_init_without_receiver(struct ddog_crasht_Config config,
|
127
161
|
struct ddog_crasht_Metadata metadata);
|
128
162
|
|
163
|
+
/**
|
164
|
+
* Returns a list of signals suitable for use in a crashtracker config.
|
165
|
+
*/
|
166
|
+
struct ddog_crasht_Slice_CInt ddog_crasht_default_signals(void);
|
167
|
+
|
129
168
|
/**
|
130
169
|
* Removes all existing additional tags
|
131
170
|
* Expected to be used after a fork, to reset the additional tags on the child
|
@@ -325,6 +364,61 @@ struct ddog_VoidResult ddog_crasht_remove_trace_id(uint64_t id_high,
|
|
325
364
|
uint64_t id_low,
|
326
365
|
uintptr_t idx);
|
327
366
|
|
367
|
+
#if (defined(_CRASHTRACKING_COLLECTOR) && defined(_WIN32))
|
368
|
+
/**
|
369
|
+
* Initialize the crash-tracking infrastructure.
|
370
|
+
*
|
371
|
+
* # Preconditions
|
372
|
+
* None.
|
373
|
+
* # Safety
|
374
|
+
* Crash-tracking functions are not reentrant.
|
375
|
+
* No other crash-handler functions should be called concurrently.
|
376
|
+
* # Atomicity
|
377
|
+
* This function is not atomic. A crash during its execution may lead to
|
378
|
+
* unexpected crash-handling behaviour.
|
379
|
+
*/
|
380
|
+
DDOG_CHECK_RETURN
|
381
|
+
bool ddog_crasht_init_windows(ddog_CharSlice module,
|
382
|
+
const struct ddog_Endpoint *endpoint,
|
383
|
+
struct ddog_crasht_Metadata metadata);
|
384
|
+
#endif
|
385
|
+
|
386
|
+
#if (defined(_CRASHTRACKING_COLLECTOR) && defined(_WIN32))
|
387
|
+
HRESULT OutOfProcessExceptionEventSignatureCallback(const void *_context,
|
388
|
+
const WER_RUNTIME_EXCEPTION_INFORMATION *_exception_information,
|
389
|
+
int32_t _index,
|
390
|
+
uint16_t *_name,
|
391
|
+
uint32_t *_name_size,
|
392
|
+
uint16_t *_value,
|
393
|
+
uint32_t *_value_size);
|
394
|
+
#endif
|
395
|
+
|
396
|
+
#if (defined(_CRASHTRACKING_COLLECTOR) && defined(_WIN32))
|
397
|
+
HRESULT OutOfProcessExceptionEventDebuggerLaunchCallback(const void *_context,
|
398
|
+
const WER_RUNTIME_EXCEPTION_INFORMATION *_exception_information,
|
399
|
+
BOOL *_is_custom_debugger,
|
400
|
+
uint16_t *_debugger_launch,
|
401
|
+
uint32_t *_debugger_launch_size,
|
402
|
+
BOOL *_is_debugger_auto_launch);
|
403
|
+
#endif
|
404
|
+
|
405
|
+
#if (defined(_CRASHTRACKING_COLLECTOR) && defined(_WIN32))
|
406
|
+
HRESULT OutOfProcessExceptionEventCallback(const void *context,
|
407
|
+
const WER_RUNTIME_EXCEPTION_INFORMATION *exception_information,
|
408
|
+
BOOL *_ownership_claimed,
|
409
|
+
uint16_t *_event_name,
|
410
|
+
uint32_t *_size,
|
411
|
+
uint32_t *_signature_count);
|
412
|
+
#endif
|
413
|
+
|
414
|
+
/**
|
415
|
+
* # Safety
|
416
|
+
* The `crash_info` can be null, but if non-null it must point to a Builder made by this module,
|
417
|
+
* which has not previously been dropped.
|
418
|
+
*/
|
419
|
+
DDOG_CHECK_RETURN
|
420
|
+
struct ddog_VoidResult ddog_crasht_CrashInfo_demangle_names(struct ddog_crasht_Handle_CrashInfo *crash_info);
|
421
|
+
|
328
422
|
/**
|
329
423
|
* # Safety
|
330
424
|
* The `builder` can be null, but if non-null it must point to a Frame
|
@@ -585,6 +679,16 @@ struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_uuid(struct ddog_crasht
|
|
585
679
|
DDOG_CHECK_RETURN
|
586
680
|
struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_uuid_random(struct ddog_crasht_Handle_CrashInfoBuilder *builder);
|
587
681
|
|
682
|
+
/**
|
683
|
+
* # Safety
|
684
|
+
* The `crash_info` can be null, but if non-null it must point to a Builder made by this module,
|
685
|
+
* which has not previously been dropped.
|
686
|
+
* The CharSlice must be valid.
|
687
|
+
*/
|
688
|
+
DDOG_CHECK_RETURN
|
689
|
+
struct ddog_VoidResult ddog_crasht_CrashInfoBuilder_with_message(struct ddog_crasht_Handle_CrashInfoBuilder *builder,
|
690
|
+
ddog_CharSlice message);
|
691
|
+
|
588
692
|
/**
|
589
693
|
* Create a new StackFrame, and returns an opaque reference to it.
|
590
694
|
* # Safety
|
@@ -782,7 +886,7 @@ struct ddog_StringWrapperResult ddog_crasht_demangle(ddog_CharSlice name,
|
|
782
886
|
* signal handler is dangerous, so we fork a sidecar to do the stuff we aren't
|
783
887
|
* allowed to do in the handler.
|
784
888
|
*
|
785
|
-
* See comments in [crashtracker/lib.rs] for a full architecture description.
|
889
|
+
* See comments in [datadog-crashtracker/lib.rs] for a full architecture description.
|
786
890
|
* # Safety
|
787
891
|
* No safety concerns
|
788
892
|
*/
|
@@ -796,7 +900,7 @@ DDOG_CHECK_RETURN struct ddog_VoidResult ddog_crasht_receiver_entry_point_stdin(
|
|
796
900
|
* signal handler is dangerous, so we fork a sidecar to do the stuff we aren't
|
797
901
|
* allowed to do in the handler.
|
798
902
|
*
|
799
|
-
* See comments in [
|
903
|
+
* See comments in [datadog-crashtracker/lib.rs] for a full architecture
|
800
904
|
* description.
|
801
905
|
* # Safety
|
802
906
|
* No safety concerns
|
@@ -21,6 +21,18 @@ extern "C" {
|
|
21
21
|
*/
|
22
22
|
void ddog_trace_exporter_error_free(struct ddog_TraceExporterError *error);
|
23
23
|
|
24
|
+
/**
|
25
|
+
* Return a read-only pointer to the response body. This pointer is only valid as long as
|
26
|
+
* `response` is valid.
|
27
|
+
*/
|
28
|
+
const char *ddog_trace_exporter_response_get_body(const struct ddog_TraceExporterResponse *response);
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Free `response` and all its contents. After being called response will not point to a valid
|
32
|
+
* memory address so any further actions on it could lead to undefined behavior.
|
33
|
+
*/
|
34
|
+
void ddog_trace_exporter_response_free(struct ddog_TraceExporterResponse *response);
|
35
|
+
|
24
36
|
void ddog_trace_exporter_config_new(struct ddog_TraceExporterConfig **out_handle);
|
25
37
|
|
26
38
|
/**
|
@@ -65,7 +77,7 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_hostname(struct d
|
|
65
77
|
ddog_CharSlice hostname);
|
66
78
|
|
67
79
|
/**
|
68
|
-
* Sets
|
80
|
+
* Sets environment information to be included in the headers request.
|
69
81
|
*/
|
70
82
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_env(struct ddog_TraceExporterConfig *config,
|
71
83
|
ddog_CharSlice env);
|
@@ -79,6 +91,56 @@ struct ddog_TraceExporterError *ddog_trace_exporter_config_set_version(struct dd
|
|
79
91
|
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_service(struct ddog_TraceExporterConfig *config,
|
80
92
|
ddog_CharSlice service);
|
81
93
|
|
94
|
+
/**
|
95
|
+
* Enables metrics.
|
96
|
+
*/
|
97
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_enable_telemetry(struct ddog_TraceExporterConfig *config,
|
98
|
+
const struct ddog_TelemetryClientConfig *telemetry_cfg);
|
99
|
+
|
100
|
+
/**
|
101
|
+
* Set client-side stats computation status.
|
102
|
+
*/
|
103
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_compute_stats(struct ddog_TraceExporterConfig *config,
|
104
|
+
bool is_enabled);
|
105
|
+
|
106
|
+
/**
|
107
|
+
* Sets `Datadog-Client-Computed-Stats` header to `true`.
|
108
|
+
* This indicates that the upstream system has already computed the stats,
|
109
|
+
* and no further stats computation should be performed.
|
110
|
+
*
|
111
|
+
* <div class="warning">
|
112
|
+
* This method must not be used when `compute_stats` is enabled, as it could
|
113
|
+
* result in duplicate stats computation.
|
114
|
+
* </div>
|
115
|
+
*
|
116
|
+
* A common use case is in Application Security Monitoring (ASM) scenarios:
|
117
|
+
* when APM is disabled but ASM is enabled, setting this header to `true`
|
118
|
+
* ensures that no stats are computed at any level (exporter or agent).
|
119
|
+
*/
|
120
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_client_computed_stats(struct ddog_TraceExporterConfig *config,
|
121
|
+
bool client_computed_stats);
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Sets the `X-Datadog-Test-Session-Token` header. Only used for testing with the test agent.
|
125
|
+
*/
|
126
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_test_session_token(struct ddog_TraceExporterConfig *config,
|
127
|
+
ddog_CharSlice token);
|
128
|
+
|
129
|
+
/**
|
130
|
+
* Enables or disables the rates payload version feature.
|
131
|
+
* When enabled, the trace exporter checks the payload version in the agent's response.
|
132
|
+
* If the version hasn't changed since the last payload, the exporter will return an empty
|
133
|
+
* response.
|
134
|
+
*/
|
135
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_rates_payload_version(struct ddog_TraceExporterConfig *config,
|
136
|
+
bool rates_payload_version);
|
137
|
+
|
138
|
+
/**
|
139
|
+
* Sets the timeout in ms for all agent's connections.
|
140
|
+
*/
|
141
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_connection_timeout(struct ddog_TraceExporterConfig *config,
|
142
|
+
uint64_t timeout_ms);
|
143
|
+
|
82
144
|
/**
|
83
145
|
* Create a new TraceExporter instance.
|
84
146
|
*
|
@@ -109,12 +171,12 @@ void ddog_trace_exporter_free(struct ddog_TraceExporter *handle);
|
|
109
171
|
* TraceExporter. The memory for the trace must be valid for the life of the call to this
|
110
172
|
* function.
|
111
173
|
* * `trace_count` - The number of traces to send to the Datadog Agent.
|
112
|
-
* * `
|
174
|
+
* * `response_out` - Optional handle to store a pointer to the agent response information.
|
113
175
|
*/
|
114
176
|
struct ddog_TraceExporterError *ddog_trace_exporter_send(const struct ddog_TraceExporter *handle,
|
115
177
|
ddog_ByteSlice trace,
|
116
178
|
uintptr_t trace_count,
|
117
|
-
struct
|
179
|
+
struct ddog_TraceExporterResponse **response_out);
|
118
180
|
|
119
181
|
#ifdef __cplusplus
|
120
182
|
} // extern "C"
|
@@ -24,16 +24,12 @@ void ddog_library_configurator_with_fleet_path(struct ddog_Configurator *c,
|
|
24
24
|
void ddog_library_configurator_with_process_info(struct ddog_Configurator *c,
|
25
25
|
struct ddog_ProcessInfo p);
|
26
26
|
|
27
|
+
void ddog_library_configurator_with_detect_process_info(struct ddog_Configurator *c);
|
28
|
+
|
27
29
|
void ddog_library_configurator_drop(struct ddog_Configurator*);
|
28
30
|
|
29
31
|
struct ddog_Result_VecLibraryConfig ddog_library_configurator_get(const struct ddog_Configurator *configurator);
|
30
32
|
|
31
|
-
/**
|
32
|
-
* Returns a static null-terminated string, containing the name of the environment variable
|
33
|
-
* associated with the library configuration
|
34
|
-
*/
|
35
|
-
struct ddog_CStr ddog_library_config_name_to_env(enum ddog_LibraryConfigName name);
|
36
|
-
|
37
33
|
/**
|
38
34
|
* Returns a static null-terminated string, containing the name of the environment variable
|
39
35
|
* associated with the library configuration
|
@@ -54,6 +50,22 @@ struct ddog_CStr ddog_library_config_local_stable_config_path(void);
|
|
54
50
|
|
55
51
|
void ddog_library_config_drop(struct ddog_Vec_LibraryConfig);
|
56
52
|
|
53
|
+
/**
|
54
|
+
* Store tracer metadata to a file handle
|
55
|
+
*
|
56
|
+
* # Safety
|
57
|
+
*
|
58
|
+
* Accepts raw C-compatible strings
|
59
|
+
*/
|
60
|
+
struct ddog_Result_TracerMemfdHandle ddog_store_tracer_metadata(uint8_t schema_version,
|
61
|
+
ddog_CharSlice runtime_id,
|
62
|
+
ddog_CharSlice tracer_language,
|
63
|
+
ddog_CharSlice tracer_version,
|
64
|
+
ddog_CharSlice hostname,
|
65
|
+
ddog_CharSlice service_name,
|
66
|
+
ddog_CharSlice service_env,
|
67
|
+
ddog_CharSlice service_version);
|
68
|
+
|
57
69
|
#ifdef __cplusplus
|
58
70
|
} // extern "C"
|
59
71
|
#endif // __cplusplus
|
data/vendor/libdatadog-19.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/log.h
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
// Copyright 2025-Present Datadog, Inc. https://www.datadoghq.com/
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
3
|
+
|
4
|
+
|
5
|
+
#ifndef DDOG_LOG_H
|
6
|
+
#define DDOG_LOG_H
|
7
|
+
|
8
|
+
#include <stdbool.h>
|
9
|
+
#include <stddef.h>
|
10
|
+
#include <stdint.h>
|
11
|
+
#include <stdio.h>
|
12
|
+
#include "common.h"
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Configures the logger to write to stdout or stderr with the specified configuration.
|
16
|
+
*
|
17
|
+
* # Arguments
|
18
|
+
* * `config` - Configuration for standard stream logging including target
|
19
|
+
*
|
20
|
+
* # Errors
|
21
|
+
* Returns an error if the logger cannot be configured.
|
22
|
+
*/
|
23
|
+
struct ddog_Error *ddog_logger_configure_std(struct ddog_StdConfig config);
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Disables logging by configuring a no-op logger.
|
27
|
+
*
|
28
|
+
* # Errors
|
29
|
+
* Returns an error if the logger cannot be configured.
|
30
|
+
*/
|
31
|
+
struct ddog_Error *ddog_logger_disable_std(void);
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Configures the logger to write to a file with the specified configuration.
|
35
|
+
*
|
36
|
+
* # Arguments
|
37
|
+
* * `config` - Configuration for file logging including path
|
38
|
+
*
|
39
|
+
* # Errors
|
40
|
+
* Returns an error if the logger cannot be configured.
|
41
|
+
*/
|
42
|
+
struct ddog_Error *ddog_logger_configure_file(struct ddog_FileConfig config);
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Disables file logging by configuring a no-op file writer.
|
46
|
+
*
|
47
|
+
* # Errors
|
48
|
+
* Returns an error if the logger cannot be configured.
|
49
|
+
*/
|
50
|
+
struct ddog_Error *ddog_logger_disable_file(void);
|
51
|
+
|
52
|
+
/**
|
53
|
+
* Sets the global log level.
|
54
|
+
*
|
55
|
+
* # Arguments
|
56
|
+
* * `log_level` - The minimum level for events to be logged
|
57
|
+
*
|
58
|
+
* # Errors
|
59
|
+
* Returns an error if the log level cannot be set.
|
60
|
+
*/
|
61
|
+
struct ddog_Error *ddog_logger_set_log_level(enum ddog_LogEventLevel log_level);
|
62
|
+
|
63
|
+
#endif /* DDOG_LOG_H */
|