libdatadog 16.0.1.1.0 → 18.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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +2 -2
  3. data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/LICENSE-3rdparty.yml +8181 -4123
  4. data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +585 -123
  5. data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +108 -14
  6. data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/data-pipeline.h +49 -2
  7. data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/library-config.h +18 -6
  8. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +357 -42
  9. data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-18.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/telemetry.h +27 -30
  10. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  11. data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/LICENSE-3rdparty.yml +8181 -4123
  12. data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +585 -123
  13. data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +108 -14
  14. data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/data-pipeline.h +49 -2
  15. data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/library-config.h +18 -6
  16. data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +357 -42
  17. data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/telemetry.h +27 -30
  18. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  19. data/vendor/{libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-18.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/LICENSE-3rdparty.yml +8181 -4123
  20. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +585 -123
  21. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +108 -14
  22. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +49 -2
  23. data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/library-config.h +18 -6
  24. data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/profiling.h +357 -42
  25. data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/telemetry.h +27 -30
  26. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  27. data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/LICENSE-3rdparty.yml +8181 -4123
  28. data/vendor/{libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/common.h +585 -123
  29. data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/crashtracker.h +108 -14
  30. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +49 -2
  31. data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/library-config.h +18 -6
  32. data/vendor/{libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/profiling.h +357 -42
  33. data/vendor/{libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-18.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/telemetry.h +27 -30
  34. data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  35. metadata +56 -59
  36. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  37. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  38. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  39. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
  40. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
  41. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  42. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
  43. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  44. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
  45. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
  46. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
  47. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
  48. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  49. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
  50. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
  51. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
  52. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
  53. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  54. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.1.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
  55. /data/vendor/{libdatadog-16.0.1 → libdatadog-18.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
- * Cleans up after the crash-tracker:
55
- * Unregister the crash handler, restore the previous handler (if any), and
56
- * shut down the receiver. Note that the use of this function is optional:
57
- * the receiver will automatically shutdown when the pipe is closed on program
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
- * This function assumes that the crashtracker has previously been
62
- * initialized.
67
+ * None
63
68
  * # Safety
64
- * Crash-tracking functions are not reentrant.
65
- * No other crash-handler functions should be called concurrently.
69
+ * None
66
70
  * # Atomicity
67
- * This function is not atomic. A crash during its execution may lead to
68
- * unexpected crash-handling behaviour.
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 ddog_crasht_shutdown(void);
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
@@ -782,7 +876,7 @@ struct ddog_StringWrapperResult ddog_crasht_demangle(ddog_CharSlice name,
782
876
  * signal handler is dangerous, so we fork a sidecar to do the stuff we aren't
783
877
  * allowed to do in the handler.
784
878
  *
785
- * See comments in [crashtracker/lib.rs] for a full architecture description.
879
+ * See comments in [datadog-crashtracker/lib.rs] for a full architecture description.
786
880
  * # Safety
787
881
  * No safety concerns
788
882
  */
@@ -796,7 +890,7 @@ DDOG_CHECK_RETURN struct ddog_VoidResult ddog_crasht_receiver_entry_point_stdin(
796
890
  * signal handler is dangerous, so we fork a sidecar to do the stuff we aren't
797
891
  * allowed to do in the handler.
798
892
  *
799
- * See comments in [profiling/crashtracker/mod.rs] for a full architecture
893
+ * See comments in [datadog-crashtracker/lib.rs] for a full architecture
800
894
  * description.
801
895
  * # Safety
802
896
  * 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
  /**
@@ -79,6 +91,41 @@ 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
+
82
129
  /**
83
130
  * Create a new TraceExporter instance.
84
131
  *
@@ -109,12 +156,12 @@ void ddog_trace_exporter_free(struct ddog_TraceExporter *handle);
109
156
  * TraceExporter. The memory for the trace must be valid for the life of the call to this
110
157
  * function.
111
158
  * * `trace_count` - The number of traces to send to the Datadog Agent.
112
- * * `response` - Optional parameter that will ontain the agent response information.
159
+ * * `response_out` - Optional handle to store a pointer to the agent response information.
113
160
  */
114
161
  struct ddog_TraceExporterError *ddog_trace_exporter_send(const struct ddog_TraceExporter *handle,
115
162
  ddog_ByteSlice trace,
116
163
  uintptr_t trace_count,
117
- struct ddog_AgentResponse *response);
164
+ struct ddog_TraceExporterResponse **response_out);
118
165
 
119
166
  #ifdef __cplusplus
120
167
  } // 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