libdatadog 6.0.0.2.0-aarch64-linux → 7.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.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +2 -2
  3. data/lib/libdatadog.rb +8 -0
  4. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +15459 -6284
  5. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  6. data/vendor/libdatadog-7.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +895 -0
  7. data/vendor/{libdatadog-6.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-7.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +135 -20
  8. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +54 -38
  9. data/vendor/libdatadog-7.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +290 -0
  10. data/vendor/libdatadog-7.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  11. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +2 -4
  12. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +15459 -6284
  13. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  14. data/vendor/libdatadog-7.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +895 -0
  15. data/vendor/{libdatadog-6.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-7.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +135 -20
  16. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h +54 -38
  17. data/vendor/libdatadog-7.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +290 -0
  18. data/vendor/libdatadog-7.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  19. data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +2 -4
  20. metadata +22 -18
  21. data/vendor/libdatadog-6.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  22. data/vendor/libdatadog-6.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  23. /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  24. /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  25. /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  26. /data/vendor/{libdatadog-6.0.0 → libdatadog-7.0.0}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
@@ -1,5 +1,6 @@
1
- // Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
2
- // This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2021-Present Datadog, Inc.
1
+ // Copyright 2021-Present Datadog, Inc. https://www.datadoghq.com/
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
3
4
 
4
5
  #ifndef DDOG_COMMON_H
5
6
  #define DDOG_COMMON_H
@@ -10,13 +11,11 @@
10
11
  #include <stddef.h>
11
12
  #include <stdint.h>
12
13
 
13
- #if defined(_MSC_VER)
14
- #define DDOG_CHARSLICE_C(string) \
15
- /* NOTE: Compilation fails if you pass in a char* instead of a literal */ {.ptr = "" string, .len = sizeof(string) - 1}
16
- #else
17
14
  #define DDOG_CHARSLICE_C(string) \
18
15
  /* NOTE: Compilation fails if you pass in a char* instead of a literal */ ((ddog_CharSlice){ .ptr = "" string, .len = sizeof(string) - 1 })
19
- #endif
16
+
17
+ #define DDOG_CHARSLICE_C_BARE(string) \
18
+ /* NOTE: Compilation fails if you pass in a char* instead of a literal */ { .ptr = "" string, .len = sizeof(string) - 1 }
20
19
 
21
20
  #if defined __GNUC__
22
21
  # define DDOG_GNUC_VERSION(major) __GNUC__ >= major
@@ -116,10 +115,10 @@ typedef struct ddog_Vec_Tag_ParseResult {
116
115
  typedef enum ddog_prof_CrashtrackerResolveFrames {
117
116
  DDOG_PROF_CRASHTRACKER_RESOLVE_FRAMES_NEVER,
118
117
  /**
119
- * Resolving frames is experimental, and can fail/crash
118
+ * Resolving frames in process is experimental, and can fail/crash
120
119
  */
121
120
  DDOG_PROF_CRASHTRACKER_RESOLVE_FRAMES_EXPERIMENTAL_IN_PROCESS,
122
- DDOG_PROF_CRASHTRACKER_RESOLVE_FRAMES_EXPERIMENTAL_IN_RECEIVER,
121
+ DDOG_PROF_CRASHTRACKER_RESOLVE_FRAMES_IN_RECEIVER,
123
122
  } ddog_prof_CrashtrackerResolveFrames;
124
123
 
125
124
  /**
@@ -177,32 +176,36 @@ typedef struct ddog_prof_Profile_Result {
177
176
  };
178
177
  } ddog_prof_Profile_Result;
179
178
 
180
- typedef enum ddog_Endpoint_Tag {
181
- DDOG_ENDPOINT_AGENT,
182
- DDOG_ENDPOINT_AGENTLESS,
183
- } ddog_Endpoint_Tag;
179
+ typedef enum ddog_prof_Endpoint_Tag {
180
+ DDOG_PROF_ENDPOINT_AGENT,
181
+ DDOG_PROF_ENDPOINT_AGENTLESS,
182
+ } ddog_prof_Endpoint_Tag;
184
183
 
185
- typedef struct ddog_Endpoint_ddog_prof_Agentless_Body {
184
+ typedef struct ddog_prof_Endpoint_ddog_prof_Agentless_Body {
186
185
  ddog_CharSlice _0;
187
186
  ddog_CharSlice _1;
188
- } ddog_Endpoint_ddog_prof_Agentless_Body;
187
+ } ddog_prof_Endpoint_ddog_prof_Agentless_Body;
189
188
 
190
- typedef struct ddog_Endpoint {
191
- ddog_Endpoint_Tag tag;
189
+ typedef struct ddog_prof_Endpoint {
190
+ ddog_prof_Endpoint_Tag tag;
192
191
  union {
193
192
  struct {
194
193
  ddog_CharSlice agent;
195
194
  };
196
- ddog_Endpoint_ddog_prof_Agentless_Body AGENTLESS;
195
+ ddog_prof_Endpoint_ddog_prof_Agentless_Body AGENTLESS;
197
196
  };
198
- } ddog_Endpoint;
197
+ } ddog_prof_Endpoint;
199
198
 
200
199
  typedef struct ddog_prof_CrashtrackerConfiguration {
200
+ /**
201
+ * Should the crashtracker attempt to collect a stacktrace for the crash
202
+ */
203
+ bool collect_stacktrace;
201
204
  bool create_alt_stack;
202
205
  /**
203
206
  * The endpoint to send the crash repor to (can be a file://)
204
207
  */
205
- struct ddog_Endpoint endpoint;
208
+ struct ddog_prof_Endpoint endpoint;
206
209
  /**
207
210
  * Optional filename to forward stderr to (useful for logging/debugging)
208
211
  */
@@ -551,6 +554,114 @@ typedef struct ddog_prof_Profile_SerializeResult {
551
554
  };
552
555
  } ddog_prof_Profile_SerializeResult;
553
556
 
557
+ typedef enum ddog_ConfigurationOrigin {
558
+ DDOG_CONFIGURATION_ORIGIN_ENV_VAR,
559
+ DDOG_CONFIGURATION_ORIGIN_CODE,
560
+ DDOG_CONFIGURATION_ORIGIN_DD_CONFIG,
561
+ DDOG_CONFIGURATION_ORIGIN_REMOTE_CONFIG,
562
+ DDOG_CONFIGURATION_ORIGIN_DEFAULT,
563
+ } ddog_ConfigurationOrigin;
564
+
565
+ typedef enum ddog_LogLevel {
566
+ DDOG_LOG_LEVEL_ERROR,
567
+ DDOG_LOG_LEVEL_WARN,
568
+ DDOG_LOG_LEVEL_DEBUG,
569
+ } ddog_LogLevel;
570
+
571
+ typedef enum ddog_MetricNamespace {
572
+ DDOG_METRIC_NAMESPACE_TRACERS,
573
+ DDOG_METRIC_NAMESPACE_PROFILERS,
574
+ DDOG_METRIC_NAMESPACE_RUM,
575
+ DDOG_METRIC_NAMESPACE_APPSEC,
576
+ DDOG_METRIC_NAMESPACE_IDE_PLUGINS,
577
+ DDOG_METRIC_NAMESPACE_LIVE_DEBUGGER,
578
+ DDOG_METRIC_NAMESPACE_IAST,
579
+ DDOG_METRIC_NAMESPACE_GENERAL,
580
+ DDOG_METRIC_NAMESPACE_TELEMETRY,
581
+ DDOG_METRIC_NAMESPACE_APM,
582
+ DDOG_METRIC_NAMESPACE_SIDECAR,
583
+ } ddog_MetricNamespace;
584
+
585
+ typedef enum ddog_MetricType {
586
+ DDOG_METRIC_TYPE_GAUGE,
587
+ DDOG_METRIC_TYPE_COUNT,
588
+ DDOG_METRIC_TYPE_DISTRIBUTION,
589
+ } ddog_MetricType;
590
+
591
+ typedef enum ddog_TelemetryWorkerBuilderBoolProperty {
592
+ DDOG_TELEMETRY_WORKER_BUILDER_BOOL_PROPERTY_CONFIG_TELEMETRY_DEBUG_LOGGING_ENABLED,
593
+ } ddog_TelemetryWorkerBuilderBoolProperty;
594
+
595
+ typedef enum ddog_TelemetryWorkerBuilderEndpointProperty {
596
+ DDOG_TELEMETRY_WORKER_BUILDER_ENDPOINT_PROPERTY_CONFIG_ENDPOINT,
597
+ } ddog_TelemetryWorkerBuilderEndpointProperty;
598
+
599
+ typedef enum ddog_TelemetryWorkerBuilderStrProperty {
600
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_SERVICE_VERSION,
601
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_ENV,
602
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_NAME,
603
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_VERSION,
604
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_APPLICATION_RUNTIME_PATCHES,
605
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_CONTAINER_ID,
606
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_OS,
607
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_NAME,
608
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_RELEASE,
609
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_HOST_KERNEL_VERSION,
610
+ DDOG_TELEMETRY_WORKER_BUILDER_STR_PROPERTY_RUNTIME_ID,
611
+ } ddog_TelemetryWorkerBuilderStrProperty;
612
+
613
+ typedef struct ddog_TelemetryWorkerBuilder ddog_TelemetryWorkerBuilder;
614
+
615
+ /**
616
+ * TelemetryWorkerHandle is a handle which allows interactions with the telemetry worker.
617
+ * The handle is safe to use across threads.
618
+ *
619
+ * The worker won't send data to the agent until you call `TelemetryWorkerHandle::send_start`
620
+ *
621
+ * To stop the worker, call `TelemetryWorkerHandle::send_stop` which trigger flush aynchronously
622
+ * then `TelemetryWorkerHandle::wait_for_shutdown`
623
+ */
624
+ typedef struct ddog_TelemetryWorkerHandle ddog_TelemetryWorkerHandle;
625
+
626
+ typedef enum ddog_Option_VecU8_Tag {
627
+ DDOG_OPTION_VEC_U8_SOME_VEC_U8,
628
+ DDOG_OPTION_VEC_U8_NONE_VEC_U8,
629
+ } ddog_Option_VecU8_Tag;
630
+
631
+ typedef struct ddog_Option_VecU8 {
632
+ ddog_Option_VecU8_Tag tag;
633
+ union {
634
+ struct {
635
+ struct ddog_Vec_U8 some;
636
+ };
637
+ };
638
+ } ddog_Option_VecU8;
639
+
640
+ typedef struct ddog_Option_VecU8 ddog_MaybeError;
641
+
642
+ typedef enum ddog_Option_Bool_Tag {
643
+ DDOG_OPTION_BOOL_SOME_BOOL,
644
+ DDOG_OPTION_BOOL_NONE_BOOL,
645
+ } ddog_Option_Bool_Tag;
646
+
647
+ typedef struct ddog_Option_Bool {
648
+ ddog_Option_Bool_Tag tag;
649
+ union {
650
+ struct {
651
+ bool some;
652
+ };
653
+ };
654
+ } ddog_Option_Bool;
655
+
656
+ typedef struct ddog_ContextKey {
657
+ uint32_t _0;
658
+ enum ddog_MetricType _1;
659
+ } ddog_ContextKey;
660
+
661
+ #ifdef __cplusplus
662
+ extern "C" {
663
+ #endif // __cplusplus
664
+
554
665
  /**
555
666
  * # Safety
556
667
  * Only pass null or a valid reference to a `ddog_Error`.
@@ -602,4 +713,8 @@ struct ddog_Vec_Tag_PushResult ddog_Vec_Tag_push(struct ddog_Vec_Tag *vec,
602
713
  */
603
714
  DDOG_CHECK_RETURN struct ddog_Vec_Tag_ParseResult ddog_Vec_Tag_parse(ddog_CharSlice string);
604
715
 
716
+ #ifdef __cplusplus
717
+ } // extern "C"
718
+ #endif // __cplusplus
719
+
605
720
  #endif /* DDOG_COMMON_H */
@@ -1,5 +1,6 @@
1
- // Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
2
- // This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2021-Present Datadog, Inc.
1
+ // Copyright 2021-Present Datadog, Inc. https://www.datadoghq.com/
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
3
4
 
4
5
  #ifndef DDOG_PROFILING_H
5
6
  #define DDOG_PROFILING_H
@@ -11,22 +12,26 @@
11
12
  #include <stdint.h>
12
13
  #include "common.h"
13
14
 
15
+ #ifdef __cplusplus
16
+ extern "C" {
17
+ #endif // __cplusplus
18
+
14
19
  DDOG_CHECK_RETURN
15
- struct ddog_prof_Profile_Result ddog_prof_crashtracker_begin_profiling_op(enum ddog_prof_ProfilingOpTypes op);
20
+ struct ddog_prof_Profile_Result ddog_prof_Crashtracker_begin_profiling_op(enum ddog_prof_ProfilingOpTypes op);
16
21
 
17
22
  DDOG_CHECK_RETURN
18
- struct ddog_prof_Profile_Result ddog_prof_crashtracker_end_profiling_op(enum ddog_prof_ProfilingOpTypes op);
23
+ struct ddog_prof_Profile_Result ddog_prof_Crashtracker_end_profiling_op(enum ddog_prof_ProfilingOpTypes op);
19
24
 
20
- DDOG_CHECK_RETURN struct ddog_prof_Profile_Result ddog_prof_crashtracker_shutdown(void);
25
+ DDOG_CHECK_RETURN struct ddog_prof_Profile_Result ddog_prof_Crashtracker_shutdown(void);
21
26
 
22
27
  DDOG_CHECK_RETURN
23
- struct ddog_prof_Profile_Result ddog_prof_crashtracker_update_on_fork(struct ddog_prof_CrashtrackerConfiguration config,
28
+ struct ddog_prof_Profile_Result ddog_prof_Crashtracker_update_on_fork(struct ddog_prof_CrashtrackerConfiguration config,
24
29
  struct ddog_prof_CrashtrackerMetadata metadata);
25
30
 
26
- DDOG_CHECK_RETURN struct ddog_prof_Profile_Result ddog_prof_crashtracker_receiver_entry_point(void);
31
+ DDOG_CHECK_RETURN struct ddog_prof_Profile_Result ddog_prof_Crashtracker_receiver_entry_point(void);
27
32
 
28
33
  DDOG_CHECK_RETURN
29
- struct ddog_prof_Profile_Result ddog_prof_crashtracker_init(struct ddog_prof_CrashtrackerConfiguration config,
34
+ struct ddog_prof_Profile_Result ddog_prof_Crashtracker_init(struct ddog_prof_CrashtrackerConfiguration config,
30
35
  struct ddog_prof_CrashtrackerMetadata metadata);
31
36
 
32
37
  DDOG_CHECK_RETURN struct ddog_prof_Exporter_Slice_File ddog_prof_Exporter_Slice_File_empty(void);
@@ -36,7 +41,7 @@ DDOG_CHECK_RETURN struct ddog_prof_Exporter_Slice_File ddog_prof_Exporter_Slice_
36
41
  * # Arguments
37
42
  * * `base_url` - Contains a URL with scheme, host, and port e.g. "https://agent:8126/".
38
43
  */
39
- struct ddog_Endpoint ddog_Endpoint_agent(ddog_CharSlice base_url);
44
+ struct ddog_prof_Endpoint ddog_prof_Endpoint_agent(ddog_CharSlice base_url);
40
45
 
41
46
  /**
42
47
  * Creates an endpoint that uses the Datadog intake directly aka agentless.
@@ -44,18 +49,21 @@ struct ddog_Endpoint ddog_Endpoint_agent(ddog_CharSlice base_url);
44
49
  * * `site` - Contains a host and port e.g. "datadoghq.com".
45
50
  * * `api_key` - Contains the Datadog API key.
46
51
  */
47
- struct ddog_Endpoint ddog_Endpoint_agentless(ddog_CharSlice site, ddog_CharSlice api_key);
52
+ struct ddog_prof_Endpoint ddog_prof_Endpoint_agentless(ddog_CharSlice site, ddog_CharSlice api_key);
48
53
 
49
54
  /**
50
55
  * Creates a new exporter to be used to report profiling data.
51
56
  * # Arguments
52
- * * `profiling_library_name` - Profiling library name, usually dd-trace-something, e.g. "dd-trace-rb". See
53
- * https://datadoghq.atlassian.net/wiki/spaces/PROF/pages/1538884229/Client#Header-values (Datadog internal link)
57
+ * * `profiling_library_name` - Profiling library name, usually dd-trace-something, e.g.
58
+ * "dd-trace-rb". See
59
+ * https://datadoghq.atlassian.net/wiki/spaces/PROF/pages/1538884229/Client#Header-values
60
+ * (Datadog internal link)
54
61
  * for a list of common values.
55
- * * `profliling_library_version` - Version used when publishing the profiling library to a package manager
62
+ * * `profliling_library_version` - Version used when publishing the profiling library to a package
63
+ * manager
56
64
  * * `family` - Profile family, e.g. "ruby"
57
- * * `tags` - Tags to include with every profile reported by this exporter. It's also possible to include
58
- * profile-specific tags, see `additional_tags` on `profile_exporter_build`.
65
+ * * `tags` - Tags to include with every profile reported by this exporter. It's also possible to
66
+ * include profile-specific tags, see `additional_tags` on `profile_exporter_build`.
59
67
  * * `endpoint` - Configuration for reporting data
60
68
  * # Safety
61
69
  * All pointers must refer to valid objects of the correct types.
@@ -65,7 +73,7 @@ struct ddog_prof_Exporter_NewResult ddog_prof_Exporter_new(ddog_CharSlice profil
65
73
  ddog_CharSlice profiling_library_version,
66
74
  ddog_CharSlice family,
67
75
  const struct ddog_Vec_Tag *tags,
68
- struct ddog_Endpoint endpoint);
76
+ struct ddog_prof_Endpoint endpoint);
69
77
 
70
78
  /**
71
79
  * # Safety
@@ -81,8 +89,8 @@ void ddog_prof_Exporter_drop(struct ddog_prof_Exporter *exporter);
81
89
  *
82
90
  * For details on the `optional_internal_metadata_json`, please reference the Datadog-internal
83
91
  * "RFC: Attaching internal metadata to pprof profiles".
84
- * If you use this parameter, please update the RFC with your use-case, so we can keep track of how this
85
- * is getting used.
92
+ * If you use this parameter, please update the RFC with your use-case, so we can keep track of how
93
+ * this is getting used.
86
94
  *
87
95
  * For details on the `optional_info_json`, please reference the Datadog-internal
88
96
  * "RFC: Pprof System Info Support".
@@ -118,9 +126,8 @@ void ddog_prof_Exporter_Request_drop(struct ddog_prof_Exporter_Request **request
118
126
  *
119
127
  * # Arguments
120
128
  * * `exporter` - Borrows the exporter for sending the request.
121
- * * `request` - Takes ownership of the request, replacing it with a null
122
- * pointer. This is why it takes a double-pointer, rather than
123
- * a single one.
129
+ * * `request` - Takes ownership of the request, replacing it with a null pointer. This is why it
130
+ * takes a double-pointer, rather than a single one.
124
131
  * * `cancel` - Borrows the cancel, if any.
125
132
  *
126
133
  * # Safety
@@ -132,10 +139,10 @@ struct ddog_prof_Exporter_SendResult ddog_prof_Exporter_send(struct ddog_prof_Ex
132
139
  const struct ddog_CancellationToken *cancel);
133
140
 
134
141
  /**
135
- * Can be passed as an argument to send and then be used to asynchronously cancel it from a different thread.
142
+ * Can be passed as an argument to send and then be used to asynchronously cancel it from a
143
+ * different thread.
136
144
  */
137
- DDOG_CHECK_RETURN
138
- struct ddog_CancellationToken *ddog_CancellationToken_new(void);
145
+ DDOG_CHECK_RETURN struct ddog_CancellationToken *ddog_CancellationToken_new(void);
139
146
 
140
147
  /**
141
148
  * A cloned CancellationToken is connected to the CancellationToken it was created from.
@@ -156,9 +163,9 @@ struct ddog_CancellationToken *ddog_CancellationToken_new(void);
156
163
  * ddog_CancellationToken_drop(cancel_t2);
157
164
  * ```
158
165
  *
159
- * Without clone, both t1 and t2 would need to synchronize to make sure neither was using the cancel
160
- * before it could be dropped. With clone, there is no need for such synchronization, both threads
161
- * have their own cancel and should drop that cancel after they are done with it.
166
+ * Without clone, both t1 and t2 would need to synchronize to make sure neither was using the
167
+ * cancel before it could be dropped. With clone, there is no need for such synchronization, both
168
+ * threads have their own cancel and should drop that cancel after they are done with it.
162
169
  *
163
170
  * # Safety
164
171
  * If the `token` is non-null, it must point to a valid object.
@@ -188,7 +195,7 @@ void ddog_CancellationToken_drop(struct ddog_CancellationToken *token);
188
195
  * * `sample_types`
189
196
  * * `period` - Optional period of the profile. Passing None/null translates to zero values.
190
197
  * * `start_time` - Optional time the profile started at. Passing None/null will use the current
191
- * time.
198
+ * time.
192
199
  *
193
200
  * # Safety
194
201
  * All slices must be have pointers that are suitably aligned for their type
@@ -274,9 +281,12 @@ struct ddog_prof_Profile_Result ddog_prof_Profile_add_endpoint_count(struct ddog
274
281
  * * `offset_values` - offset of the values
275
282
  * * `label_name` - name of the label used to identify sample(s)
276
283
  * * `label_value` - value of the label used to identify sample(s)
277
- * * `sum_value_offset` - offset of the value used as a sum (compute the average with `count_value_offset`)
278
- * * `count_value_offset` - offset of the value used as a count (compute the average with `sum_value_offset`)
279
- * * `sampling_distance` - this is the threshold for this sampling window. This value must not be equal to 0
284
+ * * `sum_value_offset` - offset of the value used as a sum (compute the average with
285
+ * `count_value_offset`)
286
+ * * `count_value_offset` - offset of the value used as a count (compute the average with
287
+ * `sum_value_offset`)
288
+ * * `sampling_distance` - this is the threshold for this sampling window. This value must not be
289
+ * equal to 0
280
290
  *
281
291
  * # Safety
282
292
  * This function must be called before serialize and must not be called after.
@@ -302,8 +312,10 @@ struct ddog_prof_Profile_Result ddog_prof_Profile_add_upscaling_rule_poisson(str
302
312
  * * `offset_values` - offset of the values
303
313
  * * `label_name` - name of the label used to identify sample(s)
304
314
  * * `label_value` - value of the label used to identify sample(s)
305
- * * `total_sampled` - number of sampled event (found in the pprof). This value must not be equal to 0
306
- * * `total_real` - number of events the profiler actually witnessed. This value must not be equal to 0
315
+ * * `total_sampled` - number of sampled event (found in the pprof). This value must not be equal
316
+ * to 0
317
+ * * `total_real` - number of events the profiler actually witnessed. This value must not be equal
318
+ * to 0
307
319
  *
308
320
  * # Safety
309
321
  * This function must be called before serialize and must not be called after.
@@ -337,12 +349,12 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
337
349
  * # Arguments
338
350
  * * `profile` - a reference to the profile being serialized.
339
351
  * * `end_time` - optional end time of the profile. If None/null is passed, the current time will
340
- * be used.
352
+ * be used.
341
353
  * * `duration_nanos` - Optional duration of the profile. Passing None or a negative duration will
342
- * mean the duration will based on the end time minus the start time, but
343
- * under anomalous conditions this may fail as system clocks can be adjusted,
344
- * or the programmer accidentally passed an earlier time. The duration of
345
- * the serialized profile will be set to zero for these cases.
354
+ * mean the duration will based on the end time minus the start time, but under anomalous
355
+ * conditions this may fail as system clocks can be adjusted, or the programmer accidentally
356
+ * passed an earlier time. The duration of the serialized profile will be set to zero for these
357
+ * cases.
346
358
  * * `start_time` - Optional start time for the next profile.
347
359
  *
348
360
  * # Safety
@@ -376,4 +388,8 @@ DDOG_CHECK_RETURN
376
388
  struct ddog_prof_Profile_Result ddog_prof_Profile_reset(struct ddog_prof_Profile *profile,
377
389
  const struct ddog_Timespec *start_time);
378
390
 
391
+ #ifdef __cplusplus
392
+ } // extern "C"
393
+ #endif // __cplusplus
394
+
379
395
  #endif /* DDOG_PROFILING_H */