libdatadog 14.1.0.1.0-aarch64-linux → 14.3.1.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 (27) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +1 -1
  3. data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +636 -1
  4. data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +2 -2
  5. data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +8 -0
  6. data/vendor/{libdatadog-14.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/crashtracker.h +26 -0
  7. data/vendor/libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +209 -0
  8. data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
  9. data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE-3rdparty.yml +636 -1
  10. data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +2 -2
  11. data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/common.h +8 -0
  12. data/vendor/{libdatadog-14.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/crashtracker.h +26 -0
  13. data/vendor/libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +209 -0
  14. data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
  15. metadata +26 -24
  16. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
  17. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
  18. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
  19. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +0 -0
  20. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
  21. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
  22. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
  23. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
  24. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
  25. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h +0 -0
  26. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
  27. /data/vendor/{libdatadog-14.1.0 → libdatadog-14.3.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
@@ -1,10 +1,10 @@
1
1
  // BSD-3-Clause License
2
2
  // Synchronized from blazesym repository
3
- // https://github.com/libbpf/blazesym/blob/capi-v0.1.0-rc.1/capi/include/blazesym.h
3
+ // https://github.com/libbpf/blazesym/blob/capi-v0.1.0-rc.2/capi/include/blazesym.h
4
4
  /*
5
5
  * Please refer to the documentation hosted at
6
6
  *
7
- * https://docs.rs/blazesym-c/0.1.0-rc.1
7
+ * https://docs.rs/blazesym-c/0.1.0-rc.2
8
8
  */
9
9
 
10
10
 
@@ -861,6 +861,10 @@ typedef struct ddog_crasht_Config {
861
861
  * 2^31-1). This is a limitation of the various interfaces used to guarantee the timeout.
862
862
  */
863
863
  uint32_t timeout_ms;
864
+ /**
865
+ * Optional filename for a unix domain socket if the receiver is used asynchonously
866
+ */
867
+ ddog_CharSlice optional_unix_socket_filename;
864
868
  } ddog_crasht_Config;
865
869
 
866
870
  typedef struct ddog_crasht_EnvVar {
@@ -1009,6 +1013,10 @@ typedef struct ddog_crasht_Slice_StackFrame {
1009
1013
  uintptr_t len;
1010
1014
  } ddog_crasht_Slice_StackFrame;
1011
1015
 
1016
+ typedef struct ddog_crasht_ProcInfo {
1017
+ uint32_t pid;
1018
+ } ddog_crasht_ProcInfo;
1019
+
1012
1020
  /**
1013
1021
  * A wrapper for returning owned strings from FFI
1014
1022
  */
@@ -76,6 +76,22 @@ struct ddog_crasht_Result ddog_crasht_init(struct ddog_crasht_Config config,
76
76
  struct ddog_crasht_ReceiverConfig receiver_config,
77
77
  struct ddog_crasht_Metadata metadata);
78
78
 
79
+ /**
80
+ * Initialize the crash-tracking infrastructure without launching the receiver.
81
+ *
82
+ * # Preconditions
83
+ * Requires `config` to be given with a `unix_socket_path`, which is normally optional.
84
+ * # Safety
85
+ * Crash-tracking functions are not reentrant.
86
+ * No other crash-handler functions should be called concurrently.
87
+ * # Atomicity
88
+ * This function is not atomic. A crash during its execution may lead to
89
+ * unexpected crash-handling behaviour.
90
+ */
91
+ DDOG_CHECK_RETURN
92
+ struct ddog_crasht_Result ddog_crasht_init_without_receiver(struct ddog_crasht_Config config,
93
+ struct ddog_crasht_Metadata metadata);
94
+
79
95
  /**
80
96
  * Resets all counters to 0.
81
97
  * Expected to be used after a fork, to reset the counters on the child
@@ -359,6 +375,16 @@ struct ddog_crasht_Result ddog_crasht_CrashInfo_set_timestamp(struct ddog_crasht
359
375
  DDOG_CHECK_RETURN
360
376
  struct ddog_crasht_Result ddog_crasht_CrashInfo_set_timestamp_to_now(struct ddog_crasht_CrashInfo *crashinfo);
361
377
 
378
+ /**
379
+ * Sets crashinfo procinfo
380
+ *
381
+ * # Safety
382
+ * `crashinfo` must be a valid pointer to a `CrashInfo` object.
383
+ */
384
+ DDOG_CHECK_RETURN
385
+ struct ddog_crasht_Result ddog_crasht_CrashInfo_set_procinfo(struct ddog_crasht_CrashInfo *crashinfo,
386
+ struct ddog_crasht_ProcInfo procinfo);
387
+
362
388
  /**
363
389
  * Exports `crashinfo` to the backend at `endpoint`
364
390
  * Note that we support the "file://" endpoint for local file output.
@@ -0,0 +1,209 @@
1
+ // Copyright 2021-Present Datadog, Inc. https://www.datadoghq.com/
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+
5
+ #ifndef DDOG_DATA_PIPELINE_H
6
+ #define DDOG_DATA_PIPELINE_H
7
+
8
+ #include <stdarg.h>
9
+ #include <stdbool.h>
10
+ #include <stdint.h>
11
+ #include <stdlib.h>
12
+ #include "common.h"
13
+
14
+ /**
15
+ * Default value for the timeout field in milliseconds.
16
+ */
17
+ #define ddog_Endpoint_DEFAULT_TIMEOUT 3000
18
+
19
+ /**
20
+ * TraceExporterInputFormat represents the format of the input traces.
21
+ * The input format can be either Proxy or V0.4, where V0.4 is the default.
22
+ */
23
+ typedef enum ddog_TraceExporterInputFormat {
24
+ /**
25
+ * Proxy format is used when the traces are to be sent to the agent without processing them.
26
+ * The whole payload is sent as is to the agent.
27
+ */
28
+ DDOG_TRACE_EXPORTER_INPUT_FORMAT_PROXY,
29
+ DDOG_TRACE_EXPORTER_INPUT_FORMAT_V04,
30
+ } ddog_TraceExporterInputFormat;
31
+
32
+ /**
33
+ * TraceExporterOutputFormat represents the format of the output traces.
34
+ * The output format can be either V0.4 or v0.7, where V0.4 is the default.
35
+ */
36
+ typedef enum ddog_TraceExporterOutputFormat {
37
+ DDOG_TRACE_EXPORTER_OUTPUT_FORMAT_V04,
38
+ DDOG_TRACE_EXPORTER_OUTPUT_FORMAT_V07,
39
+ } ddog_TraceExporterOutputFormat;
40
+
41
+ /**
42
+ * The TraceExporter ingest traces from the tracers serialized as messagepack and forward them to
43
+ * the agent while applying some transformation.
44
+ *
45
+ * # Proxy
46
+ * If the input format is set as `Proxy`, the exporter will forward traces to the agent without
47
+ * deserializing them.
48
+ *
49
+ * # Features
50
+ * When the input format is set to `V04` the TraceExporter will deserialize the traces and perform
51
+ * some operation before sending them to the agent. The available operations are described below.
52
+ *
53
+ * ## V07 Serialization
54
+ * The Trace exporter can serialize the traces to V07 before sending them to the agent.
55
+ *
56
+ * ## Stats computation
57
+ * The Trace Exporter can compute stats on traces. In this case the trace exporter will start
58
+ * another task to send stats when a time bucket expire. When this feature is enabled the
59
+ * TraceExporter drops all spans that may not be sampled by the agent.
60
+ */
61
+ typedef struct ddog_TraceExporter ddog_TraceExporter;
62
+
63
+ /**
64
+ * Holds the raw parts of a Rust Vec; it should only be created from Rust,
65
+ * never from C.
66
+ */
67
+ typedef struct ddog_Vec_U8 {
68
+ const uint8_t *ptr;
69
+ uintptr_t len;
70
+ uintptr_t capacity;
71
+ } ddog_Vec_U8;
72
+
73
+ /**
74
+ * Please treat this as opaque; do not reach into it, and especially don't
75
+ * write into it! The most relevant APIs are:
76
+ * * `ddog_Error_message`, to get the message as a slice.
77
+ * * `ddog_Error_drop`.
78
+ */
79
+ typedef struct ddog_Error {
80
+ /**
81
+ * This is a String stuffed into the vec.
82
+ */
83
+ struct ddog_Vec_U8 message;
84
+ } ddog_Error;
85
+
86
+ typedef enum ddog_Option_Error_Tag {
87
+ DDOG_OPTION_ERROR_SOME_ERROR,
88
+ DDOG_OPTION_ERROR_NONE_ERROR,
89
+ } ddog_Option_Error_Tag;
90
+
91
+ typedef struct ddog_Option_Error {
92
+ ddog_Option_Error_Tag tag;
93
+ union {
94
+ struct {
95
+ struct ddog_Error some;
96
+ };
97
+ };
98
+ } ddog_Option_Error;
99
+
100
+ typedef struct ddog_Option_Error ddog_MaybeError;
101
+
102
+ typedef struct ddog_Slice_CChar {
103
+ /**
104
+ * Should be non-null and suitably aligned for the underlying type. It is
105
+ * allowed but not recommended for the pointer to be null when the len is
106
+ * zero.
107
+ */
108
+ const char *ptr;
109
+ /**
110
+ * The number of elements (not bytes) that `.ptr` points to. Must be less
111
+ * than or equal to [isize::MAX].
112
+ */
113
+ uintptr_t len;
114
+ } ddog_Slice_CChar;
115
+
116
+ /**
117
+ * Use to represent strings -- should be valid UTF-8.
118
+ */
119
+ typedef struct ddog_Slice_CChar ddog_CharSlice;
120
+
121
+ typedef struct ddog_Slice_U8 {
122
+ /**
123
+ * Should be non-null and suitably aligned for the underlying type. It is
124
+ * allowed but not recommended for the pointer to be null when the len is
125
+ * zero.
126
+ */
127
+ const uint8_t *ptr;
128
+ /**
129
+ * The number of elements (not bytes) that `.ptr` points to. Must be less
130
+ * than or equal to [isize::MAX].
131
+ */
132
+ uintptr_t len;
133
+ } ddog_Slice_U8;
134
+
135
+ /**
136
+ * Use to represent bytes -- does not need to be valid UTF-8.
137
+ */
138
+ typedef struct ddog_Slice_U8 ddog_ByteSlice;
139
+
140
+ #ifdef __cplusplus
141
+ extern "C" {
142
+ #endif // __cplusplus
143
+
144
+ /**
145
+ * Create a new TraceExporter instance.
146
+ *
147
+ * # Arguments
148
+ *
149
+ * * `out_handle` - The handle to write the TraceExporter instance in.
150
+ * * `url` - The URL of the Datadog Agent to communicate with.
151
+ * * `tracer_version` - The version of the client library.
152
+ * * `language` - The language of the client library.
153
+ * * `language_version` - The version of the language of the client library.
154
+ * * `language_interpreter` - The interpreter of the language of the client library.
155
+ * * `hostname` - The hostname of the application, used for stats aggregation
156
+ * * `env` - The environment of the application, used for stats aggregation
157
+ * * `version` - The version of the application, used for stats aggregation
158
+ * * `service` - The service name of the application, used for stats aggregation
159
+ * * `input_format` - The input format of the traces. Setting this to Proxy will send the trace
160
+ * data to the Datadog Agent as is.
161
+ * * `output_format` - The output format of the traces to send to the Datadog Agent. If using the
162
+ * Proxy input format, this should be set to format if the trace data that will be passed through
163
+ * as is.
164
+ * * `agent_response_callback` - The callback into the client library that the TraceExporter uses
165
+ * for updated Agent JSON responses.
166
+ */
167
+ ddog_MaybeError ddog_trace_exporter_new(struct ddog_TraceExporter **out_handle,
168
+ ddog_CharSlice url,
169
+ ddog_CharSlice tracer_version,
170
+ ddog_CharSlice language,
171
+ ddog_CharSlice language_version,
172
+ ddog_CharSlice language_interpreter,
173
+ ddog_CharSlice hostname,
174
+ ddog_CharSlice env,
175
+ ddog_CharSlice version,
176
+ ddog_CharSlice service,
177
+ enum ddog_TraceExporterInputFormat input_format,
178
+ enum ddog_TraceExporterOutputFormat output_format,
179
+ bool compute_stats,
180
+ void (*agent_response_callback)(const char*));
181
+
182
+ /**
183
+ * Free the TraceExporter instance.
184
+ *
185
+ * # Arguments
186
+ *
187
+ * * handle - The handle to the TraceExporter instance.
188
+ */
189
+ void ddog_trace_exporter_free(struct ddog_TraceExporter *handle);
190
+
191
+ /**
192
+ * Send traces to the Datadog Agent.
193
+ *
194
+ * # Arguments
195
+ *
196
+ * * `handle` - The handle to the TraceExporter instance.
197
+ * * `trace` - The traces to send to the Datadog Agent in the input format used to create the
198
+ * TraceExporter.
199
+ * * `trace_count` - The number of traces to send to the Datadog Agent.
200
+ */
201
+ ddog_MaybeError ddog_trace_exporter_send(const struct ddog_TraceExporter *handle,
202
+ ddog_ByteSlice trace,
203
+ uintptr_t trace_count);
204
+
205
+ #ifdef __cplusplus
206
+ } // extern "C"
207
+ #endif // __cplusplus
208
+
209
+ #endif /* DDOG_DATA_PIPELINE_H */