libdatadog 9.0.0.1.0-x86_64-linux → 11.0.0.1.0-x86_64-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 +1 -1
 - data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +17731 -10534
 - data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
 - data/vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +1229 -0
 - data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +37 -18
 - data/vendor/{libdatadog-9.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu}/include/datadog/profiling.h +31 -4
 - data/vendor/libdatadog-11.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
 - data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +17731 -10534
 - data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
 - data/vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +1229 -0
 - data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h +37 -18
 - data/vendor/{libdatadog-9.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl}/include/datadog/profiling.h +31 -4
 - data/vendor/libdatadog-11.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
 - metadata +23 -23
 - data/vendor/libdatadog-9.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +0 -895
 - data/vendor/libdatadog-9.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
 - data/vendor/libdatadog-9.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +0 -895
 - data/vendor/libdatadog-9.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
 - /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
 - /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
 - /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
 - /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
 - /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
 - /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
 - /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
 - /data/vendor/{libdatadog-9.0.0 → libdatadog-11.0.0}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
 
| 
         @@ -143,6 +143,11 @@ typedef enum ddog_prof_DemangleOptions { 
     | 
|
| 
       143 
143 
     | 
    
         
             
              DDOG_PROF_DEMANGLE_OPTIONS_NAME_ONLY,
         
     | 
| 
       144 
144 
     | 
    
         
             
            } ddog_prof_DemangleOptions;
         
     | 
| 
       145 
145 
     | 
    
         | 
| 
      
 146 
     | 
    
         
            +
            typedef enum ddog_prof_NormalizedAddressTypes {
         
     | 
| 
      
 147 
     | 
    
         
            +
              DDOG_PROF_NORMALIZED_ADDRESS_TYPES_NONE = 0,
         
     | 
| 
      
 148 
     | 
    
         
            +
              DDOG_PROF_NORMALIZED_ADDRESS_TYPES_ELF,
         
     | 
| 
      
 149 
     | 
    
         
            +
            } ddog_prof_NormalizedAddressTypes;
         
     | 
| 
      
 150 
     | 
    
         
            +
             
     | 
| 
       146 
151 
     | 
    
         
             
            /**
         
     | 
| 
       147 
152 
     | 
    
         
             
             * This enum represents operations a profiler might be engaged in.
         
     | 
| 
       148 
153 
     | 
    
         
             
             * The idea is that if a crash consistently occurs while a particular operation
         
     | 
| 
         @@ -178,7 +183,8 @@ typedef enum ddog_prof_StacktraceCollection { 
     | 
|
| 
       178 
183 
     | 
    
         
             
               */
         
     | 
| 
       179 
184 
     | 
    
         
             
              DDOG_PROF_STACKTRACE_COLLECTION_DISABLED,
         
     | 
| 
       180 
185 
     | 
    
         
             
              DDOG_PROF_STACKTRACE_COLLECTION_WITHOUT_SYMBOLS,
         
     | 
| 
       181 
     | 
    
         
            -
               
     | 
| 
      
 186 
     | 
    
         
            +
              DDOG_PROF_STACKTRACE_COLLECTION_ENABLED_WITH_INPROCESS_SYMBOLS,
         
     | 
| 
      
 187 
     | 
    
         
            +
              DDOG_PROF_STACKTRACE_COLLECTION_ENABLED_WITH_SYMBOLS_IN_RECEIVER,
         
     | 
| 
       182 
188 
     | 
    
         
             
            } ddog_prof_StacktraceCollection;
         
     | 
| 
       183 
189 
     | 
    
         | 
| 
       184 
190 
     | 
    
         
             
            typedef struct ddog_CancellationToken ddog_CancellationToken;
         
     | 
