libdatadog 16.0.1.1.0-aarch64-linux → 19.1.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.
- checksums.yaml +4 -4
 - data/lib/libdatadog/version.rb +2 -2
 - data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/LICENSE-3rdparty.yml +19675 -12455
 - data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/blazesym.h +435 -229
 - data/vendor/{libdatadog-16.0.1 → libdatadog-19.1.0}/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/common.h +691 -128
 - 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/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 → 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/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-19.1.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu}/include/datadog/profiling.h +357 -42
 - data/vendor/{libdatadog-16.0.1 → 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 → 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 → 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 → 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/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-19.1.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl}/include/datadog/profiling.h +357 -42
 - data/vendor/{libdatadog-16.0.1 → 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
 - metadata +32 -33
 - /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
 
| 
         @@ -11,11 +11,15 @@ 
     | 
|
| 
       11 
11 
     | 
    
         
             
            #include <stddef.h>
         
     | 
| 
       12 
12 
     | 
    
         
             
            #include <stdint.h>
         
     | 
| 
       13 
13 
     | 
    
         
             
            #include "common.h"
         
     | 
| 
      
 14 
     | 
    
         
            +
            struct TokioCancellationToken;
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
       14 
16 
     | 
    
         | 
| 
       15 
17 
     | 
    
         
             
            #ifdef __cplusplus
         
     | 
| 
       16 
18 
     | 
    
         
             
            extern "C" {
         
     | 
| 
       17 
19 
     | 
    
         
             
            #endif // __cplusplus
         
     | 
| 
       18 
20 
     | 
    
         | 
| 
      
 21 
     | 
    
         
            +
            extern const ddog_prof_StringId ddog_INTERNED_EMPTY_STRING;
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
       19 
23 
     | 
    
         
             
            DDOG_CHECK_RETURN struct ddog_prof_Exporter_Slice_File ddog_prof_Exporter_Slice_File_empty(void);
         
     | 
| 
       20 
24 
     | 
    
         | 
| 
       21 
25 
     | 
    
         
             
            /**
         
     | 
| 
         @@ -60,11 +64,11 @@ struct ddog_prof_Endpoint ddog_Endpoint_file(ddog_CharSlice filename); 
     | 
|
| 
       60 
64 
     | 
    
         
             
             * All pointers must refer to valid objects of the correct types.
         
     | 
| 
       61 
65 
     | 
    
         
             
             */
         
     | 
| 
       62 
66 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       63 
     | 
    
         
            -
            struct  
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
     | 
    
         
            -
             
     | 
| 
      
 67 
     | 
    
         
            +
            struct ddog_prof_ProfileExporter_Result ddog_prof_Exporter_new(ddog_CharSlice profiling_library_name,
         
     | 
| 
      
 68 
     | 
    
         
            +
                                                                           ddog_CharSlice profiling_library_version,
         
     | 
| 
      
 69 
     | 
    
         
            +
                                                                           ddog_CharSlice family,
         
     | 
| 
      
 70 
     | 
    
         
            +
                                                                           const struct ddog_Vec_Tag *tags,
         
     | 
| 
      
 71 
     | 
    
         
            +
                                                                           struct ddog_prof_Endpoint endpoint);
         
     | 
| 
       68 
72 
     | 
    
         | 
| 
       69 
73 
     | 
    
         
             
            /**
         
     | 
| 
       70 
74 
     | 
    
         
             
             * Sets the value for the exporter's timeout.
         
     | 
| 
         @@ -72,8 +76,9 @@ struct ddog_prof_Exporter_NewResult ddog_prof_Exporter_new(ddog_CharSlice profil 
     | 
|
| 
       72 
76 
     | 
    
         
             
             * * `exporter` - ProfileExporter instance.
         
     | 
| 
       73 
77 
     | 
    
         
             
             * * `timeout_ms` - timeout in milliseconds.
         
     | 
| 
       74 
78 
     | 
    
         
             
             */
         
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
      
 79 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 80 
     | 
    
         
            +
            struct ddog_VoidResult ddog_prof_Exporter_set_timeout(struct ddog_prof_ProfileExporter *exporter,
         
     | 
| 
      
 81 
     | 
    
         
            +
                                                                  uint64_t timeout_ms);
         
     | 
| 
       77 
82 
     | 
    
         | 
| 
       78 
83 
     | 
    
         
             
            /**
         
     | 
| 
       79 
84 
     | 
    
         
             
             * # Safety
         
     | 
| 
         @@ -81,7 +86,7 @@ ddog_prof_MaybeError ddog_prof_Exporter_set_timeout(struct ddog_prof_Exporter *e 
     | 
|
| 
       81 
86 
     | 
    
         
             
             * valid `ddog_prof_Exporter_Request` object made by the Rust Global
         
     | 
| 
       82 
87 
     | 
    
         
             
             * allocator that has not already been dropped.
         
     | 
| 
       83 
88 
     | 
    
         
             
             */
         
     | 
| 
       84 
     | 
    
         
            -
            void ddog_prof_Exporter_drop(struct  
     | 
| 
      
 89 
     | 
    
         
            +
            void ddog_prof_Exporter_drop(struct ddog_prof_ProfileExporter *exporter);
         
     | 
| 
       85 
90 
     | 
    
         | 
| 
       86 
91 
     | 
    
         
             
            /**
         
     | 
| 
       87 
92 
     | 
    
         
             
             * If successful, builds a `ddog_prof_Exporter_Request` object based on the
         
     | 
| 
         @@ -100,17 +105,16 @@ void ddog_prof_Exporter_drop(struct ddog_prof_Exporter *exporter); 
     | 
|
| 
       100 
105 
     | 
    
         
             
             * valid objects created by this module.
         
     | 
| 
       101 
106 
     | 
    
         
             
             * NULL is allowed for `optional_additional_tags`, `optional_endpoints_stats`,
         
     | 
| 
       102 
107 
     | 
    
         
             
             * `optional_internal_metadata_json` and `optional_info_json`.
         
     | 
| 
      
 108 
     | 
    
         
            +
             * Consumes the `SerializedProfile`
         
     | 
| 
       103 
109 
     | 
    
         
             
             */
         
     | 
| 
       104 
110 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       105 
     | 
    
         
            -
            struct  
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
     | 
    
         
            -
             
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
             
     | 
| 
       112 
     | 
    
         
            -
                                                                                           const ddog_CharSlice *optional_internal_metadata_json,
         
     | 
| 
       113 
     | 
    
         
            -
                                                                                           const ddog_CharSlice *optional_info_json);
         
     | 
| 
      
 111 
     | 
    
         
            +
            struct ddog_prof_Request_Result ddog_prof_Exporter_Request_build(struct ddog_prof_ProfileExporter *exporter,
         
     | 
| 
      
 112 
     | 
    
         
            +
                                                                             struct ddog_prof_EncodedProfile *profile,
         
     | 
| 
      
 113 
     | 
    
         
            +
                                                                             struct ddog_prof_Exporter_Slice_File files_to_compress_and_export,
         
     | 
| 
      
 114 
     | 
    
         
            +
                                                                             struct ddog_prof_Exporter_Slice_File files_to_export_unmodified,
         
     | 
| 
      
 115 
     | 
    
         
            +
                                                                             const struct ddog_Vec_Tag *optional_additional_tags,
         
     | 
| 
      
 116 
     | 
    
         
            +
                                                                             const ddog_CharSlice *optional_internal_metadata_json,
         
     | 
| 
      
 117 
     | 
    
         
            +
                                                                             const ddog_CharSlice *optional_info_json);
         
     | 
| 
       114 
118 
     | 
    
         | 
| 
       115 
119 
     | 
    
         
             
            /**
         
     | 
| 
       116 
120 
     | 
    
         
             
             * # Safety
         
     | 
| 
         @@ -118,7 +122,7 @@ struct ddog_prof_Exporter_Request_BuildResult ddog_prof_Exporter_Request_build(s 
     | 
|
| 
       118 
122 
     | 
    
         
             
             * pointer must point to a valid `ddog_prof_Exporter_Request` object made by
         
     | 
| 
       119 
123 
     | 
    
         
             
             * the Rust Global allocator.
         
     | 
| 
       120 
124 
     | 
    
         
             
             */
         
     | 
| 
       121 
     | 
    
         
            -
            void ddog_prof_Exporter_Request_drop(struct  
     | 
| 
      
 125 
     | 
    
         
            +
            void ddog_prof_Exporter_Request_drop(struct ddog_prof_Request *request);
         
     | 
| 
       122 
126 
     | 
    
         | 
| 
       123 
127 
     | 
    
         
             
            /**
         
     | 
| 
       124 
128 
     | 
    
         
             
             * Sends the request, returning the HttpStatus.
         
     | 
| 
         @@ -133,18 +137,18 @@ void ddog_prof_Exporter_Request_drop(struct ddog_prof_Exporter_Request **request 
     | 
|
| 
       133 
137 
     | 
    
         
             
             * All non-null arguments MUST have been created by created by apis in this module.
         
     | 
| 
       134 
138 
     | 
    
         
             
             */
         
     | 
| 
       135 
139 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       136 
     | 
    
         
            -
            struct  
     | 
| 
       137 
     | 
    
         
            -
             
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
      
 140 
     | 
    
         
            +
            struct ddog_prof_Result_HttpStatus ddog_prof_Exporter_send(struct ddog_prof_ProfileExporter *exporter,
         
     | 
| 
      
 141 
     | 
    
         
            +
                                                                       struct ddog_prof_Request *request,
         
     | 
| 
      
 142 
     | 
    
         
            +
                                                                       struct ddog_CancellationToken *cancel);
         
     | 
| 
       139 
143 
     | 
    
         | 
| 
       140 
144 
     | 
    
         
             
            /**
         
     | 
| 
       141 
145 
     | 
    
         
             
             * Can be passed as an argument to send and then be used to asynchronously cancel it from a
         
     | 
| 
       142 
146 
     | 
    
         
             
             * different thread.
         
     | 
| 
       143 
147 
     | 
    
         
             
             */
         
     | 
| 
       144 
     | 
    
         
            -
            DDOG_CHECK_RETURN struct ddog_CancellationToken  
     | 
| 
      
 148 
     | 
    
         
            +
            DDOG_CHECK_RETURN struct ddog_CancellationToken ddog_CancellationToken_new(void);
         
     | 
| 
       145 
149 
     | 
    
         | 
| 
       146 
150 
     | 
    
         
             
            /**
         
     | 
| 
       147 
     | 
    
         
            -
             * A cloned  
     | 
| 
      
 151 
     | 
    
         
            +
             * A cloned TokioCancellationToken is connected to the TokioCancellationToken it was created from.
         
     | 
| 
       148 
152 
     | 
    
         
             
             * Either the cloned or the original token can be used to cancel or provided as arguments to send.
         
     | 
| 
       149 
153 
     | 
    
         
             
             * The useful part is that they have independent lifetimes and can be dropped separately.
         
     | 
| 
       150 
154 
     | 
    
         
             
             *
         
     | 
| 
         @@ -170,14 +174,14 @@ DDOG_CHECK_RETURN struct ddog_CancellationToken *ddog_CancellationToken_new(void 
     | 
|
| 
       170 
174 
     | 
    
         
             
             * If the `token` is non-null, it must point to a valid object.
         
     | 
| 
       171 
175 
     | 
    
         
             
             */
         
     | 
| 
       172 
176 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       173 
     | 
    
         
            -
            struct ddog_CancellationToken  
     | 
| 
      
 177 
     | 
    
         
            +
            struct ddog_CancellationToken ddog_CancellationToken_clone(struct ddog_CancellationToken *token);
         
     | 
| 
       174 
178 
     | 
    
         | 
| 
       175 
179 
     | 
    
         
             
            /**
         
     | 
| 
       176 
180 
     | 
    
         
             
             * Cancel send that is being called in another thread with the given token.
         
     | 
| 
       177 
181 
     | 
    
         
             
             * Note that cancellation is a terminal state; cancelling a token more than once does nothing.
         
     | 
| 
       178 
182 
     | 
    
         
             
             * Returns `true` if token was successfully cancelled.
         
     | 
| 
       179 
183 
     | 
    
         
             
             */
         
     | 
| 
       180 
     | 
    
         
            -
            bool ddog_CancellationToken_cancel( 
     | 
| 
      
 184 
     | 
    
         
            +
            bool ddog_CancellationToken_cancel(struct ddog_CancellationToken *cancel);
         
     | 
| 
       181 
185 
     | 
    
         | 
| 
       182 
186 
     | 
    
         
             
            /**
         
     | 
| 
       183 
187 
     | 
    
         
             
             * # Safety
         
     | 
| 
         @@ -202,8 +206,7 @@ void ddog_CancellationToken_drop(struct ddog_CancellationToken *token); 
     | 
|
| 
       202 
206 
     | 
    
         
             
             */
         
     | 
| 
       203 
207 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       204 
208 
     | 
    
         
             
            struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_ValueType sample_types,
         
     | 
| 
       205 
     | 
    
         
            -
                                                                     const struct ddog_prof_Period *period 
     | 
| 
       206 
     | 
    
         
            -
                                                                     const struct ddog_Timespec *start_time);
         
     | 
| 
      
 209 
     | 
    
         
            +
                                                                     const struct ddog_prof_Period *period);
         
     | 
| 
       207 
210 
     | 
    
         | 
| 
       208 
211 
     | 
    
         
             
            /**
         
     | 
| 
       209 
212 
     | 
    
         
             
             * Same as `ddog_profile_new` but also configures a `string_storage` for the profile.
         
     | 
| 
         @@ -212,7 +215,6 @@ struct ddog_prof_Profile_NewResult ddog_prof_Profile_new(struct ddog_prof_Slice_ 
     | 
|
| 
       212 
215 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       213 
216 
     | 
    
         
             
            struct ddog_prof_Profile_NewResult ddog_prof_Profile_with_string_storage(struct ddog_prof_Slice_ValueType sample_types,
         
     | 
| 
       214 
217 
     | 
    
         
             
                                                                                     const struct ddog_prof_Period *period,
         
     | 
| 
       215 
     | 
    
         
            -
                                                                                     const struct ddog_Timespec *start_time,
         
     | 
| 
       216 
218 
     | 
    
         
             
                                                                                     struct ddog_prof_ManagedStringStorage string_storage);
         
     | 
| 
       217 
219 
     | 
    
         | 
| 
       218 
220 
     | 
    
         
             
            /**
         
     | 
| 
         @@ -343,11 +345,21 @@ struct ddog_prof_Profile_Result ddog_prof_Profile_add_upscaling_rule_proportiona 
     | 
|
| 
       343 
345 
     | 
    
         
             
            /**
         
     | 
| 
       344 
346 
     | 
    
         
             
             * # Safety
         
     | 
| 
       345 
347 
     | 
    
         
             
             * Only pass a reference to a valid `ddog_prof_EncodedProfile`, or null. A
         
     | 
| 
       346 
     | 
    
         
            -
             * valid reference also means that it hasn't already been dropped (do not
         
     | 
| 
      
 348 
     | 
    
         
            +
             * valid reference also means that it hasn't already been dropped or exported (do not
         
     | 
| 
       347 
349 
     | 
    
         
             
             * call this twice on the same object).
         
     | 
| 
       348 
350 
     | 
    
         
             
             */
         
     | 
| 
       349 
351 
     | 
    
         
             
            void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile);
         
     | 
| 
       350 
352 
     | 
    
         | 
| 
      
 353 
     | 
    
         
            +
            /**
         
     | 
| 
      
 354 
     | 
    
         
            +
             * Given an EncodedProfile, get a slice representing the bytes in the pprof.
         
     | 
| 
      
 355 
     | 
    
         
            +
             * This slice is valid for use until the encoded_profile is modified in any way (e.g. dropped or
         
     | 
| 
      
 356 
     | 
    
         
            +
             * consumed).
         
     | 
| 
      
 357 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 358 
     | 
    
         
            +
             * Only pass a reference to a valid `ddog_prof_EncodedProfile`.
         
     | 
| 
      
 359 
     | 
    
         
            +
             */
         
     | 
| 
      
 360 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 361 
     | 
    
         
            +
            struct ddog_prof_Result_ByteSlice ddog_prof_EncodedProfile_bytes(struct ddog_prof_EncodedProfile *encoded_profile);
         
     | 
| 
      
 362 
     | 
    
         
            +
             
     | 
| 
       351 
363 
     | 
    
         
             
            /**
         
     | 
| 
       352 
364 
     | 
    
         
             
             * Serialize the aggregated profile.
         
     | 
| 
       353 
365 
     | 
    
         
             
             * Drains the data, and then resets the profile for future use.
         
     | 
| 
         @@ -357,25 +369,18 @@ void ddog_prof_EncodedProfile_drop(struct ddog_prof_EncodedProfile *profile); 
     | 
|
| 
       357 
369 
     | 
    
         
             
             *
         
     | 
| 
       358 
370 
     | 
    
         
             
             * # Arguments
         
     | 
| 
       359 
371 
     | 
    
         
             
             * * `profile` - a reference to the profile being serialized.
         
     | 
| 
      
 372 
     | 
    
         
            +
             * * `start_time` - start time for the serialized profile.
         
     | 
| 
       360 
373 
     | 
    
         
             
             * * `end_time` - optional end time of the profile. If None/null is passed, the current time will
         
     | 
| 
       361 
374 
     | 
    
         
             
             *   be used.
         
     | 
| 
       362 
     | 
    
         
            -
             * * `duration_nanos` - Optional duration of the profile. Passing None or a negative duration will
         
     | 
| 
       363 
     | 
    
         
            -
             *   mean the duration will based on the end time minus the start time, but under anomalous
         
     | 
| 
       364 
     | 
    
         
            -
             *   conditions this may fail as system clocks can be adjusted, or the programmer accidentally
         
     | 
| 
       365 
     | 
    
         
            -
             *   passed an earlier time. The duration of the serialized profile will be set to zero for these
         
     | 
| 
       366 
     | 
    
         
            -
             *   cases.
         
     | 
| 
       367 
     | 
    
         
            -
             * * `start_time` - Optional start time for the next profile.
         
     | 
| 
       368 
375 
     | 
    
         
             
             *
         
     | 
| 
       369 
376 
     | 
    
         
             
             * # Safety
         
     | 
| 
       370 
377 
     | 
    
         
             
             * The `profile` must point to a valid profile object.
         
     | 
| 
       371 
     | 
    
         
            -
             * The `end_time` must be null or otherwise point to a valid TimeSpec object.
         
     | 
| 
       372 
     | 
    
         
            -
             * The `duration_nanos` must be null or otherwise point to a valid i64.
         
     | 
| 
      
 378 
     | 
    
         
            +
             * The `start_time` and `end_time` must be null or otherwise point to a valid TimeSpec object.
         
     | 
| 
       373 
379 
     | 
    
         
             
             */
         
     | 
| 
       374 
380 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       375 
381 
     | 
    
         
             
            struct ddog_prof_Profile_SerializeResult ddog_prof_Profile_serialize(struct ddog_prof_Profile *profile,
         
     | 
| 
       376 
     | 
    
         
            -
                                                                                 const struct ddog_Timespec * 
     | 
| 
       377 
     | 
    
         
            -
                                                                                 const  
     | 
| 
       378 
     | 
    
         
            -
                                                                                 const struct ddog_Timespec *start_time);
         
     | 
| 
      
 382 
     | 
    
         
            +
                                                                                 const struct ddog_Timespec *start_time,
         
     | 
| 
      
 383 
     | 
    
         
            +
                                                                                 const struct ddog_Timespec *end_time);
         
     | 
