libdatadog 14.1.0.1.0-x86_64-linux → 16.0.1.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-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.yml +1327 -260
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/bin/libdatadog-crashtracking-receiver +0 -0
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/blazesym.h +2 -2
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +408 -81
 - data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +811 -0
 - data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +123 -0
 - data/vendor/libdatadog-16.0.1/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/library-config.h +61 -0
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h +73 -0
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so +0 -0
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE-3rdparty.yml +1327 -260
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/bin/libdatadog-crashtracking-receiver +0 -0
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/blazesym.h +2 -2
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/common.h +408 -81
 - data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/crashtracker.h +811 -0
 - data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +123 -0
 - data/vendor/libdatadog-16.0.1/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/library-config.h +61 -0
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/profiling.h +73 -0
 - data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/libdatadog_profiling.so +0 -0
 - metadata +28 -24
 - data/vendor/libdatadog-14.1.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -418
 - data/vendor/libdatadog-14.1.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/crashtracker.h +0 -418
 - /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE +0 -0
 - /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -0
 - /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +0 -0
 - /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
 - /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/LICENSE +0 -0
 - /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -0
 - /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/telemetry.h +0 -0
 - /data/vendor/{libdatadog-14.1.0 → libdatadog-16.0.1}/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -0
 
| 
         Binary file 
     | 
| 
         @@ -1,10 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            // BSD-3-Clause License
         
     | 
| 
       2 
2 
     | 
    
         
             
            // Synchronized from blazesym repository
         
     | 
| 
       3 
     | 
    
         
            -
            // https://github.com/libbpf/blazesym/blob/capi-v0.1.0-rc. 
     | 
| 
      
 3 
     | 
    
         
            +
            // https://github.com/libbpf/blazesym/blob/capi-v0.1.0-rc.2/capi/include/blazesym.h
         
     | 
| 
       4 
4 
     | 
    
         
             
            /*
         
     | 
| 
       5 
5 
     | 
    
         
             
             * Please refer to the documentation hosted at
         
     | 
| 
       6 
6 
     | 
    
         
             
             *
         
     | 
| 
       7 
     | 
    
         
            -
             *   https://docs.rs/blazesym-c/0.1.0-rc. 
     | 
| 
      
 7 
     | 
    
         
            +
             *   https://docs.rs/blazesym-c/0.1.0-rc.2
         
     | 
| 
       8 
8 
     | 
    
         
             
             */
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         | 
| 
         @@ -458,6 +458,10 @@ typedef struct ddog_prof_Period { 
     | 
|
| 
       458 
458 
     | 
    
         
             
              int64_t value;
         
     | 
| 
       459 
459 
     | 
    
         
             
            } ddog_prof_Period;
         
     | 
| 
       460 
460 
     | 
    
         | 
| 
      
 461 
     | 
    
         
            +
            typedef struct ddog_prof_ManagedStringStorage {
         
     | 
| 
      
 462 
     | 
    
         
            +
              const void *inner;
         
     | 
| 
      
 463 
     | 
    
         
            +
            } ddog_prof_ManagedStringStorage;
         
     | 
| 
      
 464 
     | 
    
         
            +
             
     | 
| 
       461 
465 
     | 
    
         
             
            /**
         
     | 
| 
       462 
466 
     | 
    
         
             
             * A generic result type for when a profiling operation may fail, but there's
         
     | 
| 
       463 
467 
     | 
    
         
             
             * nothing to return in the case of success.
         
     | 
| 
         @@ -483,6 +487,10 @@ typedef struct ddog_prof_Profile_Result { 
     | 
|
| 
       483 
487 
     | 
    
         
             
              };
         
     | 
| 
       484 
488 
     | 
    
         
             
            } ddog_prof_Profile_Result;
         
     | 
| 
       485 
489 
     | 
    
         | 
| 
      
 490 
     | 
    
         
            +
            typedef struct ddog_prof_ManagedStringId {
         
     | 
| 
      
 491 
     | 
    
         
            +
              uint32_t value;
         
     | 
| 
      
 492 
     | 
    
         
            +
            } ddog_prof_ManagedStringId;
         
     | 
| 
      
 493 
     | 
    
         
            +
             
     | 
| 
       486 
494 
     | 
    
         
             
            typedef struct ddog_prof_Mapping {
         
     | 
| 
       487 
495 
     | 
    
         
             
              /**
         
     | 
| 
       488 
496 
     | 
    
         
             
               * Address at which the binary (or DLL) is loaded into memory.
         
     | 
| 
         @@ -502,12 +510,14 @@ typedef struct ddog_prof_Mapping { 
     | 
|
| 
       502 
510 
     | 
    
         
             
               * abstractions like "[vdso]".
         
     | 
| 
       503 
511 
     | 
    
         
             
               */
         
     | 
| 
       504 
512 
     | 
    
         
             
              ddog_CharSlice filename;
         
     | 
| 
      
 513 
     | 
    
         
            +
              struct ddog_prof_ManagedStringId filename_id;
         
     | 
| 
       505 
514 
     | 
    
         
             
              /**
         
     | 
| 
       506 
515 
     | 
    
         
             
               * A string that uniquely identifies a particular program version
         
     | 
| 
       507 
516 
     | 
    
         
             
               * with high probability. E.g., for binaries generated by GNU tools,
         
     | 
| 
       508 
517 
     | 
    
         
             
               * it could be the contents of the .note.gnu.build-id field.
         
     | 
| 
       509 
518 
     | 
    
         
             
               */
         
     | 
| 
       510 
519 
     | 
    
         
             
              ddog_CharSlice build_id;
         
     | 
| 
      
 520 
     | 
    
         
            +
              struct ddog_prof_ManagedStringId build_id_id;
         
     | 
| 
       511 
521 
     | 
    
         
             
            } ddog_prof_Mapping;
         
     | 
| 
       512 
522 
     | 
    
         | 
| 
       513 
