libdatadog 14.3.1.1.0 → 16.0.1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/libdatadog/version.rb +1 -1
- data/vendor/{libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/LICENSE-3rdparty.yml +453 -21
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/common.h +403 -84
- data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h +811 -0
- data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +123 -0
- data/vendor/libdatadog-16.0.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/library-config.h +61 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/profiling.h +73 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/LICENSE-3rdparty.yml +453 -21
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-14.3.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/common.h +403 -84
- data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h +811 -0
- data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +123 -0
- data/vendor/libdatadog-16.0.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/library-config.h +61 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/profiling.h +73 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-14.3.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/LICENSE-3rdparty.yml +453 -21
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +403 -84
- data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +811 -0
- data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +123 -0
- data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/library-config.h +61 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h +73 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
- data/vendor/{libdatadog-14.3.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/LICENSE-3rdparty.yml +453 -21
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
- data/vendor/{libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/common.h +403 -84
- data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/crashtracker.h +811 -0
- data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +123 -0
- data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/library-config.h +61 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h +73 -0
- data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
- metadata +54 -50
- data/vendor/libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -444
- data/vendor/libdatadog-14.3.1/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -209
- data/vendor/libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/crashtracker.h +0 -444
- data/vendor/libdatadog-14.3.1/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -209
- data/vendor/libdatadog-14.3.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -444
- data/vendor/libdatadog-14.3.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -209
- data/vendor/libdatadog-14.3.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/crashtracker.h +0 -444
- data/vendor/libdatadog-14.3.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -209
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
- /data/vendor/{libdatadog-14.3.1 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
@@ -0,0 +1,123 @@
|
|
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
|
+
#ifdef __cplusplus
|
15
|
+
extern "C" {
|
16
|
+
#endif // __cplusplus
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Frees `error` and all its contents. After being called error will not point to a valid memory
|
20
|
+
* address so any further actions on it could lead to undefined behavior.
|
21
|
+
*/
|
22
|
+
void ddog_trace_exporter_error_free(struct ddog_TraceExporterError *error);
|
23
|
+
|
24
|
+
void ddog_trace_exporter_config_new(struct ddog_TraceExporterConfig **out_handle);
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Frees TraceExporterConfig handle internal resources.
|
28
|
+
*/
|
29
|
+
void ddog_trace_exporter_config_free(struct ddog_TraceExporterConfig *handle);
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Sets traces destination.
|
33
|
+
*/
|
34
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_url(struct ddog_TraceExporterConfig *config,
|
35
|
+
ddog_CharSlice url);
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Sets tracer's version to be included in the headers request.
|
39
|
+
*/
|
40
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_tracer_version(struct ddog_TraceExporterConfig *config,
|
41
|
+
ddog_CharSlice version);
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Sets tracer's language to be included in the headers request.
|
45
|
+
*/
|
46
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_language(struct ddog_TraceExporterConfig *config,
|
47
|
+
ddog_CharSlice lang);
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Sets tracer's language version to be included in the headers request.
|
51
|
+
*/
|
52
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_lang_version(struct ddog_TraceExporterConfig *config,
|
53
|
+
ddog_CharSlice version);
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Sets tracer's language interpreter to be included in the headers request.
|
57
|
+
*/
|
58
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_lang_interpreter(struct ddog_TraceExporterConfig *config,
|
59
|
+
ddog_CharSlice interpreter);
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Sets hostname information to be included in the headers request.
|
63
|
+
*/
|
64
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_hostname(struct ddog_TraceExporterConfig *config,
|
65
|
+
ddog_CharSlice hostname);
|
66
|
+
|
67
|
+
/**
|
68
|
+
* Sets environmet information to be included in the headers request.
|
69
|
+
*/
|
70
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_env(struct ddog_TraceExporterConfig *config,
|
71
|
+
ddog_CharSlice env);
|
72
|
+
|
73
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_version(struct ddog_TraceExporterConfig *config,
|
74
|
+
ddog_CharSlice version);
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Sets service name to be included in the headers request.
|
78
|
+
*/
|
79
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_config_set_service(struct ddog_TraceExporterConfig *config,
|
80
|
+
ddog_CharSlice service);
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Create a new TraceExporter instance.
|
84
|
+
*
|
85
|
+
* # Arguments
|
86
|
+
*
|
87
|
+
* * `out_handle` - The handle to write the TraceExporter instance in.
|
88
|
+
* * `config` - The configuration used to set up the TraceExporter handle.
|
89
|
+
*/
|
90
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_new(struct ddog_TraceExporter **out_handle,
|
91
|
+
const struct ddog_TraceExporterConfig *config);
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Free the TraceExporter instance.
|
95
|
+
*
|
96
|
+
* # Arguments
|
97
|
+
*
|
98
|
+
* * handle - The handle to the TraceExporter instance.
|
99
|
+
*/
|
100
|
+
void ddog_trace_exporter_free(struct ddog_TraceExporter *handle);
|
101
|
+
|
102
|
+
/**
|
103
|
+
* Send traces to the Datadog Agent.
|
104
|
+
*
|
105
|
+
* # Arguments
|
106
|
+
*
|
107
|
+
* * `handle` - The handle to the TraceExporter instance.
|
108
|
+
* * `trace` - The traces to send to the Datadog Agent in the input format used to create the
|
109
|
+
* TraceExporter. The memory for the trace must be valid for the life of the call to this
|
110
|
+
* function.
|
111
|
+
* * `trace_count` - The number of traces to send to the Datadog Agent.
|
112
|
+
* * `response` - Optional parameter that will ontain the agent response information.
|
113
|
+
*/
|
114
|
+
struct ddog_TraceExporterError *ddog_trace_exporter_send(const struct ddog_TraceExporter *handle,
|
115
|
+
ddog_ByteSlice trace,
|
116
|
+
uintptr_t trace_count,
|
117
|
+
struct ddog_AgentResponse *response);
|
118
|
+
|
119
|
+
#ifdef __cplusplus
|
120
|
+
} // extern "C"
|
121
|
+
#endif // __cplusplus
|
122
|
+
|
123
|
+
#endif /* DDOG_DATA_PIPELINE_H */
|
@@ -0,0 +1,61 @@
|
|
1
|
+
// Copyright 2021-Present Datadog, Inc. https://www.datadoghq.com/
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
3
|
+
|
4
|
+
|
5
|
+
#ifndef DDOG_LIBRARY_CONFIG_H
|
6
|
+
#define DDOG_LIBRARY_CONFIG_H
|
7
|
+
|
8
|
+
#pragma once
|
9
|
+
|
10
|
+
#include "common.h"
|
11
|
+
|
12
|
+
#ifdef __cplusplus
|
13
|
+
extern "C" {
|
14
|
+
#endif // __cplusplus
|
15
|
+
|
16
|
+
struct ddog_Configurator *ddog_library_configurator_new(bool debug_logs, ddog_CharSlice language);
|
17
|
+
|
18
|
+
void ddog_library_configurator_with_local_path(struct ddog_Configurator *c,
|
19
|
+
struct ddog_CStr local_path);
|
20
|
+
|
21
|
+
void ddog_library_configurator_with_fleet_path(struct ddog_Configurator *c,
|
22
|
+
struct ddog_CStr local_path);
|
23
|
+
|
24
|
+
void ddog_library_configurator_with_process_info(struct ddog_Configurator *c,
|
25
|
+
struct ddog_ProcessInfo p);
|
26
|
+
|
27
|
+
void ddog_library_configurator_drop(struct ddog_Configurator*);
|
28
|
+
|
29
|
+
struct ddog_Result_VecLibraryConfig ddog_library_configurator_get(const struct ddog_Configurator *configurator);
|
30
|
+
|
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
|
+
/**
|
38
|
+
* Returns a static null-terminated string, containing the name of the environment variable
|
39
|
+
* associated with the library configuration
|
40
|
+
*/
|
41
|
+
struct ddog_CStr ddog_library_config_source_to_string(enum ddog_LibraryConfigSource name);
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Returns a static null-terminated string with the path to the managed stable config yaml config
|
45
|
+
* file
|
46
|
+
*/
|
47
|
+
struct ddog_CStr ddog_library_config_fleet_stable_config_path(void);
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Returns a static null-terminated string with the path to the local stable config yaml config
|
51
|
+
* file
|
52
|
+
*/
|
53
|
+
struct ddog_CStr ddog_library_config_local_stable_config_path(void);
|
54
|
+
|
55
|
+
void ddog_library_config_drop(struct ddog_Vec_LibraryConfig);
|
56
|
+
|
57
|
+
#ifdef __cplusplus
|
58
|
+
} // extern "C"
|
59
|
+
#endif // __cplusplus
|
60
|
+
|
61
|
+
#endif /* DDOG_LIBRARY_CONFIG_H */
|
@@ -205,6 +205,16 @@ struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_
|
|
205
205
|
const struct ddog_prof_Period *period,
|
206
206
|
const struct ddog_Timespec *start_time);
|
207
207
|
|
208
|
+
/**
|
209
|
+
* Same as `ddog_profile_new` but also configures a `string_storage` for the profile.
|
210
|
+
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
211
|
+
*/
|
212
|
+
DDOG_CHECK_RETURN
|
213
|
+
struct ddog_prof_Profile_NewResult ddog_prof_Profile_with_string_storage(struct ddog_prof_Slice_ValueType sample_types,
|
214
|
+
const struct ddog_prof_Period *period,
|
215
|
+
const struct ddog_Timespec *start_time,
|
216
|
+
struct ddog_prof_ManagedStringStorage string_storage);
|
217
|
+
|
208
218
|
/**
|
209
219
|
* # Safety
|
210
220
|
* The `profile` can be null, but if non-null it must point to a Profile
|
@@ -387,6 +397,69 @@ DDOG_CHECK_RETURN
|
|
387
397
|
struct ddog_prof_Profile_Result ddog_prof_Profile_reset(struct ddog_prof_Profile *profile,
|
388
398
|
const struct ddog_Timespec *start_time);
|
389
399
|
|
400
|
+
DDOG_CHECK_RETURN
|
401
|
+
struct ddog_prof_ManagedStringStorageNewResult ddog_prof_ManagedStringStorage_new(void);
|
402
|
+
|
403
|
+
/**
|
404
|
+
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
405
|
+
*/
|
406
|
+
void ddog_prof_ManagedStringStorage_drop(struct ddog_prof_ManagedStringStorage storage);
|
407
|
+
|
408
|
+
/**
|
409
|
+
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
410
|
+
*/
|
411
|
+
DDOG_CHECK_RETURN
|
412
|
+
struct ddog_prof_ManagedStringStorageInternResult ddog_prof_ManagedStringStorage_intern(struct ddog_prof_ManagedStringStorage storage,
|
413
|
+
ddog_CharSlice string);
|
414
|
+
|
415
|
+
/**
|
416
|
+
* Interns all the strings in `strings`, writing the resulting id to the same
|
417
|
+
* offset in `output_ids`.
|
418
|
+
*
|
419
|
+
* This can fail if:
|
420
|
+
* 1. The given `output_ids_size` doesn't match the size of the input slice.
|
421
|
+
* 2. The internal storage pointer is null.
|
422
|
+
* 3. It fails to acquire a lock (e.g. it was poisoned).
|
423
|
+
* 4. Defensive checks against bugs fail.
|
424
|
+
*
|
425
|
+
* If a failure occurs, do not use any of the ids in the output array. After
|
426
|
+
* this point, you should only use read-only routines (except for drop) on
|
427
|
+
* the managed string storage.
|
428
|
+
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
429
|
+
*/
|
430
|
+
ddog_prof_MaybeError ddog_prof_ManagedStringStorage_intern_all(struct ddog_prof_ManagedStringStorage storage,
|
431
|
+
struct ddog_prof_Slice_CharSlice strings,
|
432
|
+
struct ddog_prof_ManagedStringId *output_ids,
|
433
|
+
uintptr_t output_ids_size);
|
434
|
+
|
435
|
+
/**
|
436
|
+
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
437
|
+
*/
|
438
|
+
ddog_prof_MaybeError ddog_prof_ManagedStringStorage_unintern(struct ddog_prof_ManagedStringStorage storage,
|
439
|
+
struct ddog_prof_ManagedStringId id);
|
440
|
+
|
441
|
+
/**
|
442
|
+
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
443
|
+
*/
|
444
|
+
ddog_prof_MaybeError ddog_prof_ManagedStringStorage_unintern_all(struct ddog_prof_ManagedStringStorage storage,
|
445
|
+
struct ddog_prof_Slice_ManagedStringId ids);
|
446
|
+
|
447
|
+
/**
|
448
|
+
* Returns a string given its id.
|
449
|
+
* This API is mostly for testing, overall you should avoid reading back strings from libdatadog
|
450
|
+
* once they've been interned and should instead always operate on the id.
|
451
|
+
* Remember to `ddog_StringWrapper_drop` the string once you're done with it.
|
452
|
+
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
453
|
+
*/
|
454
|
+
DDOG_CHECK_RETURN
|
455
|
+
struct ddog_StringWrapperResult ddog_prof_ManagedStringStorage_get_string(struct ddog_prof_ManagedStringStorage storage,
|
456
|
+
struct ddog_prof_ManagedStringId id);
|
457
|
+
|
458
|
+
/**
|
459
|
+
* TODO: @ivoanjo Should this take a `*mut ManagedStringStorage` like Profile APIs do?
|
460
|
+
*/
|
461
|
+
ddog_prof_MaybeError ddog_prof_ManagedStringStorage_advance_gen(struct ddog_prof_ManagedStringStorage storage);
|
462
|
+
|
390
463
|
#ifdef __cplusplus
|
391
464
|
} // extern "C"
|
392
465
|
#endif // __cplusplus
|