| 
         @@ -255,10 +261,14 @@ typedef struct ddog_prof_CrashtrackerConfiguration { 
     | 
|
| 
       255 
261 
     | 
    
         
             
              bool create_alt_stack;
         
     | 
| 
       256 
262 
     | 
    
         
             
              /**
         
     | 
| 
       257 
263 
     | 
    
         
             
               * The endpoint to send the crash report to (can be a file://)
         
     | 
| 
      
 264 
     | 
    
         
            +
               *
         
     | 
| 
      
 265 
     | 
    
         
            +
               * If ProfilingEndpoint is left to a zero value (enum value for Agent + empty charslice),
         
     | 
| 
      
 266 
     | 
    
         
            +
               * the crashtracker will infer the agent host from env variables.
         
     | 
| 
       258 
267 
     | 
    
         
             
               */
         
     | 
| 
       259 
268 
     | 
    
         
             
              struct ddog_prof_Endpoint endpoint;
         
     | 
| 
       260 
269 
     | 
    
         
             
              enum ddog_prof_StacktraceCollection resolve_frames;
         
     | 
| 
       261 
270 
     | 
    
         
             
              uint64_t timeout_secs;
         
     | 
| 
      
 271 
     | 
    
         
            +
              bool wait_for_receiver;
         
     | 
| 
       262 
272 
     | 
    
         
             
            } ddog_prof_CrashtrackerConfiguration;
         
     | 
| 
       263 
273 
     | 
    
         | 
| 
       264 
274 
     | 
    
         
             
            typedef struct ddog_prof_EnvVar {
         
     | 
| 
         @@ -368,10 +378,36 @@ typedef struct ddog_prof_Slice_StackFrameNames { 
     | 
|
| 
       368 
378 
     | 
    
         
             
              uintptr_t len;
         
     | 
| 
       369 
379 
     | 
    
         
             
            } ddog_prof_Slice_StackFrameNames;
         
     | 
| 
       370 
380 
     | 
    
         | 
| 
      
 381 
     | 
    
         
            +
            typedef struct ddog_Slice_U8 {
         
     | 
| 
      
 382 
     | 
    
         
            +
              /**
         
     | 
| 
      
 383 
     | 
    
         
            +
               * Must be non-null and suitably aligned for the underlying type.
         
     | 
| 
      
 384 
     | 
    
         
            +
               */
         
     | 
| 
      
 385 
     | 
    
         
            +
              const uint8_t *ptr;
         
     | 
| 
      
 386 
     | 
    
         
            +
              /**
         
     | 
| 
      
 387 
     | 
    
         
            +
               * The number of elements (not bytes) that `.ptr` points to. Must be less
         
     | 
| 
      
 388 
     | 
    
         
            +
               * than or equal to [isize::MAX].
         
     | 
| 
      
 389 
     | 
    
         
            +
               */
         
     | 
| 
      
 390 
     | 
    
         
            +
              uintptr_t len;
         
     | 
| 
      
 391 
     | 
    
         
            +
            } ddog_Slice_U8;
         
     | 
| 
      
 392 
     | 
    
         
            +
             
     | 
| 
      
 393 
     | 
    
         
            +
            /**
         
     | 
| 
      
 394 
     | 
    
         
            +
             * Use to represent bytes -- does not need to be valid UTF-8.
         
     | 
| 
      
 395 
     | 
    
         
            +
             */
         
     | 
| 
      
 396 
     | 
    
         
            +
            typedef struct ddog_Slice_U8 ddog_ByteSlice;
         
     | 
| 
      
 397 
     | 
    
         
            +
             
     | 
| 
      
 398 
     | 
    
         
            +
            typedef struct ddog_prof_NormalizedAddress {
         
     | 
| 
      
 399 
     | 
    
         
            +
              uint64_t file_offset;
         
     | 
| 
      
 400 
     | 
    
         
            +
              ddog_ByteSlice build_id;
         
     | 
| 
      
 401 
     | 
    
         
            +
              ddog_CharSlice path;
         
     | 
| 
      
 402 
     | 
    
         
            +
              enum ddog_prof_NormalizedAddressTypes typ;
         
     | 
| 
      
 403 
     | 
    
         
            +
            } ddog_prof_NormalizedAddress;
         
     | 
| 
      
 404 
     | 
    
         
            +
             
     | 
| 
       371 
405 
     | 
    
         
             
            typedef struct ddog_prof_StackFrame {
         
     | 
| 
      
 406 
     | 
    
         
            +
              ddog_CharSlice build_id;
         
     | 
| 
       372 
407 
     | 
    
         
             
              uintptr_t ip;
         
     | 
| 
       373 
408 
     | 
    
         
             
              uintptr_t module_base_address;
         
     | 
| 
       374 
409 
     | 
    
         
             
              struct ddog_prof_Slice_StackFrameNames names;
         
     | 
| 
      
 410 
     | 
    
         
            +
              struct ddog_prof_NormalizedAddress normalized_ip;
         
     | 
| 
       375 
411 
     | 
    
         
             
              uintptr_t sp;
         
     | 
| 
       376 
412 
     | 
    
         
             
              uintptr_t symbol_address;
         
     | 
| 
       377 
413 
     | 
    
         
             
            } ddog_prof_StackFrame;
         
     | 
| 
         @@ -418,23 +454,6 @@ typedef struct ddog_prof_StringWrapperResult { 
     | 
|
| 
       418 
454 
     | 
    
         
             
              };
         
     | 
| 
       419 
455 
     | 
    
         
             
            } ddog_prof_StringWrapperResult;
         
     | 