523 
     | 
    
         
             
            typedef struct ddog_prof_Function {
         
     | 
| 
         @@ -515,15 +525,18 @@ typedef struct ddog_prof_Function { 
     | 
|
| 
       515 
525 
     | 
    
         
             
               * Name of the function, in human-readable form if available.
         
     | 
| 
       516 
526 
     | 
    
         
             
               */
         
     | 
| 
       517 
527 
     | 
    
         
             
              ddog_CharSlice name;
         
     | 
| 
      
 528 
     | 
    
         
            +
              struct ddog_prof_ManagedStringId name_id;
         
     | 
| 
       518 
529 
     | 
    
         
             
              /**
         
     | 
| 
       519 
530 
     | 
    
         
             
               * Name of the function, as identified by the system.
         
     | 
| 
       520 
531 
     | 
    
         
             
               * For instance, it can be a C++ mangled name.
         
     | 
| 
       521 
532 
     | 
    
         
             
               */
         
     | 
| 
       522 
533 
     | 
    
         
             
              ddog_CharSlice system_name;
         
     | 
| 
      
 534 
     | 
    
         
            +
              struct ddog_prof_ManagedStringId system_name_id;
         
     | 
| 
       523 
535 
     | 
    
         
             
              /**
         
     | 
| 
       524 
536 
     | 
    
         
             
               * Source file containing the function.
         
     | 
| 
       525 
537 
     | 
    
         
             
               */
         
     | 
| 
       526 
538 
     | 
    
         
             
              ddog_CharSlice filename;
         
     | 
| 
      
 539 
     | 
    
         
            +
              struct ddog_prof_ManagedStringId filename_id;
         
     | 
| 
       527 
540 
     | 
    
         
             
              /**
         
     | 
| 
       528 
541 
     | 
    
         
             
               * Line number in source file.
         
     | 
| 
       529 
542 
     | 
    
         
             
               */
         
     | 
| 
         @@ -577,10 +590,12 @@ typedef struct ddog_Slice_I64 { 
     | 
|
| 
       577 
590 
     | 
    
         | 
| 
       578 
591 
     | 
    
         
             
            typedef struct ddog_prof_Label {
         
     | 
| 
       579 
592 
     | 
    
         
             
              ddog_CharSlice key;
         
     | 
| 
      
 593 
     | 
    
         
            +
              struct ddog_prof_ManagedStringId key_id;
         
     | 
| 
       580 
594 
     | 
    
         
             
              /**
         
     | 
| 
       581 
595 
     | 
    
         
             
               * At most one of the following must be present
         
     | 
| 
       582 
596 
     | 
    
         
             
               */
         
     | 
| 
       583 
597 
     | 
    
         
             
              ddog_CharSlice str;
         
     | 
| 
      
 598 
     | 
    
         
            +
              struct ddog_prof_ManagedStringId str_id;
         
     | 
| 
       584 
599 
     | 
    
         
             
              int64_t num;
         
     | 
| 
       585 
600 
     | 
    
         
             
              /**
         
     | 
| 
       586 
601 
     | 
    
         
             
               * Should only be present when num is present.
         
     | 
| 
         @@ -592,6 +607,7 @@ typedef struct ddog_prof_Label { 
     | 
|
| 
       592 
607 
     | 
    
         
             
               * and apply appropriate unit conversions to these.
         
     | 
| 
       593 
608 
     | 
    
         
             
               */
         
     | 
| 
       594 
609 
     | 
    
         
             
              ddog_CharSlice num_unit;
         
     | 
| 
      
 610 
     | 
    
         
            +
              struct ddog_prof_ManagedStringId num_unit_id;
         
     | 
| 
       595 
611 
     | 
    
         
             
            } ddog_prof_Label;
         
     | 
| 
       596 
612 
     | 
    
         | 
| 
       597 
613 
     | 
    
         
             
            typedef struct ddog_prof_Slice_Label {
         
     | 
| 
         @@ -667,6 +683,85 @@ typedef struct ddog_prof_Profile_SerializeResult { 
     | 
|
| 
       667 
683 
     | 
    
         
             
              };
         
     | 
| 
       668 
684 
     | 
    
         
             
            } ddog_prof_Profile_SerializeResult;
         
     | 
| 
       669 
685 
     | 
    
         | 
| 
      
 686 
     | 
    
         
            +
            typedef enum ddog_prof_ManagedStringStorageNewResult_Tag {
         
     | 
| 
      
 687 
     | 
    
         
            +
              DDOG_PROF_MANAGED_STRING_STORAGE_NEW_RESULT_OK,
         
     | 
| 
      
 688 
     | 
    
         
            +
              DDOG_PROF_MANAGED_STRING_STORAGE_NEW_RESULT_ERR,
         
     | 
| 
      
 689 
     | 
    
         
            +
            } ddog_prof_ManagedStringStorageNewResult_Tag;
         
     | 
| 
      
 690 
     | 
    
         
            +
             
     | 
| 
      
 691 
     | 
    
         
            +
            typedef struct ddog_prof_ManagedStringStorageNewResult {
         
     | 
| 
      
 692 
     | 
    
         
            +
              ddog_prof_ManagedStringStorageNewResult_Tag tag;
         
     | 
| 
      
 693 
     | 
    
         
            +
              union {
         
     | 
| 
      
 694 
     | 
    
         
            +
                struct {
         
     | 
| 
      
 695 
     | 
    
         
            +
                  struct ddog_prof_ManagedStringStorage ok;
         
     | 
| 
      
 696 
     | 
    
         
            +
                };
         
     | 
| 
      
 697 
     | 
    
         
            +
                struct {
         
     | 
| 
      
 698 
     | 
    
         
            +
                  struct ddog_Error err;
         
     | 
| 
      
 699 
     | 
    
         
            +
                };
         
     | 
| 
      
 700 
     | 
    
         
            +
              };
         
     | 
| 
      
 701 
     | 
    
         
            +
            } ddog_prof_ManagedStringStorageNewResult;
         
     | 
| 
      
 702 
     | 
    
         
            +
             
     | 
| 
      
 703 
     | 
    
         
            +
            typedef enum ddog_prof_ManagedStringStorageInternResult_Tag {
         
     | 
| 
      
 704 
     | 
    
         
            +
              DDOG_PROF_MANAGED_STRING_STORAGE_INTERN_RESULT_OK,
         
     | 
| 
      
 705 
     | 
    
         
            +
              DDOG_PROF_MANAGED_STRING_STORAGE_INTERN_RESULT_ERR,
         
     | 
| 
      
 706 
     | 
    
         
            +
            } ddog_prof_ManagedStringStorageInternResult_Tag;
         
     | 
| 
      
 707 
     | 
    
         
            +
             
     | 
| 
      
 708 
     | 
    
         
            +
            typedef struct ddog_prof_ManagedStringStorageInternResult {
         
     | 
| 
      
 709 
     | 
    
         
            +
              ddog_prof_ManagedStringStorageInternResult_Tag tag;
         
     | 
| 
      
 710 
     | 
    
         
            +
              union {
         
     | 
| 
      
 711 
     | 
    
         
            +
                struct {
         
     | 
| 
      
 712 
     | 
    
         
            +
                  struct ddog_prof_ManagedStringId ok;
         
     | 
| 
      
 713 
     | 
    
         
            +
                };
         
     | 
| 
      
 714 
     | 
    
         
            +
                struct {
         
     | 
| 
      
 715 
     | 
    
         
            +
                  struct ddog_Error err;
         
     | 
| 
      
 716 
     | 
    
         
            +
                };
         
     | 
| 
      
 717 
     | 
    
         
            +
              };
         
     | 
| 
      
 718 
     | 
    
         
            +
            } ddog_prof_ManagedStringStorageInternResult;
         
     | 
| 
      
 719 
     | 
    
         
            +
             
     | 
| 
      
 720 
     | 
    
         
            +
            typedef struct ddog_prof_Slice_CharSlice {
         
     | 
| 
      
 721 
     | 
    
         
            +
              /**
         
     | 
| 
      
 722 
     | 
    
         
            +
               * Should be non-null and suitably aligned for the underlying type. It is
         
     | 
| 
      
 723 
     | 
    
         
            +
               * allowed but not recommended for the pointer to be null when the len is
         
     | 
| 
      
 724 
     | 
    
         
            +
               * zero.
         
     | 
| 
      
 725 
     | 
    
         
            +
               */
         
     | 
| 
      
 726 
     | 
    
         
            +
              const ddog_CharSlice *ptr;
         
     | 
| 
      
 727 
     | 
    
         
            +
              /**
         
     | 
| 
      
 728 
     | 
    
         
            +
               * The number of elements (not bytes) that `.ptr` points to. Must be less
         
     | 
| 
      
 729 
     | 
    
         
            +
               * than or equal to [isize::MAX].
         
     | 
| 
      
 730 
     | 
    
         
            +
               */
         
     | 
| 
      
 731 
     | 
    
         
            +
              uintptr_t len;
         
     | 
| 
      
 732 
     | 
    
         
            +
            } ddog_prof_Slice_CharSlice;
         
     | 
| 
      
 733 
     | 
    
         
            +
             
     | 
| 
      
 734 
     | 
    
         
            +
            typedef struct ddog_prof_Slice_ManagedStringId {
         
     | 
| 
      
 735 
     | 
    
         
            +
              /**
         
     | 
| 
      
 736 
     | 
    
         
            +
               * Should be non-null and suitably aligned for the underlying type. It is
         
     | 
| 
      
 737 
     | 
    
         
            +
               * allowed but not recommended for the pointer to be null when the len is
         
     | 
| 
      
 738 
     | 
    
         
            +
               * zero.
         
     | 
| 
      
 739 
     | 
    
         
            +
               */
         
     | 
| 
      
 740 
     | 
    
         
            +
              const struct ddog_prof_ManagedStringId *ptr;
         
     | 
| 
      
 741 
     | 
    
         
            +
              /**
         
     | 
| 
      
 742 
     | 
    
         
            +
               * The number of elements (not bytes) that `.ptr` points to. Must be less
         
     | 
| 
      
 743 
     | 
    
         
            +
               * than or equal to [isize::MAX].
         
     | 
| 
      
 744 
     | 
    
         
            +
               */
         
     | 
| 
      
 745 
     | 
    
         
            +
              uintptr_t len;
         
     | 
| 
      
 746 
     | 
    
         
            +
            } ddog_prof_Slice_ManagedStringId;
         
     | 
| 
      
 747 
     | 
    
         
            +
             
     | 
| 
      
 748 
     | 
    
         
            +
            typedef enum ddog_StringWrapperResult_Tag {
         
     | 
| 
      
 749 
     | 
    
         
            +
              DDOG_STRING_WRAPPER_RESULT_OK,
         
     | 
| 
      
 750 
     | 
    
         
            +
              DDOG_STRING_WRAPPER_RESULT_ERR,
         
     | 
| 
      
 751 
     | 
    
         
            +
            } ddog_StringWrapperResult_Tag;
         
     | 
| 
      
 752 
     | 
    
         
            +
             
     | 
| 
      
 753 
     | 
    
         
            +
            typedef struct ddog_StringWrapperResult {
         
     | 
| 
      
 754 
     | 
    
         
            +
              ddog_StringWrapperResult_Tag tag;
         
     | 
| 
      
 755 
     | 
    
         
            +
              union {
         
     | 
| 
      
 756 
     | 
    
         
            +
                struct {
         
     | 
| 
      
 757 
     | 
    
         
            +
                  struct ddog_StringWrapper ok;
         
     | 
| 
      
 758 
     | 
    
         
            +
                };
         
     | 
| 
      
 759 
     | 
    
         
            +
                struct {
         
     | 
| 
      
 760 
     | 
    
         
            +
                  struct ddog_Error err;
         
     | 
| 
      
 761 
     | 
    
         
            +
                };
         
     | 
| 
      
 762 
     | 
    
         
            +
              };
         
     | 
| 
      
 763 
     | 
    
         
            +
            } ddog_StringWrapperResult;
         
     | 
| 
      
 764 
     | 
    
         
            +
             
     | 
| 
       670 
765 
     | 
    
         
             
            typedef enum ddog_ConfigurationOrigin {
         
     | 
| 
       671 
766 
     | 
    
         
             
              DDOG_CONFIGURATION_ORIGIN_ENV_VAR,
         
     | 
| 
       672 
767 
     | 
    
         
             
              DDOG_CONFIGURATION_ORIGIN_CODE,
         
     | 
| 
         @@ -755,16 +850,29 @@ typedef struct ddog_ContextKey { 
     | 
|
| 
       755 
850 
     | 
    
         
             
              enum ddog_MetricType _1;
         
     | 
| 
       756 
851 
     | 
    
         
             
            } ddog_ContextKey;
         
     | 
| 
       757 
852 
     | 
    
         | 
| 
      
 853 
     | 
    
         
            +
            typedef enum ddog_crasht_BuildIdType {
         
     | 
| 
      
 854 
     | 
    
         
            +
              DDOG_CRASHT_BUILD_ID_TYPE_GNU,
         
     | 
| 
      
 855 
     | 
    
         
            +
              DDOG_CRASHT_BUILD_ID_TYPE_GO,
         
     | 
| 
      
 856 
     | 
    
         
            +
              DDOG_CRASHT_BUILD_ID_TYPE_PDB,
         
     | 
| 
      
 857 
     | 
    
         
            +
              DDOG_CRASHT_BUILD_ID_TYPE_SHA1,
         
     | 
| 
      
 858 
     | 
    
         
            +
            } ddog_crasht_BuildIdType;
         
     | 
| 
      
 859 
     | 
    
         
            +
             
     | 
| 
       758 
860 
     | 
    
         
             
            typedef enum ddog_crasht_DemangleOptions {
         
     | 
| 
       759 
861 
     | 
    
         
             
              DDOG_CRASHT_DEMANGLE_OPTIONS_COMPLETE,
         
     | 
| 
       760 
862 
     | 
    
         
             
              DDOG_CRASHT_DEMANGLE_OPTIONS_NAME_ONLY,
         
     | 
| 
       761 
863 
     | 
    
         
             
            } ddog_crasht_DemangleOptions;
         
     | 
| 
       762 
864 
     | 
    
         | 
| 
       763 
     | 
    
         
            -
            typedef enum  
     | 
| 
       764 
     | 
    
         
            -
               
     | 
| 
       765 
     | 
    
         
            -
               
     | 
| 
       766 
     | 
    
         
            -
               
     | 
| 
       767 
     | 
    
         
            -
            }  
     | 
| 
      
 865 
     | 
    
         
            +
            typedef enum ddog_crasht_ErrorKind {
         
     | 
| 
      
 866 
     | 
    
         
            +
              DDOG_CRASHT_ERROR_KIND_PANIC,
         
     | 
| 
      
 867 
     | 
    
         
            +
              DDOG_CRASHT_ERROR_KIND_UNHANDLED_EXCEPTION,
         
     | 
| 
      
 868 
     | 
    
         
            +
              DDOG_CRASHT_ERROR_KIND_UNIX_SIGNAL,
         
     | 
| 
      
 869 
     | 
    
         
            +
            } ddog_crasht_ErrorKind;
         
     | 
| 
      
 870 
     | 
    
         
            +
             
     | 
| 
      
 871 
     | 
    
         
            +
            typedef enum ddog_crasht_FileType {
         
     | 
| 
      
 872 
     | 
    
         
            +
              DDOG_CRASHT_FILE_TYPE_APK,
         
     | 
| 
      
 873 
     | 
    
         
            +
              DDOG_CRASHT_FILE_TYPE_ELF,
         
     | 
| 
      
 874 
     | 
    
         
            +
              DDOG_CRASHT_FILE_TYPE_PE,
         
     | 
| 
      
 875 
     | 
    
         
            +
            } ddog_crasht_FileType;
         
     | 
| 
       768 
876 
     | 
    
         | 
| 
       769 
877 
     | 
    
         
             
            /**
         
     | 
| 
       770 
878 
     | 
    
         
             
             * This enum represents operations a the tracked library might be engaged in.
         
     | 
| 
         @@ -789,6 +897,42 @@ typedef enum ddog_crasht_OpTypes { 
     | 
|
| 
       789 
897 
     | 
    
         
             
              DDOG_CRASHT_OP_TYPES_SIZE,
         
     | 
| 
       790 
898 
     | 
    
         
             
            } ddog_crasht_OpTypes;
         
     | 
| 
       791 
899 
     | 
    
         | 
| 
      
 900 
     | 
    
         
            +
            /**
         
     | 
| 
      
 901 
     | 
    
         
            +
             * See https://man7.org/linux/man-pages/man2/sigaction.2.html
         
     | 
| 
      
 902 
     | 
    
         
            +
             */
         
     | 
| 
      
 903 
     | 
    
         
            +
            typedef enum ddog_crasht_SiCodes {
         
     | 
| 
      
 904 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_BUS_ADRALN,
         
     | 
| 
      
 905 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_BUS_ADRERR,
         
     | 
| 
      
 906 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_BUS_MCEERR_AO,
         
     | 
| 
      
 907 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_BUS_MCEERR_AR,
         
     | 
| 
      
 908 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_BUS_OBJERR,
         
     | 
| 
      
 909 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SEGV_ACCERR,
         
     | 
| 
      
 910 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SEGV_BNDERR,
         
     | 
| 
      
 911 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SEGV_MAPERR,
         
     | 
| 
      
 912 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SEGV_PKUERR,
         
     | 
| 
      
 913 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SI_ASYNCIO,
         
     | 
| 
      
 914 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SI_KERNEL,
         
     | 
| 
      
 915 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SI_MESGQ,
         
     | 
| 
      
 916 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SI_QUEUE,
         
     | 
| 
      
 917 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SI_SIGIO,
         
     | 
| 
      
 918 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SI_TIMER,
         
     | 
| 
      
 919 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SI_TKILL,
         
     | 
| 
      
 920 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SI_USER,
         
     | 
| 
      
 921 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_SYS_SECCOMP,
         
     | 
| 
      
 922 
     | 
    
         
            +
              DDOG_CRASHT_SI_CODES_UNKNOWN,
         
     | 
| 
      
 923 
     | 
    
         
            +
            } ddog_crasht_SiCodes;
         
     | 
| 
      
 924 
     | 
    
         
            +
             
     | 
| 
      
 925 
     | 
    
         
            +
            /**
         
     | 
| 
      
 926 
     | 
    
         
            +
             * See https://man7.org/linux/man-pages/man7/signal.7.html
         
     | 
| 
      
 927 
     | 
    
         
            +
             */
         
     | 
| 
      
 928 
     | 
    
         
            +
            typedef enum ddog_crasht_SignalNames {
         
     | 
| 
      
 929 
     | 
    
         
            +
              DDOG_CRASHT_SIGNAL_NAMES_SIGABRT,
         
     | 
| 
      
 930 
     | 
    
         
            +
              DDOG_CRASHT_SIGNAL_NAMES_SIGBUS,
         
     | 
| 
      
 931 
     | 
    
         
            +
              DDOG_CRASHT_SIGNAL_NAMES_SIGSEGV,
         
     | 
| 
      
 932 
     | 
    
         
            +
              DDOG_CRASHT_SIGNAL_NAMES_SIGSYS,
         
     | 
| 
      
 933 
     | 
    
         
            +
              DDOG_CRASHT_SIGNAL_NAMES_UNKNOWN,
         
     | 
| 
      
 934 
     | 
    
         
            +
            } ddog_crasht_SignalNames;
         
     | 
| 
      
 935 
     | 
    
         
            +
             
     | 
| 
       792 
936 
     | 
    
         
             
            /**
         
     | 
| 
       793 
937 
     | 
    
         
             
             * Stacktrace collection occurs in the context of a crashing process.
         
     | 
| 
       794 
938 
     | 
    
         
             
             * If the stack is sufficiently corruputed, it is possible (but unlikely),
         
     | 
| 
         @@ -806,17 +950,25 @@ typedef enum ddog_crasht_StacktraceCollection { 
     | 
|
| 
       806 
950 
     | 
    
         
             
              DDOG_CRASHT_STACKTRACE_COLLECTION_ENABLED_WITH_SYMBOLS_IN_RECEIVER,
         
     | 
| 
       807 
951 
     | 
    
         
             
            } ddog_crasht_StacktraceCollection;
         
     | 
| 
       808 
952 
     | 
    
         | 
| 
      
 953 
     | 
    
         
            +
            typedef struct ddog_crasht_CrashInfo ddog_crasht_CrashInfo;
         
     | 
| 
      
 954 
     | 
    
         
            +
             
     | 
| 
      
 955 
     | 
    
         
            +
            typedef struct ddog_crasht_CrashInfoBuilder ddog_crasht_CrashInfoBuilder;
         
     | 
| 
      
 956 
     | 
    
         
            +
             
     | 
| 
      
 957 
     | 
    
         
            +
            typedef struct ddog_crasht_StackFrame ddog_crasht_StackFrame;
         
     | 
| 
      
 958 
     | 
    
         
            +
             
     | 
| 
      
 959 
     | 
    
         
            +
            typedef struct ddog_crasht_StackTrace ddog_crasht_StackTrace;
         
     | 
| 
      
 960 
     | 
    
         
            +
             
     | 
| 
       809 
961 
     | 
    
         
             
            /**
         
     | 
| 
       810 
     | 
    
         
            -
             * A generic result type for when  
     | 
| 
      
 962 
     | 
    
         
            +
             * A generic result type for when an operation may fail,
         
     | 
| 
       811 
963 
     | 
    
         
             
             * but there's nothing to return in the case of success.
         
     | 
| 
       812 
964 
     | 
    
         
             
             */
         
     | 
| 
       813 
     | 
    
         
            -
            typedef enum  
     | 
| 
       814 
     | 
    
         
            -
               
     | 
| 
       815 
     | 
    
         
            -
               
     | 
| 
       816 
     | 
    
         
            -
            }  
     | 
| 
      
 965 
     | 
    
         
            +
            typedef enum ddog_VoidResult_Tag {
         
     | 
| 
      
 966 
     | 
    
         
            +
              DDOG_VOID_RESULT_OK,
         
     | 
| 
      
 967 
     | 
    
         
            +
              DDOG_VOID_RESULT_ERR,
         
     | 
| 
      
 968 
     | 
    
         
            +
            } ddog_VoidResult_Tag;
         
     | 
| 
       817 
969 
     | 
    
         | 
| 
       818 
     | 
    
         
            -
            typedef struct  
     | 
| 
       819 
     | 
    
         
            -
               
     | 
| 
      
 970 
     | 
    
         
            +
            typedef struct ddog_VoidResult {
         
     | 
| 
      
 971 
     | 
    
         
            +
              ddog_VoidResult_Tag tag;
         
     | 
| 
       820 
972 
     | 
    
         
             
              union {
         
     | 
| 
       821 
973 
     | 
    
         
             
                struct {
         
     | 
| 
       822 
974 
     | 
    
         
             
                  /**
         
     | 
| 
         @@ -829,7 +981,7 @@ typedef struct ddog_crasht_Result { 
     | 
|
| 
       829 
981 
     | 
    
         
             
                  struct ddog_Error err;
         
     | 
| 
       830 
982 
     | 
    
         
             
                };
         
     | 
| 
       831 
983 
     | 
    
         
             
              };
         
     | 
| 
       832 
     | 
    
         
            -
            }  
     | 
| 
      
 984 
     | 
    
         
            +
            } ddog_VoidResult;
         
     | 
| 
       833 
985 
     | 
    
         | 
| 
       834 
986 
     | 
    
         
             
            typedef struct ddog_crasht_Slice_CharSlice {
         
     | 
| 
       835 
987 
     | 
    
         
             
              /**
         
     | 
| 
         @@ -861,6 +1013,10 @@ typedef struct ddog_crasht_Config { 
     | 
|
| 
       861 
1013 
     | 
    
         
             
               * 2^31-1). This is a limitation of the various interfaces used to guarantee the timeout.
         
     | 
| 
       862 
1014 
     | 
    
         
             
               */
         
     | 
| 
       863 
1015 
     | 
    
         
             
              uint32_t timeout_ms;
         
     | 
| 
      
 1016 
     | 
    
         
            +
              /**
         
     | 
| 
      
 1017 
     | 
    
         
            +
               * Optional filename for a unix domain socket if the receiver is used asynchonously
         
     | 
| 
      
 1018 
     | 
    
         
            +
               */
         
     | 
| 
      
 1019 
     | 
    
         
            +
              ddog_CharSlice optional_unix_socket_filename;
         
     | 
| 
       864 
1020 
     | 
    
         
             
            } ddog_crasht_Config;
         
     | 
| 
       865 
1021 
     | 
    
         | 
| 
       866 
1022 
     | 
    
         
             
            typedef struct ddog_crasht_EnvVar {
         
     | 
| 
         @@ -906,13 +1062,17 @@ typedef struct ddog_crasht_Metadata { 
     | 
|
| 
       906 
1062 
     | 
    
         
             
              const struct ddog_Vec_Tag *tags;
         
     | 
| 
       907 
1063 
     | 
    
         
             
            } ddog_crasht_Metadata;
         
     | 
| 
       908 
1064 
     | 
    
         | 
| 
       909 
     | 
    
         
            -
             
     | 
| 
       910 
     | 
    
         
            -
             
     | 
| 
       911 
     | 
    
         
            -
             
     | 
| 
       912 
     | 
    
         
            -
             
     | 
| 
      
 1065 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1066 
     | 
    
         
            +
             * A generic result type for when an operation may fail,
         
     | 
| 
      
 1067 
     | 
    
         
            +
             * or may return <T> in case of success.
         
     | 
| 
      
 1068 
     | 
    
         
            +
             */
         
     | 
| 
      
 1069 
     | 
    
         
            +
            typedef enum ddog_crasht_Result_Usize_Tag {
         
     | 
| 
      
 1070 
     | 
    
         
            +
              DDOG_CRASHT_RESULT_USIZE_OK_USIZE,
         
     | 
| 
      
 1071 
     | 
    
         
            +
              DDOG_CRASHT_RESULT_USIZE_ERR_USIZE,
         
     | 
| 
      
 1072 
     | 
    
         
            +
            } ddog_crasht_Result_Usize_Tag;
         
     | 
| 
       913 
1073 
     | 
    
         | 
| 
       914 
     | 
    
         
            -
            typedef struct  
     | 
| 
       915 
     | 
    
         
            -
               
     | 
| 
      
 1074 
     | 
    
         
            +
            typedef struct ddog_crasht_Result_Usize {
         
     | 
| 
      
 1075 
     | 
    
         
            +
              ddog_crasht_Result_Usize_Tag tag;
         
     | 
| 
       916 
1076 
     | 
    
         
             
              union {
         
     | 
| 
       917 
1077 
     | 
    
         
             
                struct {
         
     | 
| 
       918 
1078 
     | 
    
         
             
                  uintptr_t ok;
         
     | 
| 
         @@ -921,120 +1081,287 @@ typedef struct ddog_crasht_UsizeResult { 
     | 
|
| 
       921 
1081 
     | 
    
         
             
                  struct ddog_Error err;
         
     | 
| 
       922 
1082 
     | 
    
         
             
                };
         
     | 
| 
       923 
1083 
     | 
    
         
             
              };
         
     | 
| 
       924 
     | 
    
         
            -
            }  
     | 
| 
      
 1084 
     | 
    
         
            +
            } ddog_crasht_Result_Usize;
         
     | 
| 
       925 
1085 
     | 
    
         | 
| 
       926 
1086 
     | 
    
         
             
            /**
         
     | 
| 
       927 
     | 
    
         
            -
             * Represents  
     | 
| 
       928 
     | 
    
         
            -
             * the C API functions on this struct.
         
     | 
| 
      
 1087 
     | 
    
         
            +
             * Represents an object that should only be referred to by its handle.
         
     | 
| 
      
 1088 
     | 
    
         
            +
             * Do not access its member for any reason, only use the C API functions on this struct.
         
     | 
| 
       929 
1089 
     | 
    
         
             
             */
         
     | 
| 
       930 
     | 
    
         
            -
            typedef struct  
     | 
| 
      
 1090 
     | 
    
         
            +
            typedef struct ddog_crasht_Handle_CrashInfo {
         
     | 
| 
       931 
1091 
     | 
    
         
             
              struct ddog_crasht_CrashInfo *inner;
         
     | 
| 
       932 
     | 
    
         
            -
            }  
     | 
| 
      
 1092 
     | 
    
         
            +
            } ddog_crasht_Handle_CrashInfo;
         
     | 
| 
       933 
1093 
     | 
    
         | 
| 
       934 
1094 
     | 
    
         
             
            /**
         
     | 
| 
       935 
     | 
    
         
            -
             *  
     | 
| 
      
 1095 
     | 
    
         
            +
             * Represents an object that should only be referred to by its handle.
         
     | 
| 
      
 1096 
     | 
    
         
            +
             * Do not access its member for any reason, only use the C API functions on this struct.
         
     | 
| 
       936 
1097 
     | 
    
         
             
             */
         
     | 
| 
       937 
     | 
    
         
            -
            typedef  
     | 
| 
      
 1098 
     | 
    
         
            +
            typedef struct ddog_crasht_Handle_CrashInfoBuilder {
         
     | 
| 
      
 1099 
     | 
    
         
            +
              struct ddog_crasht_CrashInfoBuilder *inner;
         
     | 
| 
      
 1100 
     | 
    
         
            +
            } ddog_crasht_Handle_CrashInfoBuilder;
         
     | 
| 
      
 1101 
     | 
    
         
            +
             
     | 
| 
      
 1102 
     | 
    
         
            +
            typedef enum ddog_crasht_CrashInfo_NewResult_Tag {
         
     | 
| 
       938 
1103 
     | 
    
         
             
              DDOG_CRASHT_CRASH_INFO_NEW_RESULT_OK,
         
     | 
| 
       939 
1104 
     | 
    
         
             
              DDOG_CRASHT_CRASH_INFO_NEW_RESULT_ERR,
         
     | 
| 
       940 
     | 
    
         
            -
            }  
     | 
| 
      
 1105 
     | 
    
         
            +
            } ddog_crasht_CrashInfo_NewResult_Tag;
         
     | 
| 
       941 
1106 
     | 
    
         | 
| 
       942 
     | 
    
         
            -
            typedef struct  
     | 
| 
       943 
     | 
    
         
            -
               
     | 
| 
      
 1107 
     | 
    
         
            +
            typedef struct ddog_crasht_CrashInfo_NewResult {
         
     | 
| 
      
 1108 
     | 
    
         
            +
              ddog_crasht_CrashInfo_NewResult_Tag tag;
         
     | 
| 
       944 
1109 
     | 
    
         
             
              union {
         
     | 
| 
       945 
1110 
     | 
    
         
             
                struct {
         
     | 
| 
       946 
     | 
    
         
            -
                  struct  
     | 
| 
      
 1111 
     | 
    
         
            +
                  struct ddog_crasht_Handle_CrashInfo ok;
         
     | 
| 
       947 
1112 
     | 
    
         
             
                };
         
     | 
| 
       948 
1113 
     | 
    
         
             
                struct {
         
     | 
| 
       949 
1114 
     | 
    
         
             
                  struct ddog_Error err;
         
     | 
| 
       950 
1115 
     | 
    
         
             
                };
         
     | 
| 
       951 
1116 
     | 
    
         
             
              };
         
     | 
| 
       952 
     | 
    
         
            -
            }  
     | 
| 
      
 1117 
     | 
    
         
            +
            } ddog_crasht_CrashInfo_NewResult;
         
     | 
| 
      
 1118 
     | 
    
         
            +
             
     | 
| 
      
 1119 
     | 
    
         
            +
            typedef struct ddog_crasht_OsInfo {
         
     | 
| 
      
 1120 
     | 
    
         
            +
              ddog_CharSlice architecture;
         
     | 
| 
      
 1121 
     | 
    
         
            +
              ddog_CharSlice bitness;
         
     | 
| 
      
 1122 
     | 
    
         
            +
              ddog_CharSlice os_type;
         
     | 
| 
      
 1123 
     | 
    
         
            +
              ddog_CharSlice version;
         
     | 
| 
      
 1124 
     | 
    
         
            +
            } ddog_crasht_OsInfo;
         
     | 
| 
      
 1125 
     | 
    
         
            +
             
     | 
| 
      
 1126 
     | 
    
         
            +
            typedef struct ddog_crasht_ProcInfo {
         
     | 
| 
      
 1127 
     | 
    
         
            +
              uint32_t pid;
         
     | 
| 
      
 1128 
     | 
    
         
            +
            } ddog_crasht_ProcInfo;
         
     | 
| 
       953 
1129 
     | 
    
         | 
| 
       954 
1130 
     | 
    
         
             
            typedef struct ddog_crasht_SigInfo {
         
     | 
| 
       955 
     | 
    
         
            -
               
     | 
| 
       956 
     | 
    
         
            -
               
     | 
| 
      
 1131 
     | 
    
         
            +
              ddog_CharSlice addr;
         
     | 
| 
      
 1132 
     | 
    
         
            +
              int code;
         
     | 
| 
      
 1133 
     | 
    
         
            +
              enum ddog_crasht_SiCodes code_human_readable;
         
     | 
| 
      
 1134 
     | 
    
         
            +
              int signo;
         
     | 
| 
      
 1135 
     | 
    
         
            +
              enum ddog_crasht_SignalNames signo_human_readable;
         
     | 
| 
       957 
1136 
     | 
    
         
             
            } ddog_crasht_SigInfo;
         
     | 
| 
       958 
1137 
     | 
    
         | 
| 
       959 
     | 
    
         
            -
            typedef struct  
     | 
| 
       960 
     | 
    
         
            -
               
     | 
| 
       961 
     | 
    
         
            -
              ddog_CharSlice  
     | 
| 
       962 
     | 
    
         
            -
             
     | 
| 
      
 1138 
     | 
    
         
            +
            typedef struct ddog_crasht_Span {
         
     | 
| 
      
 1139 
     | 
    
         
            +
              ddog_CharSlice id;
         
     | 
| 
      
 1140 
     | 
    
         
            +
              ddog_CharSlice thread_name;
         
     | 
| 
      
 1141 
     | 
    
         
            +
            } ddog_crasht_Span;
         
     | 
| 
      
 1142 
     | 
    
         
            +
             
     | 
| 
      
 1143 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1144 
     | 
    
         
            +
             * Represents an object that should only be referred to by its handle.
         
     | 
| 
      
 1145 
     | 
    
         
            +
             * Do not access its member for any reason, only use the C API functions on this struct.
         
     | 
| 
      
 1146 
     | 
    
         
            +
             */
         
     | 
| 
      
 1147 
     | 
    
         
            +
            typedef struct ddog_crasht_Handle_StackTrace {
         
     | 
| 
      
 1148 
     | 
    
         
            +
              struct ddog_crasht_StackTrace *inner;
         
     | 
| 
      
 1149 
     | 
    
         
            +
            } ddog_crasht_Handle_StackTrace;
         
     | 
| 
      
 1150 
     | 
    
         
            +
             
     | 
| 
      
 1151 
     | 
    
         
            +
            typedef struct ddog_crasht_ThreadData {
         
     | 
| 
      
 1152 
     | 
    
         
            +
              bool crashed;
         
     | 
| 
       963 
1153 
     | 
    
         
             
              ddog_CharSlice name;
         
     | 
| 
       964 
     | 
    
         
            -
             
     | 
| 
      
 1154 
     | 
    
         
            +
              struct ddog_crasht_Handle_StackTrace stack;
         
     | 
| 
      
 1155 
     | 
    
         
            +
              ddog_CharSlice state;
         
     | 
| 
      
 1156 
     | 
    
         
            +
            } ddog_crasht_ThreadData;
         
     | 
| 
      
 1157 
     | 
    
         
            +
             
     | 
| 
      
 1158 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1159 
     | 
    
         
            +
             * Represents an object that should only be referred to by its handle.
         
     | 
| 
      
 1160 
     | 
    
         
            +
             * Do not access its member for any reason, only use the C API functions on this struct.
         
     | 
| 
      
 1161 
     | 
    
         
            +
             */
         
     | 
| 
      
 1162 
     | 
    
         
            +
            typedef struct ddog_crasht_Handle_StackFrame {
         
     | 
| 
      
 1163 
     | 
    
         
            +
              struct ddog_crasht_StackFrame *inner;
         
     | 
| 
      
 1164 
     | 
    
         
            +
            } ddog_crasht_Handle_StackFrame;
         
     | 
| 
      
 1165 
     | 
    
         
            +
             
     | 
| 
      
 1166 
     | 
    
         
            +
            typedef enum ddog_crasht_StackFrame_NewResult_Tag {
         
     | 
| 
      
 1167 
     | 
    
         
            +
              DDOG_CRASHT_STACK_FRAME_NEW_RESULT_OK,
         
     | 
| 
      
 1168 
     | 
    
         
            +
              DDOG_CRASHT_STACK_FRAME_NEW_RESULT_ERR,
         
     | 
| 
      
 1169 
     | 
    
         
            +
            } ddog_crasht_StackFrame_NewResult_Tag;
         
     | 
| 
       965 
1170 
     | 
    
         | 
| 
       966 
     | 
    
         
            -
            typedef struct  
     | 
| 
      
 1171 
     | 
    
         
            +
            typedef struct ddog_crasht_StackFrame_NewResult {
         
     | 
| 
      
 1172 
     | 
    
         
            +
              ddog_crasht_StackFrame_NewResult_Tag tag;
         
     | 
| 
      
 1173 
     | 
    
         
            +
              union {
         
     | 
| 
      
 1174 
     | 
    
         
            +
                struct {
         
     | 
| 
      
 1175 
     | 
    
         
            +
                  struct ddog_crasht_Handle_StackFrame ok;
         
     | 
| 
      
 1176 
     | 
    
         
            +
                };
         
     | 
| 
      
 1177 
     | 
    
         
            +
                struct {
         
     | 
| 
      
 1178 
     | 
    
         
            +
                  struct ddog_Error err;
         
     | 
| 
      
 1179 
     | 
    
         
            +
                };
         
     | 
| 
      
 1180 
     | 
    
         
            +
              };
         
     | 
| 
      
 1181 
     | 
    
         
            +
            } ddog_crasht_StackFrame_NewResult;
         
     | 
| 
      
 1182 
     | 
    
         
            +
             
     | 
| 
      
 1183 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1184 
     | 
    
         
            +
             * Represent error codes that `Error` struct can hold
         
     | 
| 
      
 1185 
     | 
    
         
            +
             */
         
     | 
| 
      
 1186 
     | 
    
         
            +
            typedef enum ddog_TraceExporterErrorCode {
         
     | 
| 
      
 1187 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_ADDRESS_IN_USE,
         
     | 
| 
      
 1188 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_CONNECTION_ABORTED,
         
     | 
| 
      
 1189 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_CONNECTION_REFUSED,
         
     | 
| 
      
 1190 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_CONNECTION_RESET,
         
     | 
| 
      
 1191 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_BODY_FORMAT,
         
     | 
| 
      
 1192 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_BODY_TOO_LONG,
         
     | 
| 
      
 1193 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_CLIENT,
         
     | 
| 
      
 1194 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_EMPTY_BODY,
         
     | 
| 
      
 1195 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_PARSE,
         
     | 
| 
      
 1196 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_SERVER,
         
     | 
| 
      
 1197 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_UNKNOWN,
         
     | 
| 
      
 1198 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_HTTP_WRONG_STATUS,
         
     | 
| 
      
 1199 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_INVALID_ARGUMENT,
         
     | 
| 
      
 1200 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_INVALID_DATA,
         
     | 
| 
      
 1201 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_INVALID_INPUT,
         
     | 
| 
      
 1202 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_INVALID_URL,
         
     | 
| 
      
 1203 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_IO_ERROR,
         
     | 
| 
      
 1204 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_NETWORK_UNKNOWN,
         
     | 
| 
      
 1205 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_SERDE,
         
     | 
| 
      
 1206 
     | 
    
         
            +
              DDOG_TRACE_EXPORTER_ERROR_CODE_TIMED_OUT,
         
     | 
| 
      
 1207 
     | 
    
         
            +
            } ddog_TraceExporterErrorCode;
         
     | 
| 
      
 1208 
     | 
    
         
            +
             
     | 
| 
      
 1209 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1210 
     | 
    
         
            +
             * The TraceExporter ingest traces from the tracers serialized as messagepack and forward them to
         
     | 
| 
      
 1211 
     | 
    
         
            +
             * the agent while applying some transformation.
         
     | 
| 
      
 1212 
     | 
    
         
            +
             *
         
     | 
| 
      
 1213 
     | 
    
         
            +
             * # Proxy
         
     | 
| 
      
 1214 
     | 
    
         
            +
             * If the input format is set as `Proxy`, the exporter will forward traces to the agent without
         
     | 
| 
      
 1215 
     | 
    
         
            +
             * deserializing them.
         
     | 
| 
      
 1216 
     | 
    
         
            +
             *
         
     | 
| 
      
 1217 
     | 
    
         
            +
             * # Features
         
     | 
| 
      
 1218 
     | 
    
         
            +
             * When the input format is set to `V04` the TraceExporter will deserialize the traces and perform
         
     | 
| 
      
 1219 
     | 
    
         
            +
             * some operation before sending them to the agent. The available operations are described below.
         
     | 
| 
      
 1220 
     | 
    
         
            +
             *
         
     | 
| 
      
 1221 
     | 
    
         
            +
             * ## V07 Serialization
         
     | 
| 
      
 1222 
     | 
    
         
            +
             * The Trace exporter can serialize the traces to V07 before sending them to the agent.
         
     | 
| 
      
 1223 
     | 
    
         
            +
             *
         
     | 
| 
      
 1224 
     | 
    
         
            +
             * ## Stats computation
         
     | 
| 
      
 1225 
     | 
    
         
            +
             * The Trace Exporter can compute stats on traces. In this case the trace exporter will start
         
     | 
| 
      
 1226 
     | 
    
         
            +
             * another task to send stats when a time bucket expire. When this feature is enabled the
         
     | 
| 
      
 1227 
     | 
    
         
            +
             * TraceExporter drops all spans that may not be sampled by the agent.
         
     | 
| 
      
 1228 
     | 
    
         
            +
             */
         
     | 
| 
      
 1229 
     | 
    
         
            +
            typedef struct ddog_TraceExporter ddog_TraceExporter;
         
     | 
| 
      
 1230 
     | 
    
         
            +
             
     | 
| 
      
 1231 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1232 
     | 
    
         
            +
             * The TraceExporterConfig object will hold the configuration properties for the TraceExporter.
         
     | 
| 
      
 1233 
     | 
    
         
            +
             * Once the configuration is passed to the TraceExporter constructor the config is no longer
         
     | 
| 
      
 1234 
     | 
    
         
            +
             * needed by the handle and it can be freed.
         
     | 
| 
      
 1235 
     | 
    
         
            +
             */
         
     | 
| 
      
 1236 
     | 
    
         
            +
            typedef struct ddog_TraceExporterConfig ddog_TraceExporterConfig;
         
     | 
| 
      
 1237 
     | 
    
         
            +
             
     | 
| 
      
 1238 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1239 
     | 
    
         
            +
             * Stucture that contains error information that `TraceExporter` API can return.
         
     | 
| 
      
 1240 
     | 
    
         
            +
             */
         
     | 
| 
      
 1241 
     | 
    
         
            +
            typedef struct ddog_TraceExporterError {
         
     | 
| 
      
 1242 
     | 
    
         
            +
              enum ddog_TraceExporterErrorCode code;
         
     | 
| 
      
 1243 
     | 
    
         
            +
              char *msg;
         
     | 
| 
      
 1244 
     | 
    
         
            +
            } ddog_TraceExporterError;
         
     | 
| 
      
 1245 
     | 
    
         
            +
             
     | 
| 
      
 1246 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1247 
     | 
    
         
            +
             * `AgentResponse` structure holds agent response information upon successful request.
         
     | 
| 
      
 1248 
     | 
    
         
            +
             */
         
     | 
| 
      
 1249 
     | 
    
         
            +
            typedef struct ddog_AgentResponse {
         
     | 
| 
       967 
1250 
     | 
    
         
             
              /**
         
     | 
| 
       968 
     | 
    
         
            -
               *  
     | 
| 
       969 
     | 
    
         
            -
               * allowed but not recommended for the pointer to be null when the len is
         
     | 
| 
       970 
     | 
    
         
            -
               * zero.
         
     | 
| 
      
 1251 
     | 
    
         
            +
               * Sampling rate for the current service.
         
     | 
| 
       971 
1252 
     | 
    
         
             
               */
         
     | 
| 
       972 
     | 
    
         
            -
               
     | 
| 
      
 1253 
     | 
    
         
            +
              double rate;
         
     | 
| 
      
 1254 
     | 
    
         
            +
            } ddog_AgentResponse;
         
     | 
| 
      
 1255 
     | 
    
         
            +
             
     | 
| 
      
 1256 
     | 
    
         
            +
            typedef enum ddog_LibraryConfigName {
         
     | 
| 
      
 1257 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_APM_TRACING_ENABLED,
         
     | 
| 
      
 1258 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_RUNTIME_METRICS_ENABLED,
         
     | 
| 
      
 1259 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_LOGS_INJECTION,
         
     | 
| 
      
 1260 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_PROFILING_ENABLED,
         
     | 
| 
      
 1261 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_DATA_STREAMS_ENABLED,
         
     | 
| 
      
 1262 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_APPSEC_ENABLED,
         
     | 
| 
      
 1263 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_IAST_ENABLED,
         
     | 
| 
      
 1264 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_DYNAMIC_INSTRUMENTATION_ENABLED,
         
     | 
| 
      
 1265 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_DATA_JOBS_ENABLED,
         
     | 
| 
      
 1266 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_APPSEC_SCA_ENABLED,
         
     | 
| 
      
 1267 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_TRACE_DEBUG,
         
     | 
| 
      
 1268 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_SERVICE,
         
     | 
| 
      
 1269 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_ENV,
         
     | 
| 
      
 1270 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_NAME_DD_VERSION,
         
     | 
| 
      
 1271 
     | 
    
         
            +
            } ddog_LibraryConfigName;
         
     | 
| 
      
 1272 
     | 
    
         
            +
             
     | 
| 
      
 1273 
     | 
    
         
            +
            typedef enum ddog_LibraryConfigSource {
         
     | 
| 
      
 1274 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_SOURCE_LOCAL_STABLE_CONFIG = 0,
         
     | 
| 
      
 1275 
     | 
    
         
            +
              DDOG_LIBRARY_CONFIG_SOURCE_FLEET_STABLE_CONFIG = 1,
         
     | 
| 
      
 1276 
     | 
    
         
            +
            } ddog_LibraryConfigSource;
         
     | 
| 
      
 1277 
     | 
    
         
            +
             
     | 
| 
      
 1278 
     | 
    
         
            +
            typedef struct ddog_Configurator ddog_Configurator;
         
     | 
| 
      
 1279 
     | 
    
         
            +
             
     | 
| 
      
 1280 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1281 
     | 
    
         
            +
             * Ffi safe type representing a borrowed null-terminated C array
         
     | 
| 
      
 1282 
     | 
    
         
            +
             * Equivalent to a std::ffi::CStr
         
     | 
| 
      
 1283 
     | 
    
         
            +
             */
         
     | 
| 
      
 1284 
     | 
    
         
            +
            typedef struct ddog_CStr {
         
     | 
| 
       973 
1285 
     | 
    
         
             
              /**
         
     | 
| 
       974 
     | 
    
         
            -
               *  
     | 
| 
       975 
     | 
    
         
            -
               * than or equal to [isize::MAX].
         
     | 
| 
      
 1286 
     | 
    
         
            +
               * Null terminated char array
         
     | 
| 
       976 
1287 
     | 
    
         
             
               */
         
     | 
| 
       977 
     | 
    
         
            -
               
     | 
| 
       978 
     | 
    
         
            -
             
     | 
| 
       979 
     | 
    
         
            -
             
     | 
| 
       980 
     | 
    
         
            -
             
     | 
| 
       981 
     | 
    
         
            -
               
     | 
| 
       982 
     | 
    
         
            -
             
     | 
| 
       983 
     | 
    
         
            -
              uint64_t age;
         
     | 
| 
       984 
     | 
    
         
            -
              ddog_CharSlice path;
         
     | 
| 
       985 
     | 
    
         
            -
              enum ddog_crasht_NormalizedAddressTypes typ;
         
     | 
| 
       986 
     | 
    
         
            -
            } ddog_crasht_NormalizedAddress;
         
     | 
| 
      
 1288 
     | 
    
         
            +
              char *ptr;
         
     | 
| 
      
 1289 
     | 
    
         
            +
              /**
         
     | 
| 
      
 1290 
     | 
    
         
            +
               * Length of the array, not counting the null-terminator
         
     | 
| 
      
 1291 
     | 
    
         
            +
               */
         
     | 
| 
      
 1292 
     | 
    
         
            +
              uintptr_t length;
         
     | 
| 
      
 1293 
     | 
    
         
            +
            } ddog_CStr;
         
     | 
| 
       987 
1294 
     | 
    
         | 
| 
       988 
     | 
    
         
            -
            typedef struct  
     | 
| 
       989 
     | 
    
         
            -
              ddog_CharSlice build_id;
         
     | 
| 
       990 
     | 
    
         
            -
              uintptr_t ip;
         
     | 
| 
       991 
     | 
    
         
            -
              uintptr_t module_base_address;
         
     | 
| 
       992 
     | 
    
         
            -
              struct ddog_crasht_Slice_StackFrameNames names;
         
     | 
| 
       993 
     | 
    
         
            -
              struct ddog_crasht_NormalizedAddress normalized_ip;
         
     | 
| 
       994 
     | 
    
         
            -
              uintptr_t sp;
         
     | 
| 
       995 
     | 
    
         
            -
              uintptr_t symbol_address;
         
     | 
| 
       996 
     | 
    
         
            -
            } ddog_crasht_StackFrame;
         
     | 