| 
       379 
384 
     | 
    
         | 
| 
       380 
385 
     | 
    
         
             
            DDOG_CHECK_RETURN struct ddog_Slice_U8 ddog_Vec_U8_as_slice(const struct ddog_Vec_U8 *vec);
         
     | 
| 
       381 
386 
     | 
    
         | 
| 
         @@ -394,8 +399,318 @@ DDOG_CHECK_RETURN struct ddog_Slice_U8 ddog_Vec_U8_as_slice(const struct ddog_Ve 
     | 
|
| 
       394 
399 
     | 
    
         
             
             * If `time` is not null, it must point to a valid Timespec object.
         
     | 
| 
       395 
400 
     | 
    
         
             
             */
         
     | 
| 
       396 
401 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       397 
     | 
    
         
            -
            struct ddog_prof_Profile_Result ddog_prof_Profile_reset(struct ddog_prof_Profile *profile 
     | 
| 
       398 
     | 
    
         
            -
             
     | 
| 
      
 402 
     | 
    
         
            +
            struct ddog_prof_Profile_Result ddog_prof_Profile_reset(struct ddog_prof_Profile *profile);
         
     | 
| 
      
 403 
     | 
    
         
            +
             
     | 
| 
      
 404 
     | 
    
         
            +
            /**
         
     | 
| 
      
 405 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 406 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 407 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 408 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 409 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 410 
     | 
    
         
            +
             *
         
     | 
| 
      
 411 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 412 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 413 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 414 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 415 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 416 
     | 
    
         
            +
             */
         
     | 
| 
      
 417 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 418 
     | 
    
         
            +
            struct ddog_prof_FunctionId_Result ddog_prof_Profile_intern_function(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 419 
     | 
    
         
            +
                                                                                 struct ddog_prof_StringId name,
         
     | 
| 
      
 420 
     | 
    
         
            +
                                                                                 struct ddog_prof_StringId system_name,
         
     | 
| 
      
 421 
     | 
    
         
            +
                                                                                 struct ddog_prof_StringId filename);
         
     | 
| 
      
 422 
     | 
    
         
            +
             
     | 
| 
      
 423 
     | 
    
         
            +
            /**
         
     | 
| 
      
 424 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 425 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 426 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 427 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 428 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 429 
     | 
    
         
            +
             *
         
     | 
| 
      
 430 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 431 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 432 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 433 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 434 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 435 
     | 
    
         
            +
             */
         
     | 
| 
      
 436 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 437 
     | 
    
         
            +
            struct ddog_prof_LabelId_Result ddog_prof_Profile_intern_label_num(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 438 
     | 
    
         
            +
                                                                               struct ddog_prof_StringId key,
         
     | 
| 
      
 439 
     | 
    
         
            +
                                                                               int64_t val);
         
     | 
| 
      
 440 
     | 
    
         
            +
             
     | 
| 
      
 441 
     | 
    
         
            +
            /**
         
     | 
| 
      
 442 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 443 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 444 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 445 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 446 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 447 
     | 
    
         
            +
             *
         
     | 
| 
      
 448 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 449 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 450 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 451 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 452 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 453 
     | 
    
         
            +
             */
         
     | 
| 
      
 454 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 455 
     | 
    
         
            +
            struct ddog_prof_LabelId_Result ddog_prof_Profile_intern_label_num_with_unit(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 456 
     | 
    
         
            +
                                                                                         struct ddog_prof_StringId key,
         
     | 
| 
      
 457 
     | 
    
         
            +
                                                                                         int64_t val,
         
     | 
| 
      
 458 
     | 
    
         
            +
                                                                                         struct ddog_prof_StringId unit);
         
     | 
| 
      
 459 
     | 
    
         
            +
             
     | 
| 
      
 460 
     | 
    
         
            +
            /**
         
     | 
| 
      
 461 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 462 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 463 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 464 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 465 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 466 
     | 
    
         
            +
             *
         
     | 
| 
      
 467 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 468 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 469 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 470 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 471 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 472 
     | 
    
         
            +
             */
         
     | 
| 
      
 473 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 474 
     | 
    
         
            +
            struct ddog_prof_LabelId_Result ddog_prof_Profile_intern_label_str(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 475 
     | 
    
         
            +
                                                                               struct ddog_prof_StringId key,
         
     | 
| 
      
 476 
     | 
    
         
            +
                                                                               struct ddog_prof_StringId val);
         
     | 
| 
      
 477 
     | 
    
         
            +
             
     | 
| 
      
 478 
     | 
    
         
            +
            /**
         
     | 
| 
      
 479 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 480 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 481 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 482 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 483 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 484 
     | 
    
         
            +
             *
         
     | 
| 
      
 485 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 486 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 487 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 488 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 489 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 490 
     | 
    
         
            +
             */
         
     | 
| 
      
 491 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 492 
     | 
    
         
            +
            struct ddog_prof_LabelSetId_Result ddog_prof_Profile_intern_labelset(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 493 
     | 
    
         
            +
                                                                                 struct ddog_prof_Slice_LabelId labels);
         
     | 
| 
      
 494 
     | 
    
         
            +
             
     | 
| 
      
 495 
     | 
    
         
            +
            /**
         
     | 
| 
      
 496 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 497 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 498 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 499 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 500 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 501 
     | 
    
         
            +
             *
         
     | 
| 
      
 502 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 503 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 504 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 505 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 506 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 507 
     | 
    
         
            +
             */
         
     | 
| 
      
 508 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 509 
     | 
    
         
            +
            struct ddog_prof_LocationId_Result ddog_prof_Profile_intern_location(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 510 
     | 
    
         
            +
                                                                                 struct ddog_prof_FunctionId function_id,
         
     | 
| 
      
 511 
     | 
    
         
            +
                                                                                 uint64_t address,
         
     | 
| 
      
 512 
     | 
    
         
            +
                                                                                 int64_t line);
         
     | 
| 
      
 513 
     | 
    
         
            +
             
     | 
| 
      
 514 
     | 
    
         
            +
            /**
         
     | 
| 
      
 515 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 516 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 517 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 518 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 519 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 520 
     | 
    
         
            +
             *
         
     | 
| 
      
 521 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 522 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 523 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 524 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 525 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 526 
     | 
    
         
            +
             */
         
     | 
| 
      
 527 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 528 
     | 
    
         
            +
            struct ddog_prof_LocationId_Result ddog_prof_Profile_intern_location_with_mapping_id(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 529 
     | 
    
         
            +
                                                                                                 struct ddog_prof_MappingId mapping_id,
         
     | 
| 
      
 530 
     | 
    
         
            +
                                                                                                 struct ddog_prof_FunctionId function_id,
         
     | 
| 
      
 531 
     | 
    
         
            +
                                                                                                 uint64_t address,
         
     | 
| 
      
 532 
     | 
    
         
            +
                                                                                                 int64_t line);
         
     | 
| 
      
 533 
     | 
    
         
            +
             
     | 
| 
      
 534 
     | 
    
         
            +
            /**
         
     | 
| 
      
 535 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 536 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 537 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 538 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 539 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 540 
     | 
    
         
            +
             *
         
     | 
| 
      
 541 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 542 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 543 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 544 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 545 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 546 
     | 
    
         
            +
             */
         
     | 
| 
      
 547 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 548 
     | 
    
         
            +
            struct ddog_prof_StringId_Result ddog_prof_Profile_intern_managed_string(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 549 
     | 
    
         
            +
                                                                                     struct ddog_prof_ManagedStringId s);
         
     | 
| 
      
 550 
     | 
    
         
            +
             
     | 
| 
      
 551 
     | 
    
         
            +
            /**
         
     | 
| 
      
 552 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 553 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 554 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 555 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 556 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 557 
     | 
    
         
            +
             *
         
     | 
| 
      
 558 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 559 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 560 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 561 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 562 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 563 
     | 
    
         
            +
             */
         
     | 
| 
      
 564 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 565 
     | 
    
         
            +
            struct ddog_VoidResult ddog_prof_Profile_intern_managed_strings(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 566 
     | 
    
         
            +
                                                                            struct ddog_prof_Slice_ManagedStringId strings,
         
     | 
| 
      
 567 
     | 
    
         
            +
                                                                            struct ddog_prof_MutSlice_GenerationalIdStringId out);
         
     | 
| 
      
 568 
     | 
    
         
            +
             
     | 
| 
      
 569 
     | 
    
         
            +
            /**
         
     | 
| 
      
 570 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 571 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 572 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 573 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 574 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 575 
     | 
    
         
            +
             *
         
     | 
| 
      
 576 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 577 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 578 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 579 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 580 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 581 
     | 
    
         
            +
             */
         
     | 
| 
      
 582 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 583 
     | 
    
         
            +
            struct ddog_prof_MappingId_Result ddog_prof_Profile_intern_mapping(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 584 
     | 
    
         
            +
                                                                               uint64_t memory_start,
         
     | 
| 
      
 585 
     | 
    
         
            +
                                                                               uint64_t memory_limit,
         
     | 
| 
      
 586 
     | 
    
         
            +
                                                                               uint64_t file_offset,
         
     | 
| 
      
 587 
     | 
    
         
            +
                                                                               struct ddog_prof_StringId filename,
         
     | 
| 
      
 588 
     | 
    
         
            +
                                                                               struct ddog_prof_StringId build_id);
         
     | 
| 
      
 589 
     | 
    
         
            +
             
     | 
| 
      
 590 
     | 
    
         
            +
            /**
         
     | 
| 
      
 591 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 592 
     | 
    
         
            +
             * If successful, it returns void.
         
     | 
| 
      
 593 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 594 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 595 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 596 
     | 
    
         
            +
             *
         
     | 
| 
      
 597 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 598 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 599 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 600 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 601 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 602 
     | 
    
         
            +
             */
         
     | 
| 
      
 603 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 604 
     | 
    
         
            +
            struct ddog_VoidResult ddog_prof_Profile_intern_sample(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 605 
     | 
    
         
            +
                                                                   struct ddog_prof_StackTraceId stacktrace,
         
     | 
| 
      
 606 
     | 
    
         
            +
                                                                   struct ddog_Slice_I64 values,
         
     | 
| 
      
 607 
     | 
    
         
            +
                                                                   struct ddog_prof_LabelSetId labels,
         
     | 
| 
      
 608 
     | 
    
         
            +
                                                                   int64_t timestamp);
         
     | 
| 
      
 609 
     | 
    
         
            +
             
     | 
| 
      
 610 
     | 
    
         
            +
            /**
         
     | 
| 
      
 611 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 612 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 613 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 614 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 615 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 616 
     | 
    
         
            +
             *
         
     | 
| 
      
 617 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 618 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 619 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 620 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 621 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 622 
     | 
    
         
            +
             */
         
     | 
| 
      
 623 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 624 
     | 
    
         
            +
            struct ddog_prof_StackTraceId_Result ddog_prof_Profile_intern_stacktrace(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 625 
     | 
    
         
            +
                                                                                     struct ddog_prof_Slice_LocationId locations);
         
     | 
| 
      
 626 
     | 
    
         
            +
             
     | 
| 
      
 627 
     | 
    
         
            +
            /**
         
     | 
| 
      
 628 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 629 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 630 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 631 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 632 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 633 
     | 
    
         
            +
             *
         
     | 
| 
      
 634 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 635 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 636 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 637 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 638 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 639 
     | 
    
         
            +
             */
         
     | 
| 
      
 640 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 641 
     | 
    
         
            +
            struct ddog_prof_StringId_Result ddog_prof_Profile_intern_string(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 642 
     | 
    
         
            +
                                                                             ddog_CharSlice s);
         
     | 
| 
      
 643 
     | 
    
         
            +
             
     | 
| 
      
 644 
     | 
    
         
            +
            /**
         
     | 
| 
      
 645 
     | 
    
         
            +
             * This functions returns an interned id for an empty string
         
     | 
| 
      
 646 
     | 
    
         
            +
             *
         
     | 
| 
      
 647 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 648 
     | 
    
         
            +
             * No preconditions
         
     | 
| 
      
 649 
     | 
    
         
            +
             */
         
     | 
| 
      
 650 
     | 
    
         
            +
            struct ddog_prof_StringId ddog_prof_Profile_interned_empty_string(void);
         
     | 
| 
      
 651 
     | 
    
         
            +
             
     | 
| 
      
 652 
     | 
    
         
            +
            /**
         
     | 
| 
      
 653 
     | 
    
         
            +
             * This function interns its argument into the profiler.
         
     | 
| 
      
 654 
     | 
    
         
            +
             * If successful, it returns an opaque interning ID.
         
     | 
| 
      
 655 
     | 
    
         
            +
             * This ID is valid for use on this profiler, until the profiler is reset.
         
     | 
| 
      
 656 
     | 
    
         
            +
             * It is an error to use this id after the profiler has been reset, or on a different profiler.
         
     | 
| 
      
 657 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 658 
     | 
    
         
            +
             *
         
     | 
| 
      
 659 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 660 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 661 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 662 
     | 
    
         
            +
             * All other arguments must remain valid for the length of this call.
         
     | 
| 
      
 663 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 664 
     | 
    
         
            +
             */
         
     | 
| 
      
 665 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 666 
     | 
    
         
            +
            struct ddog_VoidResult ddog_prof_Profile_intern_strings(struct ddog_prof_Profile *profile,
         
     | 
| 
      
 667 
     | 
    
         
            +
                                                                    struct ddog_prof_Slice_CharSlice strings,
         
     | 
| 
      
 668 
     | 
    
         
            +
                                                                    struct ddog_prof_MutSlice_GenerationalIdStringId out);
         
     | 
| 
      
 669 
     | 
    
         
            +
             
     | 
| 
      
 670 
     | 
    
         
            +
            /**
         
     | 
| 
      
 671 
     | 
    
         
            +
             * This functions returns the current generation of the profiler.
         
     | 
| 
      
 672 
     | 
    
         
            +
             * On error, it holds an error message in the error variant.
         
     | 
| 
      
 673 
     | 
    
         
            +
             *
         
     | 
| 
      
 674 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 675 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 676 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 677 
     | 
    
         
            +
             * This call is _NOT_ thread-safe.
         
     | 
| 
      
 678 
     | 
    
         
            +
             */
         
     | 
| 
      
 679 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 680 
     | 
    
         
            +
            struct ddog_prof_Result_Generation ddog_prof_Profile_get_generation(struct ddog_prof_Profile *profile);
         
     | 
| 
      
 681 
     | 
    
         
            +
             
     | 
| 
      
 682 
     | 
    
         
            +
            /**
         
     | 
| 
      
 683 
     | 
    
         
            +
             * This functions returns whether the given generations are equal.
         
     | 
| 
      
 684 
     | 
    
         
            +
             *
         
     | 
| 
      
 685 
     | 
    
         
            +
             * # Safety: No safety requirements
         
     | 
| 
      
 686 
     | 
    
         
            +
             */
         
     | 
| 
      
 687 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 688 
     | 
    
         
            +
            bool ddog_prof_Profile_generations_are_equal(struct ddog_prof_Generation a,
         
     | 
| 
      
 689 
     | 
    
         
            +
                                                         struct ddog_prof_Generation b);
         
     | 
| 
      
 690 
     | 
    
         
            +
             
     | 
| 
      
 691 
     | 
    
         
            +
            /**
         
     | 
| 
      
 692 
     | 
    
         
            +
             * This functions ends the current sample and allows the profiler exporter to continue, if it was
         
     | 
| 
      
 693 
     | 
    
         
            +
             * blocked.
         
     | 
| 
      
 694 
     | 
    
         
            +
             * It must have been paired with exactly one `sample_start`.
         
     | 
| 
      
 695 
     | 
    
         
            +
             *
         
     | 
| 
      
 696 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 697 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 698 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 699 
     | 
    
         
            +
             * This call is probably thread-safe, but I haven't confirmed this.
         
     | 
| 
      
 700 
     | 
    
         
            +
             */
         
     | 
| 
      
 701 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 702 
     | 
    
         
            +
            struct ddog_VoidResult ddog_prof_Profile_sample_end(struct ddog_prof_Profile *profile);
         
     | 
| 
      
 703 
     | 
    
         
            +
             
     | 
| 
      
 704 
     | 
    
         
            +
            /**
         
     | 
| 
      
 705 
     | 
    
         
            +
             * This functions starts a sample and blocks the exporter from continuing.
         
     | 
| 
      
 706 
     | 
    
         
            +
             *
         
     | 
| 
      
 707 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 708 
     | 
    
         
            +
             * The `profile` ptr must point to a valid Profile object created by this
         
     | 
| 
      
 709 
     | 
    
         
            +
             * module.
         
     | 
| 
      
 710 
     | 
    
         
            +
             * This call is probably thread-safe, but I haven't confirmed this.
         
     | 
| 
      
 711 
     | 
    
         
            +
             */
         
     | 
| 
      
 712 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 713 
     | 
    
         
            +
            struct ddog_VoidResult ddog_prof_Profile_sample_start(struct ddog_prof_Profile *profile);
         
     | 
| 
       399 
714 
     | 
    
         | 
| 
       400 
715 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       401 
716 
     | 
    
         
             
            struct ddog_prof_ManagedStringStorageNewResult ddog_prof_ManagedStringStorage_new(void);
         
     | 
| 
         @@ -41,7 +41,8 @@ ddog_MaybeError ddog_telemetry_builder_with_rust_shared_lib_deps(struct ddog_Tel 
     | 
|
| 
       41 
41 
     | 
    
         
             
            ddog_MaybeError ddog_telemetry_builder_with_config(struct ddog_TelemetryWorkerBuilder *builder,
         
     | 
| 
       42 
42 
     | 
    
         
             
                                                               ddog_CharSlice name,
         
     | 
| 
       43 
43 
     | 
    
         
             
                                                               ddog_CharSlice value,
         
     | 
| 
       44 
     | 
    
         
            -
                                                               enum ddog_ConfigurationOrigin origin 
     | 
| 
      
 44 
     | 
    
         
            +
                                                               enum ddog_ConfigurationOrigin origin,
         
     | 
| 
      
 45 
     | 
    
         
            +
                                                               ddog_CharSlice config_id);
         
     | 
| 
       45 
46 
     | 
    
         | 
| 
       46 
47 
     | 
    
         
             
            /**
         
     | 
| 
       47 
48 
     | 
    
         
             
             * Builds the telemetry worker and return a handle to it
         
     | 
| 
         @@ -63,6 +64,31 @@ ddog_MaybeError ddog_telemetry_builder_run(struct ddog_TelemetryWorkerBuilder *b 
     | 
|
| 
       63 
64 
     | 
    
         
             
            ddog_MaybeError ddog_telemetry_builder_run_metric_logs(struct ddog_TelemetryWorkerBuilder *builder,
         
     | 
| 
       64 
65 
     | 
    
         
             
                                                                   struct ddog_TelemetryWorkerHandle **out_handle);
         
     | 
| 
       65 
66 
     | 
    
         | 
| 
      
 67 
     | 
    
         
            +
            ddog_MaybeError ddog_telemetry_builder_with_endpoint_config_endpoint(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
         
     | 
| 
      
 68 
     | 
    
         
            +
                                                                                 const struct ddog_Endpoint *endpoint);
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            /**
         
     | 
| 
      
 71 
     | 
    
         
            +
             * Sets a property from it's string value.
         
     | 
| 
      
 72 
     | 
    
         
            +
             *
         
     | 
| 
      
 73 
     | 
    
         
            +
             * Available properties:
         
     | 
| 
      
 74 
     | 
    
         
            +
             *
         
     | 
| 
      
 75 
     | 
    
         
            +
             * * config.endpoint
         
     | 
| 
      
 76 
     | 
    
         
            +
             */
         
     | 
| 
      
 77 
     | 
    
         
            +
            ddog_MaybeError ddog_telemetry_builder_with_property_endpoint(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
         
     | 
| 
      
 78 
     | 
    
         
            +
                                                                          enum ddog_TelemetryWorkerBuilderEndpointProperty _property,
         
     | 
| 
      
 79 
     | 
    
         
            +
                                                                          const struct ddog_Endpoint *endpoint);
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            /**
         
     | 
| 
      
 82 
     | 
    
         
            +
             * Sets a property from it's string value.
         
     | 
| 
      
 83 
     | 
    
         
            +
             *
         
     | 
| 
      
 84 
     | 
    
         
            +
             * Available properties:
         
     | 
| 
      
 85 
     | 
    
         
            +
             *
         
     | 
| 
      
 86 
     | 
    
         
            +
             * * config.endpoint
         
     | 
| 
      
 87 
     | 
    
         
            +
             */
         
     | 
| 
      
 88 
     | 
    
         
            +
            ddog_MaybeError ddog_telemetry_builder_with_endpoint_named_property(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
         
     | 
| 
      
 89 
     | 
    
         
            +
                                                                                ddog_CharSlice property,
         
     | 
| 
      
 90 
     | 
    
         
            +
                                                                                const struct ddog_Endpoint *endpoint);
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
       66 
92 
     | 
    
         
             
            ddog_MaybeError ddog_telemetry_builder_with_str_application_service_version(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
         
     | 
| 
       67 
93 
     | 
    
         
             
                                                                                        ddog_CharSlice param);
         
     | 
| 
       68 
94 
     | 
    
         | 
| 
         @@ -191,35 +217,6 @@ ddog_MaybeError ddog_telemetry_builder_with_bool_named_property(struct ddog_Tele 
     | 
|
| 
       191 
217 
     | 
    
         
             
                                                                            ddog_CharSlice property,
         
     | 
| 
       192 
218 
     | 
    
         
             
                                                                            bool param);
         
     | 
| 
       193 
219 
     | 
    
         | 
| 
       194 
     | 
    
         
            -
            ddog_MaybeError ddog_telemetry_builder_with_endpoint_config_endpoint(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
         
     | 
| 
       195 
     | 
    
         
            -
                                                                                 const struct ddog_Endpoint *param);
         
     | 
| 
       196 
     | 
    
         
            -
             
     | 
| 
       197 
     | 
    
         
            -
            /**
         
     | 
| 
       198 
     | 
    
         
            -
             *      Sets a property from it's string value.
         
     | 
| 
       199 
     | 
    
         
            -
             *
         
     | 
| 
       200 
     | 
    
         
            -
             *     Available properties:
         
     | 
| 
       201 
     | 
    
         
            -
             *
         
     | 
| 
       202 
     | 
    
         
            -
             *     * config.endpoint
         
     | 
| 
       203 
     | 
    
         
            -
             *
         
     | 
| 
       204 
     | 
    
         
            -
             *
         
     | 
| 
       205 
     | 
    
         
            -
             */
         
     | 
| 
       206 
     | 
    
         
            -
            ddog_MaybeError ddog_telemetry_builder_with_property_endpoint(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
         
     | 
| 
       207 
     | 
    
         
            -
                                                                          enum ddog_TelemetryWorkerBuilderEndpointProperty property,
         
     | 
| 
       208 
     | 
    
         
            -
                                                                          const struct ddog_Endpoint *param);
         
     | 
| 
       209 
     | 
    
         
            -
             
     | 
| 
       210 
     | 
    
         
            -
            /**
         
     | 
| 
       211 
     | 
    
         
            -
             *      Sets a property from it's string value.
         
     | 
| 
       212 
     | 
    
         
            -
             *
         
     | 
| 
       213 
     | 
    
         
            -
             *     Available properties:
         
     | 
| 
       214 
     | 
    
         
            -
             *
         
     | 
| 
       215 
     | 
    
         
            -
             *     * config.endpoint
         
     | 
| 
       216 
     | 
    
         
            -
             *
         
     | 
| 
       217 
     | 
    
         
            -
             *
         
     | 
| 
       218 
     | 
    
         
            -
             */
         
     | 
| 
       219 
     | 
    
         
            -
            ddog_MaybeError ddog_telemetry_builder_with_endpoint_named_property(struct ddog_TelemetryWorkerBuilder *telemetry_builder,
         
     | 
| 
       220 
     | 
    
         
            -
                                                                                ddog_CharSlice property,
         
     | 
| 
       221 
     | 
    
         
            -
                                                                                const struct ddog_Endpoint *param);
         
     | 
| 
       222 
     | 
    
         
            -
             
     | 
| 
       223 
220 
     | 
    
         
             
            ddog_MaybeError ddog_telemetry_handle_add_dependency(const struct ddog_TelemetryWorkerHandle *handle,
         
     | 
| 
       224 
221 
     | 
    
         
             
                                                                 ddog_CharSlice dependency_name,
         
     | 
| 
       225 
222 
     | 
    
         
             
                                                                 ddog_CharSlice dependency_version);
         
     |