| 
       420 
456 
     | 
    
         | 
| 
       421 
     | 
    
         
            -
            typedef struct ddog_Slice_U8 {
         
     | 
| 
       422 
     | 
    
         
            -
              /**
         
     | 
| 
       423 
     | 
    
         
            -
               * Must be non-null and suitably aligned for the underlying type.
         
     | 
| 
       424 
     | 
    
         
            -
               */
         
     | 
| 
       425 
     | 
    
         
            -
              const uint8_t *ptr;
         
     | 
| 
       426 
     | 
    
         
            -
              /**
         
     | 
| 
       427 
     | 
    
         
            -
               * The number of elements (not bytes) that `.ptr` points to. Must be less
         
     | 
| 
       428 
     | 
    
         
            -
               * than or equal to [isize::MAX].
         
     | 
| 
       429 
     | 
    
         
            -
               */
         
     | 
| 
       430 
     | 
    
         
            -
              uintptr_t len;
         
     | 
| 
       431 
     | 
    
         
            -
            } ddog_Slice_U8;
         
     | 
| 
       432 
     | 
    
         
            -
             
     | 
| 
       433 
     | 
    
         
            -
            /**
         
     | 
| 
       434 
     | 
    
         
            -
             * Use to represent bytes -- does not need to be valid UTF-8.
         
     | 
| 
       435 
     | 
    
         
            -
             */
         
     | 
| 
       436 
     | 
    
         
            -
            typedef struct ddog_Slice_U8 ddog_ByteSlice;
         
     | 
| 
       437 
     | 
    
         
            -
             
     | 
| 
       438 