| 
       997 
     | 
    
         
            -
             
     | 
| 
       998 
     | 
    
         
            -
            typedef struct ddog_crasht_Slice_StackFrame {
         
     | 
| 
      
 1295 
     | 
    
         
            +
            typedef struct ddog_Slice_CharSlice {
         
     | 
| 
       999 
1296 
     | 
    
         
             
              /**
         
     | 
| 
       1000 
1297 
     | 
    
         
             
               * Should be non-null and suitably aligned for the underlying type. It is
         
     | 
| 
       1001 
1298 
     | 
    
         
             
               * allowed but not recommended for the pointer to be null when the len is
         
     | 
| 
       1002 
1299 
     | 
    
         
             
               * zero.
         
     | 
| 
       1003 
1300 
     | 
    
         
             
               */
         
     | 
| 
       1004 
     | 
    
         
            -
              const  
     | 
| 
      
 1301 
     | 
    
         
            +
              const ddog_CharSlice *ptr;
         
     | 
| 
       1005 
1302 
     | 
    
         
             
              /**
         
     | 
| 
       1006 
1303 
     | 
    
         
             
               * The number of elements (not bytes) that `.ptr` points to. Must be less
         
     | 
| 
       1007 
1304 
     | 
    
         
             
               * than or equal to [isize::MAX].
         
     | 
| 
       1008 
1305 
     | 
    
         
             
               */
         
     | 
| 
       1009 
1306 
     | 
    
         
             
              uintptr_t len;
         
     | 
| 
       1010 
     | 
    
         
            -
            }  
     | 
| 
      
 1307 
     | 
    
         
            +
            } ddog_Slice_CharSlice;
         
     | 
| 
      
 1308 
     | 
    
         
            +
             
     | 
| 
      
 1309 
     | 
    
         
            +
            typedef struct ddog_ProcessInfo {
         
     | 
| 
      
 1310 
     | 
    
         
            +
              struct ddog_Slice_CharSlice args;
         
     | 
| 
      
 1311 
     | 
    
         
            +
              struct ddog_Slice_CharSlice envp;
         
     | 
| 
      
 1312 
     | 
    
         
            +
              ddog_CharSlice language;
         
     | 
| 
      
 1313 
     | 
    
         
            +
            } ddog_ProcessInfo;
         
     | 
| 
       1011 
1314 
     | 
    
         | 
| 
       1012 
1315 
     | 
    
         
             
            /**
         
     | 
| 
       1013 
     | 
    
         
            -
             *  
     | 
| 
      
 1316 
     | 
    
         
            +
             * Ffi safe type representing an owned null-terminated C array
         
     | 
| 
      
 1317 
     | 
    
         
            +
             * Equivalent to a std::ffi::CString
         
     | 
| 
       1014 
1318 
     | 
    
         
             
             */
         
     | 
| 
       1015 
     | 
    
         
            -
            typedef struct  
     | 
| 
      
 1319 
     | 
    
         
            +
            typedef struct ddog_CString {
         
     | 
| 
       1016 
1320 
     | 
    
         
             
              /**
         
     | 
| 
       1017 
     | 
    
         
            -
               *  
     | 
| 
      
 1321 
     | 
    
         
            +
               * Null terminated char array
         
     | 
| 
       1018 
1322 
     | 
    
         
             
               */
         
     | 
| 
       1019 
     | 
    
         
            -
               
     | 
| 
       1020 
     | 
    
         
            -
             
     | 
| 
      
 1323 
     | 
    
         
            +
              char *ptr;
         
     | 
| 
      
 1324 
     | 
    
         
            +
              /**
         
     | 
| 
      
 1325 
     | 
    
         
            +
               * Length of the array, not counting the null-terminator
         
     | 
| 
      
 1326 
     | 
    
         
            +
               */
         
     | 
| 
      
 1327 
     | 
    
         
            +
              uintptr_t length;
         
     | 
| 
      
 1328 
     | 
    
         
            +
            } ddog_CString;
         
     | 