457 
     | 
    
         
             
            typedef struct ddog_prof_Exporter_File {
         
     | 
| 
       439 
458 
     | 
    
         
             
              ddog_CharSlice name;
         
     | 
| 
       440 
459 
     | 
    
         
             
              ddog_ByteSlice file;
         
     | 
| 
         @@ -74,7 +74,23 @@ struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_update_on_fork(struct 
     | 
|
| 
       74 
74 
     | 
    
         
             
             * No safety concerns
         
     | 
| 
       75 
75 
     | 
    
         
             
             */
         
     | 
| 
       76 
76 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       77 
     | 
    
         
            -
            struct ddog_prof_CrashtrackerResult  
     | 
| 
      
 77 
     | 
    
         
            +
            struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_receiver_entry_point_stdin(void);
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
            /**
         
     | 
| 
      
 80 
     | 
    
         
            +
             * Receives data from a crash collector via a pipe on `stdin`, formats it into
         
     | 
| 
      
 81 
     | 
    
         
            +
             * `CrashInfo` json, and emits it to the endpoint/file defined in `config`.
         
     | 
| 
      
 82 
     | 
    
         
            +
             *
         
     | 
| 
      
 83 
     | 
    
         
            +
             * At a high-level, this exists because doing anything in a
         
     | 
| 
      
 84 
     | 
    
         
            +
             * signal handler is dangerous, so we fork a sidecar to do the stuff we aren't
         
     | 
| 
      
 85 
     | 
    
         
            +
             * allowed to do in the handler.
         
     | 
| 
      
 86 
     | 
    
         
            +
             *
         
     | 
| 
      
 87 
     | 
    
         
            +
             * See comments in [profiling/crashtracker/mod.rs] for a full architecture
         
     | 
| 
      
 88 
     | 
    
         
            +
             * description.
         
     | 
| 
      
 89 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 90 
     | 
    
         
            +
             * No safety concerns
         
     | 
| 
      
 91 
     | 
    
         
            +
             */
         
     | 
| 
      
 92 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 93 
     | 
    
         
            +
            struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_receiver_entry_point_unix_socket(ddog_CharSlice socket_path);
         
     | 
| 
       78 
94 
     | 
    
         | 
| 
       79 
95 
     | 
    
         
             
            /**
         
     | 
| 
       80 
96 
     | 
    
         
             
             * Initialize the crash-tracking infrastructure.
         
     | 
| 
         @@ -89,9 +105,9 @@ struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_receiver_entry_point( 
     | 
|
| 
       89 
105 
     | 
    
         
             
             *     unexpected crash-handling behaviour.
         
     | 
| 
       90 
106 
     | 
    
         
             
             */
         
     | 
| 
       91 
107 
     | 
    
         
             
            DDOG_CHECK_RETURN
         
     | 
| 
       92 
     | 
    
         
            -
            struct ddog_prof_CrashtrackerResult  
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
      
 108 
     | 
    
         
            +
            struct ddog_prof_CrashtrackerResult ddog_prof_Crashtracker_init_with_receiver(struct ddog_prof_CrashtrackerConfiguration config,
         
     | 
| 
      
 109 
     | 
    
         
            +
                                                                                          struct ddog_prof_CrashtrackerReceiverConfig receiver_config,
         
     | 
| 
      
 110 
     | 
    
         
            +
                                                                                          struct ddog_prof_CrashtrackerMetadata metadata);
         
     | 
| 
       95 
111 
     | 
    
         | 
| 
       96 
112 
     | 
    
         
             
            /**
         
     | 
| 
       97 
113 
     | 
    
         
             
             * Resets all counters to 0.
         
     | 
| 
         @@ -139,6 +155,17 @@ DDOG_CHECK_RETURN struct ddog_prof_CrashInfoNewResult ddog_crashinfo_new(void); 
     | 
|
| 
       139 
155 
     | 
    
         
             
             */
         
     | 
| 
       140 
156 
     | 
    
         
             
            void ddog_crashinfo_drop(struct ddog_prof_CrashInfo *crashinfo);
         
     | 
| 
       141 
157 
     | 
    
         | 
| 
      
 158 
     | 
    
         
            +
            /**
         
     | 
| 
      
 159 
     | 
    
         
            +
             * Best effort attempt to normalize all `ip` on the stacktrace.
         
     | 
| 
      
 160 
     | 
    
         
            +
             * `pid` must be the pid of the currently active process where the ips came from.
         
     | 
| 
      
 161 
     | 
    
         
            +
             *
         
     | 
| 
      
 162 
     | 
    
         
            +
             * # Safety
         
     | 
| 
      
 163 
     | 
    
         
            +
             * `crashinfo` must be a valid pointer to a `CrashInfo` object.
         
     | 
| 
      
 164 
     | 
    
         
            +
             */
         
     | 
| 
      
 165 
     | 
    
         
            +
            DDOG_CHECK_RETURN
         
     | 
| 
      
 166 
     | 
    
         
            +
            struct ddog_prof_CrashtrackerResult ddog_crashinfo_normalize_ips(struct ddog_prof_CrashInfo *crashinfo,
         
     | 
| 
      
 167 
     | 
    
         
            +
                                                                             uint32_t pid);
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
       142 
169 
     | 
    
         
             
            /**
         
     | 
| 
       143 
170 
     | 
    
         
             
             * Adds a "counter" variable, with the given value.  Useful for determining if
         
     | 
| 
       144 
171 
     | 
    
         
             
             * "interesting" operations were occurring when the crash did.
         
     |