| 
       1021 
1329 
     | 
    
         | 
| 
       1022 
     | 
    
         
            -
            typedef  
     | 
| 
       1023 
     | 
    
         
            -
               
     | 
| 
       1024 
     | 
    
         
            -
               
     | 
| 
       1025 
     | 
    
         
            -
            }  
     | 
| 
      
 1330 
     | 
    
         
            +
            typedef struct ddog_LibraryConfig {
         
     | 
| 
      
 1331 
     | 
    
         
            +
              enum ddog_LibraryConfigName name;
         
     | 
| 
      
 1332 
     | 
    
         
            +
              struct ddog_CString value;
         
     | 
| 
      
 1333 
     | 
    
         
            +
            } ddog_LibraryConfig;
         
     | 
| 
      
 1334 
     | 
    
         
            +
             
     | 
| 
      
 1335 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1336 
     | 
    
         
            +
             * Holds the raw parts of a Rust Vec; it should only be created from Rust,
         
     | 
| 
      
 1337 
     | 
    
         
            +
             * never from C.
         
     | 
| 
      
 1338 
     | 
    
         
            +
             */
         
     | 
| 
      
 1339 
     | 
    
         
            +
            typedef struct ddog_Vec_LibraryConfig {
         
     | 
| 
      
 1340 
     | 
    
         
            +
              const struct ddog_LibraryConfig *ptr;
         
     | 
| 
      
 1341 
     | 
    
         
            +
              uintptr_t len;
         
     | 
| 
      
 1342 
     | 
    
         
            +
              uintptr_t capacity;
         
     | 
| 
      
 1343 
     | 
    
         
            +
            } ddog_Vec_LibraryConfig;
         
     | 
| 
      
 1344 
     | 
    
         
            +
             
     | 
| 
      
 1345 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1346 
     | 
    
         
            +
             * A generic result type for when an operation may fail,
         
     | 
| 
      
 1347 
     | 
    
         
            +
             * or may return <T> in case of success.
         
     | 
| 
      
 1348 
     | 
    
         
            +
             */
         
     | 
| 
      
 1349 
     | 
    
         
            +
            typedef enum ddog_Result_VecLibraryConfig_Tag {
         
     | 
| 
      
 1350 
     | 
    
         
            +
              DDOG_RESULT_VEC_LIBRARY_CONFIG_OK_VEC_LIBRARY_CONFIG,
         
     | 
| 
      
 1351 
     | 
    
         
            +
              DDOG_RESULT_VEC_LIBRARY_CONFIG_ERR_VEC_LIBRARY_CONFIG,
         
     | 
| 
      
 1352 
     | 
    
         
            +
            } ddog_Result_VecLibraryConfig_Tag;
         
     | 
| 
       1026 
1353 
     | 
    
         | 
| 
       1027 
     | 
    
         
            -
            typedef struct  
     | 
| 
       1028 
     | 
    
         
            -
               
     | 
| 
      
 1354 
     | 
    
         
            +
            typedef struct ddog_Result_VecLibraryConfig {
         
     | 
| 
      
 1355 
     | 
    
         
            +
              ddog_Result_VecLibraryConfig_Tag tag;
         
     | 
| 
       1029 
1356 
     | 
    
         
             
              union {
         
     | 
| 
       1030 
1357 
     | 
    
         
             
                struct {
         
     | 
| 
       1031 
     | 
    
         
            -
                  struct  
     | 
| 
      
 1358 
     | 
    
         
            +
                  struct ddog_Vec_LibraryConfig ok;
         
     | 
| 
       1032 
1359 
     | 
    
         
             
                };
         
     | 
| 
       1033 
1360 
     | 
    
         
             
                struct {
         
     | 
| 
       1034 
1361 
     | 
    
         
             
                  struct ddog_Error err;
         
     | 
| 
       1035 
1362 
     | 
    
         
             
                };
         
     | 
| 
       1036 
1363 
     | 
    
         
             
              };
         
     | 
| 
       1037 
     | 
    
         
            -
            }  
     | 
| 
      
 1364 
     | 
    
         
            +
            } ddog_Result_VecLibraryConfig;
         
     | 
| 
       1038 
1365 
     | 
    
         | 
| 
       1039 
1366 
     | 
    
         
             
            #ifdef __cplusplus
         
     | 
| 
       1040 
1367 
     | 
    
         
             
            extern "C" {
         
     |