libdatadog 33.0.0.1.0 → 40.0.0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/lib/libdatadog/version.rb +2 -2
  3. data/libdatadog.gemspec +43 -0
  4. data/rust-toolchain.toml +6 -0
  5. data/tasks/build.rake +36 -2
  6. data/tasks/gem.rake +245 -0
  7. data/tasks/release.rake +28 -0
  8. data/tasks/spec.rake +11 -0
  9. data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux}/LICENSE-3rdparty.csv +7 -1
  10. data/vendor/libdatadog-40.0.0/aarch64-linux/NOTICE +12 -0
  11. data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/bin/libdatadog-crashtracking-receiver +0 -0
  12. data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux}/include/datadog/common.h +321 -81
  13. data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/aarch64-linux}/include/datadog/crashtracker.h +19 -0
  14. data/vendor/libdatadog-40.0.0/aarch64-linux/include/datadog/data-pipeline.h +612 -0
  15. data/vendor/libdatadog-40.0.0/aarch64-linux/include/datadog/otel-thread-ctx.h +86 -0
  16. data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux}/include/datadog/profiling.h +37 -0
  17. data/vendor/libdatadog-40.0.0/aarch64-linux/include/datadog/shared-runtime.h +91 -0
  18. data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux}/include/datadog/telemetry.h +37 -19
  19. data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/lib/libdatadog_profiling.so +0 -0
  20. data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  21. data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux-musl}/LICENSE-3rdparty.csv +7 -1
  22. data/vendor/libdatadog-40.0.0/aarch64-linux-musl/NOTICE +12 -0
  23. data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/bin/libdatadog-crashtracking-receiver +0 -0
  24. data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/common.h +321 -81
  25. data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/crashtracker.h +19 -0
  26. data/vendor/libdatadog-40.0.0/aarch64-linux-musl/include/datadog/data-pipeline.h +612 -0
  27. data/vendor/libdatadog-40.0.0/aarch64-linux-musl/include/datadog/otel-thread-ctx.h +86 -0
  28. data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/profiling.h +37 -0
  29. data/vendor/libdatadog-40.0.0/aarch64-linux-musl/include/datadog/shared-runtime.h +91 -0
  30. data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/telemetry.h +37 -19
  31. data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/lib/libdatadog_profiling.so +0 -0
  32. data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  33. data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/LICENSE-3rdparty.csv +7 -1
  34. data/vendor/libdatadog-40.0.0/arm64-darwin/NOTICE +12 -0
  35. data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/bin/libdatadog-crashtracking-receiver +0 -0
  36. data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/arm64-darwin}/include/datadog/common.h +321 -81
  37. data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/arm64-darwin}/include/datadog/crashtracker.h +19 -0
  38. data/vendor/libdatadog-40.0.0/arm64-darwin/include/datadog/data-pipeline.h +612 -0
  39. data/vendor/libdatadog-40.0.0/arm64-darwin/include/datadog/otel-thread-ctx.h +86 -0
  40. data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/arm64-darwin}/include/datadog/profiling.h +37 -0
  41. data/vendor/libdatadog-40.0.0/arm64-darwin/include/datadog/shared-runtime.h +91 -0
  42. data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/arm64-darwin}/include/datadog/telemetry.h +37 -19
  43. data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/lib/libdatadog_profiling.dylib +0 -0
  44. data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  45. data/vendor/libdatadog-40.0.0/x86_64-linux/LICENSE-3rdparty.csv +554 -0
  46. data/vendor/libdatadog-40.0.0/x86_64-linux/NOTICE +12 -0
  47. data/vendor/{libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux}/bin/libdatadog-crashtracking-receiver +0 -0
  48. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/common.h +3115 -0
  49. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/crashtracker.h +1026 -0
  50. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/data-pipeline.h +612 -0
  51. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/otel-thread-ctx.h +86 -0
  52. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/profiling.h +1167 -0
  53. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/shared-runtime.h +91 -0
  54. data/vendor/libdatadog-40.0.0/x86_64-linux/include/datadog/telemetry.h +325 -0
  55. data/vendor/{libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux}/lib/libdatadog_profiling.so +0 -0
  56. data/vendor/libdatadog-40.0.0/x86_64-linux/lib/pkgconfig/datadog_profiling_with_rpath.pc +15 -0
  57. data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/LICENSE-3rdparty.csv +7 -1
  58. data/vendor/libdatadog-40.0.0/x86_64-linux-musl/NOTICE +12 -0
  59. data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/bin/libdatadog-crashtracking-receiver +0 -0
  60. data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/common.h +321 -81
  61. data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/crashtracker.h +19 -0
  62. data/vendor/libdatadog-40.0.0/x86_64-linux-musl/include/datadog/data-pipeline.h +612 -0
  63. data/vendor/libdatadog-40.0.0/x86_64-linux-musl/include/datadog/otel-thread-ctx.h +86 -0
  64. data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/profiling.h +37 -0
  65. data/vendor/libdatadog-40.0.0/x86_64-linux-musl/include/datadog/shared-runtime.h +91 -0
  66. data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/telemetry.h +37 -19
  67. data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/lib/libdatadog_profiling.so +0 -0
  68. data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/lib/pkgconfig/datadog_profiling_with_rpath.pc +1 -1
  69. metadata +97 -82
  70. data/vendor/libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/NOTICE +0 -4
  71. data/vendor/libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -216
  72. data/vendor/libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/NOTICE +0 -4
  73. data/vendor/libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -216
  74. data/vendor/libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin/NOTICE +0 -4
  75. data/vendor/libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin/include/datadog/data-pipeline.h +0 -216
  76. data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/LICENSE-3rdparty.csv +0 -548
  77. data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/NOTICE +0 -4
  78. data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/common.h +0 -2875
  79. data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/crashtracker.h +0 -1007
  80. data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/data-pipeline.h +0 -216
  81. data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/profiling.h +0 -1130
  82. data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/include/datadog/telemetry.h +0 -307
  83. data/vendor/libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu/lib/pkgconfig/datadog_profiling_with_rpath.pc +0 -15
  84. data/vendor/libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/NOTICE +0 -4
  85. data/vendor/libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl/include/datadog/data-pipeline.h +0 -216
  86. /data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/LICENSE +0 -0
  87. /data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/include/datadog/blazesym.h +0 -0
  88. /data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/include/datadog/ddsketch.h +0 -0
  89. /data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/include/datadog/ffe.h +0 -0
  90. /data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/include/datadog/library-config.h +0 -0
  91. /data/vendor/{libdatadog-33.0.0/aarch64-linux/libdatadog-aarch64-unknown-linux-gnu → libdatadog-40.0.0/aarch64-linux}/include/datadog/log.h +0 -0
  92. /data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/LICENSE +0 -0
  93. /data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/blazesym.h +0 -0
  94. /data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/ddsketch.h +0 -0
  95. /data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/ffe.h +0 -0
  96. /data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/library-config.h +0 -0
  97. /data/vendor/{libdatadog-33.0.0/aarch64-linux-musl/libdatadog-aarch64-alpine-linux-musl → libdatadog-40.0.0/aarch64-linux-musl}/include/datadog/log.h +0 -0
  98. /data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/LICENSE +0 -0
  99. /data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/include/datadog/blazesym.h +0 -0
  100. /data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/include/datadog/ddsketch.h +0 -0
  101. /data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/include/datadog/ffe.h +0 -0
  102. /data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/include/datadog/library-config.h +0 -0
  103. /data/vendor/{libdatadog-33.0.0/arm64-darwin/libdatadog-aarch64-apple-darwin → libdatadog-40.0.0/arm64-darwin}/include/datadog/log.h +0 -0
  104. /data/vendor/{libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux}/LICENSE +0 -0
  105. /data/vendor/{libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux}/include/datadog/blazesym.h +0 -0
  106. /data/vendor/{libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux}/include/datadog/ddsketch.h +0 -0
  107. /data/vendor/{libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux}/include/datadog/ffe.h +0 -0
  108. /data/vendor/{libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux}/include/datadog/library-config.h +0 -0
  109. /data/vendor/{libdatadog-33.0.0/x86_64-linux/libdatadog-x86_64-unknown-linux-gnu → libdatadog-40.0.0/x86_64-linux}/include/datadog/log.h +0 -0
  110. /data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/LICENSE +0 -0
  111. /data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/blazesym.h +0 -0
  112. /data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/ddsketch.h +0 -0
  113. /data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/ffe.h +0 -0
  114. /data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/library-config.h +0 -0
  115. /data/vendor/{libdatadog-33.0.0/x86_64-linux-musl/libdatadog-x86_64-alpine-linux-musl → libdatadog-40.0.0/x86_64-linux-musl}/include/datadog/log.h +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ae787649f269d3e1f8bcf40292418ea3670c7f383dc41fd639727b6775c9cfd2
4
- data.tar.gz: d17b4519ac50c44ccb13f8260dd0d837c992ebd9dcb759e0e4f3d0b84e0929a8
3
+ metadata.gz: c4fd0813b2598a196d03dbd4c0fb419b6199a7b1f8151d0438690da2a7e4f92f
4
+ data.tar.gz: a35852a85ee22b63c13744135bc0b2f3f927223616933d821efc8f616f1a61fd
5
5
  SHA512:
6
- metadata.gz: 89468c6b64dd75f9ab5c44bf9177ca508d962f555e4e096388ee4a187dd9a880baa81b18e392ed23e8402e48d1a09bf256e83b00d6995538d2d56ac155336bf5
7
- data.tar.gz: 570a8af64dd4052b7abec6ccb6c62b8a7219fa44f920ca3189157991bf04160c6579e43c6b32df27ad5a399e323e30d922c454aa5da9893ab57a1561c0e80cf5
6
+ metadata.gz: 490d1cd1939d533ad8957aec87a569ddaff65257f7645a6102f92fb5cece232726cbef66e0eccb98b03782a81fb4181ab4e1ff399e1bb88b64059834e2420ac1
7
+ data.tar.gz: 55f16bc62b11f8b75aeb74212505affefee3a3cdf58178de3bac8b1b4b3d912e90513225153bfbdde81b97b9452cb185c99f8ae1612d26cd927ce179ede06b8b
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Libdatadog
4
4
  # Current libdatadog version
5
- LIB_VERSION = "33.0.0"
5
+ LIB_VERSION = "40.0.0"
6
6
 
7
- GEM_MAJOR_VERSION = "1"
7
+ GEM_MAJOR_VERSION = "2"
8
8
  GEM_MINOR_VERSION = "0"
9
9
  GEM_PRERELEASE_VERSION = "" # remember to include dot prefix, if needed!
10
10
  private_constant :GEM_MAJOR_VERSION, :GEM_MINOR_VERSION, :GEM_PRERELEASE_VERSION
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("../lib", __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require "libdatadog/version"
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "libdatadog"
9
+ spec.version = Libdatadog::VERSION
10
+ spec.authors = ["Datadog, Inc."]
11
+ spec.email = ["dev@datadoghq.com"]
12
+
13
+ spec.summary = "Library of common code used by Datadog Continuous Profiler for Ruby"
14
+ spec.description =
15
+ "libdatadog is a Rust-based utility library for Datadog's ddtrace gem."
16
+ spec.homepage = "https://docs.datadoghq.com/tracing/"
17
+ spec.license = "Apache-2.0"
18
+ spec.required_ruby_version = ">= 2.5.0"
19
+
20
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
21
+
22
+ spec.metadata["homepage_uri"] = spec.homepage
23
+ spec.metadata["source_code_uri"] = "https://github.com/datadog/libdatadog-rb"
24
+
25
+ # Require releases on rubygems.org to be coming from multi-factor-auth-authenticated accounts
26
+ spec.metadata["rubygems_mfa_required"] = "true"
27
+
28
+ # Specify which files should be added to the gem when it is released.
29
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
30
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
31
+ `git ls-files -z`
32
+ .split("\x0")
33
+ .reject do |f|
34
+ (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features|publish)/|\.(?:git|travis|circleci)|appveyor)})
35
+ end
36
+ .reject do |f|
37
+ [".rspec", ".standard.yml", "Rakefile", "docker-compose.yml", "Gemfile", "README.md", "CONTRIBUTING.md", "LICENSE-3rdparty.yml"].include?(f)
38
+ end
39
+ .reject { |f| f.end_with?(".tar.gz") }
40
+ .reject { |f| f.end_with?(".nix") || f.start_with?("flake.") }
41
+ end
42
+ spec.require_paths = ["lib"]
43
+ end
@@ -0,0 +1,6 @@
1
+ [toolchain]
2
+ # Rust toolchain used to build libdatadog from source. Keep the channel in sync
3
+ # with the libdatadog `rust-toolchain.toml` for the LIB_VERSION being packaged
4
+ # and with the CI `RUST_VERSION` in .github/workflows/build.yml.
5
+ channel = "1.87.0"
6
+ profile = "minimal"
data/tasks/build.rake CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "etc"
4
+ require "fileutils"
4
5
  require "pathname"
5
6
 
6
7
  module BuildFromSource
@@ -10,8 +11,10 @@ module BuildFromSource
10
11
  RUST_TO_RUBY = {
11
12
  "x86_64-unknown-linux-gnu" => "x86_64-linux",
12
13
  "x86_64-unknown-linux-musl" => "x86_64-linux-musl",
14
+ "x86_64-alpine-linux-musl" => "x86_64-linux-musl",
13
15
  "aarch64-unknown-linux-gnu" => "aarch64-linux",
14
16
  "aarch64-unknown-linux-musl" => "aarch64-linux-musl",
17
+ "aarch64-alpine-linux-musl" => "aarch64-linux-musl",
15
18
  "aarch64-apple-darwin" => "arm64-darwin"
16
19
  }.freeze
17
20
 
@@ -78,7 +81,34 @@ module BuildFromSource
78
81
  end
79
82
  end
80
83
 
84
+ module Permissions
85
+ # Files that must be executable (0755) in the gem; everything else 0644.
86
+ # Note: .so for Linux, .dylib for macOS.
87
+ EXECUTABLE_FILES = %w[
88
+ libdatadog-crashtracking-receiver
89
+ libdatadog_profiling.so
90
+ libdatadog_profiling.dylib
91
+ ].freeze
92
+
93
+ # Normalise file permissions of the built artifacts before packaging.
94
+ def self.fix(directory)
95
+ Dir.glob("#{directory}/**/*").each do |path|
96
+ next unless File.file?(path)
97
+
98
+ filename = File.basename(path)
99
+ current = File.stat(path).mode & 0o777
100
+ expected = EXECUTABLE_FILES.include?(filename) ? 0o755 : 0o644
101
+ next if current == expected
102
+
103
+ puts "Fixing permissions for #{filename}: #{current.to_s(8)} -> #{expected.to_s(8)}"
104
+ FileUtils.chmod(expected, path)
105
+ end
106
+ end
107
+ end
108
+
81
109
  module Builder
110
+ REQUIRED_EXTRA_FEATURES = %w[otel-thread-ctx].freeze
111
+
82
112
  class << self
83
113
  # Build the cargo install command for the builder crate's `release` binary.
84
114
  #
@@ -97,7 +127,11 @@ module BuildFromSource
97
127
  ]
98
128
  end
99
129
 
100
- cmd += ["--no-default-features", "--features", features] if features
130
+ cmd += if features
131
+ ["--no-default-features", "--features", features]
132
+ else
133
+ ["--features", REQUIRED_EXTRA_FEATURES.join(",")]
134
+ end
101
135
 
102
136
  cmd
103
137
  end
@@ -158,7 +192,7 @@ namespace :libdatadog do
158
192
  system(env, paths.builder_bin.to_s, "--out", target_dir.to_s) || raise("Builder failed")
159
193
 
160
194
  # Fix file permissions to match expected values for packaging
161
- Helpers.fix_file_permissions(target_dir.to_s)
195
+ BuildFromSource::Permissions.fix(target_dir)
162
196
 
163
197
  puts "Done! Artifacts in #{target_dir}"
164
198
  end
data/tasks/gem.rake ADDED
@@ -0,0 +1,245 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pathname"
4
+ require "rubygems/package"
5
+ require "rubygems/package/tar_reader"
6
+ require "zlib"
7
+ require "stringio"
8
+
9
+ # Builds .gem packages from vendored libdatadog artifacts.
10
+ module GemPackaging
11
+ module Platform
12
+ # Mapping from gem platform names to the vendor platform directories
13
+ # included in that gem. We bundle glibc and musl variants together
14
+ # for Linux to work around https://github.com/rubygems/rubygems/issues/3174
15
+ GEM_TO_VENDOR = {
16
+ "x86_64-linux" => ["x86_64-linux", "x86_64-linux-musl"],
17
+ "aarch64-linux" => ["aarch64-linux", "aarch64-linux-musl"],
18
+ "arm64-darwin" => ["arm64-darwin"]
19
+ }.freeze
20
+
21
+ ALL_VENDOR = GEM_TO_VENDOR.values.flatten.freeze
22
+
23
+ class << self
24
+ # Resolve a RUBY_PLATFORM string (or gem platform name) to a known
25
+ # gem platform key.
26
+ #
27
+ # resolve("x86_64-linux") #=> "x86_64-linux"
28
+ # resolve("x86_64-linux-musl") #=> "x86_64-linux"
29
+ # resolve("arm64-darwin24") #=> "arm64-darwin"
30
+ def resolve(platform_string)
31
+ return platform_string if GEM_TO_VENDOR.key?(platform_string)
32
+
33
+ # musl suffix (x86_64-linux-musl -> x86_64-linux)
34
+ without_musl = platform_string.sub(/-musl\z/, "")
35
+ return without_musl if GEM_TO_VENDOR.key?(without_musl)
36
+
37
+ # macOS Darwin version suffix (arm64-darwin24 -> arm64-darwin)
38
+ GEM_TO_VENDOR.each_key do |gp|
39
+ return gp if platform_string.start_with?(gp)
40
+ end
41
+
42
+ raise "Could not resolve platform '#{platform_string}' to a supported gem platform. " \
43
+ "Supported: #{GEM_TO_VENDOR.keys.join(", ")}, ruby"
44
+ end
45
+
46
+ # Vendor platform directories needed for a given gem platform.
47
+ def vendor_platforms(gem_platform)
48
+ if gem_platform == "ruby"
49
+ ALL_VENDOR
50
+ else
51
+ GEM_TO_VENDOR.fetch(gem_platform) do
52
+ raise "Unknown gem platform: #{gem_platform}. " \
53
+ "Supported: #{GEM_TO_VENDOR.keys.join(", ")}, ruby"
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+
60
+ module Paths
61
+ class << self
62
+ # Project root
63
+ def root
64
+ @root ||= (Pathname.new(__dir__) / "..").expand_path
65
+ end
66
+
67
+ # Vendor tree for the current library version
68
+ def vendor
69
+ root / "vendor" / "libdatadog-#{Libdatadog::LIB_VERSION}"
70
+ end
71
+
72
+ # Vendor directory for a specific platform
73
+ def vendor_platform(name)
74
+ vendor / name
75
+ end
76
+
77
+ # Output directory for built gems
78
+ def pkg
79
+ root / "pkg"
80
+ end
81
+
82
+ # The gemspec file
83
+ def gemspec
84
+ root / "libdatadog.gemspec"
85
+ end
86
+
87
+ # Expected .gem filename for a given gem platform
88
+ def gem_file_name(gem_platform)
89
+ spec = Gem::Specification.new do |s|
90
+ s.name = "libdatadog"
91
+ s.version = Libdatadog::VERSION
92
+ s.platform = gem_platform unless gem_platform == "ruby"
93
+ end
94
+ spec.file_name
95
+ end
96
+
97
+ # Full path to the .gem for a given gem platform
98
+ def gem(gem_platform)
99
+ pkg / gem_file_name(gem_platform)
100
+ end
101
+ end
102
+ end
103
+
104
+ module Packager
105
+ # Files that must have executable permissions (0755); everything else gets 0644.
106
+ EXECUTABLE_FILES = %w[
107
+ libdatadog-crashtracking-receiver
108
+ libdatadog_profiling.so
109
+ libdatadog_profiling.dylib
110
+ ].freeze
111
+
112
+ # Vendored files excluded from gems (not needed at runtime).
113
+ EXCLUDED_FILES = %w[
114
+ datadog_profiling.pc
115
+ libdatadog_profiling.a
116
+ datadog_profiling-static.pc
117
+ libdatadog_profiling.debug
118
+ DatadogConfig.cmake
119
+ ].freeze
120
+
121
+ class << self
122
+ # Collect vendored files for one or more vendor platform directories,
123
+ # filtering out tarballs and files not needed at runtime.
124
+ # Returns paths relative to the project root (what gemspec.files expects).
125
+ def vendor_files(*vendor_platforms)
126
+ vendor_platforms.flat_map { |vp|
127
+ Paths.vendor_platform(vp).glob("**/*")
128
+ .select(&:file?)
129
+ .map { |p| p.relative_path_from(Paths.root).to_s }
130
+ .reject { |p| p.end_with?(".tar.gz") }
131
+ .reject { |p| EXCLUDED_FILES.include?(File.basename(p)) }
132
+ }
133
+ end
134
+
135
+ # Verify that required vendor directories exist and contain files.
136
+ def check_vendor!(*vendor_platforms)
137
+ missing = vendor_platforms.reject { |vp|
138
+ dir = Paths.vendor_platform(vp)
139
+ dir.exist? && dir.glob("**/*").any?(&:file?)
140
+ }
141
+
142
+ return if missing.empty?
143
+
144
+ raise "Missing vendor artifacts for: #{missing.join(", ")}. " \
145
+ "Expected under #{Paths.vendor}/. " \
146
+ "Run `rake libdatadog:build` or download vendor artifacts first."
147
+ end
148
+
149
+ # Build a single .gem into pkg/.
150
+ def build_gem(gem_platform:, vendor_platforms:)
151
+ check_vendor!(*vendor_platforms)
152
+
153
+ spec = eval(Paths.gemspec.read, nil, Paths.gemspec.to_s) # standard:disable Security/Eval
154
+ spec.files += vendor_files(*vendor_platforms)
155
+ spec.platform = gem_platform unless gem_platform == "ruby"
156
+
157
+ Paths.pkg.mkpath
158
+
159
+ puts "Building gem for platform=#{gem_platform} including: (this can take a while)"
160
+ pp spec.files.select { |f| f.start_with?("vendor/") }
161
+
162
+ Gem::Package.build(spec)
163
+ # build creates the .gem in cwd; move it into pkg/
164
+ gem_path = Paths.gem(gem_platform)
165
+ Pathname.new(spec.file_name).rename(gem_path)
166
+ puts("-" * 80)
167
+
168
+ gem_path
169
+ end
170
+
171
+ # Inspect the built .gem and raise on unexpected file permissions.
172
+ def validate_permissions!(gem_path)
173
+ puts "Validating permissions in #{gem_path}..."
174
+
175
+ Gem::Package::TarReader.new(gem_path.open("rb")) do |tar|
176
+ data_entry = tar.find { |entry| entry.header.name == "data.tar.gz" }
177
+ next unless data_entry
178
+
179
+ Gem::Package::TarReader.new(Zlib::GzipReader.new(StringIO.new(data_entry.read))) do |data_tar|
180
+ data_tar.each do |entry|
181
+ next if entry.directory?
182
+
183
+ filename = File.basename(entry.header.name)
184
+ actual = entry.header.mode.to_s(8)[-3..-1]
185
+ expected = EXECUTABLE_FILES.include?(filename) ? "755" : "644"
186
+
187
+ next if actual == expected
188
+
189
+ raise "Bad permissions for #{filename} in #{gem_path}: " \
190
+ "got #{actual}, expected #{expected}"
191
+ end
192
+ end
193
+ end
194
+
195
+ puts "Permissions OK."
196
+ end
197
+
198
+ # Package a single gem platform (a GEM_TO_VENDOR key, or "ruby").
199
+ def package(platform)
200
+ if Platform::GEM_TO_VENDOR.key?(platform) || platform == "ruby"
201
+ build_gem(
202
+ gem_platform: platform,
203
+ vendor_platforms: Platform.vendor_platforms(platform)
204
+ )
205
+ else
206
+ resolved = Platform.resolve(platform)
207
+ puts "Resolved '#{platform}' -> gem platform '#{resolved}'"
208
+ package(resolved)
209
+ end
210
+ end
211
+
212
+ # Package every supported binary gem platform plus the ruby fallback gem.
213
+ def package_all
214
+ Platform::GEM_TO_VENDOR.each_key { |gp| package(gp) }
215
+ package("ruby")
216
+ end
217
+ end
218
+ end
219
+ end
220
+
221
+ namespace :gem do
222
+ desc "Package gem(s). No argument: all platforms + ruby. " \
223
+ "With argument: a specific gem platform, 'ruby', or a RUBY_PLATFORM value.\n" \
224
+ " Examples: rake gem:package # all\n" \
225
+ " rake gem:package[x86_64-linux] # one binary platform\n" \
226
+ " rake gem:package[ruby] # ruby platform gem\n" \
227
+ " rake gem:package[arm64-darwin24] # resolved to arm64-darwin"
228
+ task :package, [:platform] do |_t, args|
229
+ platform = args[:platform]
230
+
231
+ if platform.nil? || platform.strip.empty?
232
+ GemPackaging::Packager.package_all
233
+ else
234
+ GemPackaging::Packager.package(platform)
235
+ end
236
+ end
237
+
238
+ desc "Validate file permissions in all gems under pkg/"
239
+ task :validate do
240
+ gems = GemPackaging::Paths.pkg.glob("*.gem")
241
+ raise "No .gem files found in #{GemPackaging::Paths.pkg}" if gems.empty?
242
+
243
+ gems.each { |gem_path| GemPackaging::Packager.validate_permissions!(gem_path) }
244
+ end
245
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # `rake build` (from bundler/gem_tasks) would build a binary-less gem straight
4
+ # from the gemspec. Real gems bundle the platform-specific libdatadog artifacts
5
+ # and are built via `rake gem:package`, so disable the default to avoid mistakes.
6
+ Rake::Task["build"].clear
7
+ task(:build) { raise "Build task is disabled, use gem:package instead" }
8
+
9
+ # `rake release` (from bundler/gem_tasks) tags and pushes; here releasing just
10
+ # pushes the already-built platform gems from pkg/ (the version tag lives in the
11
+ # libdatadog-rb repo, the binaries are built and packaged by CI).
12
+ Rake::Task["release"].clear
13
+ task(:release) { Rake::Task["push_to_rubygems"].invoke }
14
+
15
+ desc "Push all built gems in pkg/ to RubyGems.org"
16
+ task push_to_rubygems: [
17
+ :"release:guard_clean"
18
+ ] do
19
+ [
20
+ "gem push pkg/libdatadog-#{Libdatadog::VERSION}.gem",
21
+ "gem push pkg/libdatadog-#{Libdatadog::VERSION}-x86_64-linux.gem",
22
+ "gem push pkg/libdatadog-#{Libdatadog::VERSION}-aarch64-linux.gem",
23
+ "gem push pkg/libdatadog-#{Libdatadog::VERSION}-arm64-darwin.gem"
24
+ ].each do |command|
25
+ puts "Running: #{command}"
26
+ abort unless system(command)
27
+ end
28
+ end
data/tasks/spec.rake ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rspec/core/rake_task"
4
+ require "standard/rake" unless RUBY_VERSION < "2.6"
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task default: [
9
+ :spec,
10
+ (:standard unless RUBY_VERSION < "2.6")
11
+ ].compact
@@ -125,6 +125,7 @@ dispatch2,https://github.com/madsmtm/objc2,Zlib OR Apache-2.0 OR MIT,"Mads Marqu
125
125
  displaydoc,https://github.com/yaahc/displaydoc,MIT OR Apache-2.0,Jane Lusby <jlusby@yaah.dev>
126
126
  dyn-clone,https://github.com/dtolnay/dyn-clone,MIT OR Apache-2.0,David Tolnay <dtolnay@gmail.com>
127
127
  either,https://github.com/rayon-rs/either,MIT OR Apache-2.0,bluss
128
+ elf,https://github.com/cole14/rust-elf,MIT OR Apache-2.0,Christopher Cole <chris.cole.09@gmail.com>
128
129
  encoding_rs,https://github.com/hsivonen/encoding_rs,(Apache-2.0 OR MIT) AND BSD-3-Clause,Henri Sivonen <hsivonen@hsivonen.fi>
129
130
  enum-as-inner,https://github.com/bluejekyll/enum-as-inner,MIT OR Apache-2.0,Benjamin Fry <benjaminfry@me.com>
130
131
  equivalent,https://github.com/cuviper/equivalent,Apache-2.0 OR MIT,The equivalent Authors
@@ -219,7 +220,7 @@ js-sys,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/js-sys,MIT OR
219
220
  kernel32-sys,https://github.com/retep998/winapi-rs,MIT,Peter Atashian <retep998@gmail.com>
220
221
  kv-log-macro,https://github.com/yoshuawuyts/kv-log-macro,MIT OR Apache-2.0,Yoshua Wuyts <yoshuawuyts@gmail.com>
221
222
  lazy_static,https://github.com/rust-lang-nursery/lazy-static.rs,MIT OR Apache-2.0,Marvin Löbel <loebel.marvin@gmail.com>
222
- libc,https://github.com/rust-lang/libc,MIT OR Apache-2.0,The Rust Project Developers
223
+ libc,https://github.com/rust-lang/libc,MIT OR Apache-2.0,The libc Authors
223
224
  libdd-libunwind-sys,https://github.com/DataDog/libdatadog/tree/main/libdd-libunwind-sys,Apache-2.0,The libdd-libunwind-sys Authors
224
225
  libloading,https://github.com/nagisa/rust_libloading,ISC,Simonas Kazlauskas <libloading@kazlauskas.me>
225
226
  libredox,https://gitlab.redox-os.org/redox-os/libredox,MIT,4lDO2 <4lDO2@protonmail.com>
@@ -229,6 +230,7 @@ linux-raw-sys,https://github.com/sunfishcode/linux-raw-sys,Apache-2.0 WITH LLVM-
229
230
  litemap,https://github.com/unicode-org/icu4x,Unicode-3.0,The ICU4X Project Developers
230
231
  lock_api,https://github.com/Amanieu/parking_lot,MIT OR Apache-2.0,Amanieu d'Antras <amanieu@gmail.com>
231
232
  log,https://github.com/rust-lang/log,MIT OR Apache-2.0,The Rust Project Developers
233
+ lru,https://github.com/jeromefroe/lru-rs,MIT,Jerome Froelich <jeromefroelic@hotmail.com>
232
234
  manual_future,https://github.com/dmarcuse/manual_future,MIT,Dominic Marcuse <dominic@marcuse.us>
233
235
  matchers,https://github.com/hawkw/matchers,MIT,Eliza Weisman <eliza@buoyant.io>
234
236
  matchit,https://github.com/ibraheemdev/matchit,MIT AND BSD-3-Clause,Ibraheem Ahmed <ibraheem@ibraheem.ca>
@@ -304,6 +306,7 @@ proc-macro-crate,https://github.com/bkchr/proc-macro-crate,MIT OR Apache-2.0,Bas
304
306
  proc-macro-error,https://gitlab.com/CreepySkeleton/proc-macro-error,MIT OR Apache-2.0,CreepySkeleton <creepy-skeleton@yandex.ru>
305
307
  proc-macro-error-attr,https://gitlab.com/CreepySkeleton/proc-macro-error,MIT OR Apache-2.0,CreepySkeleton <creepy-skeleton@yandex.ru>
306
308
  proc-macro2,https://github.com/dtolnay/proc-macro2,MIT OR Apache-2.0,"David Tolnay <dtolnay@gmail.com>, Alex Crichton <alex@alexcrichton.com>"
309
+ proc-macro2-diagnostics,https://github.com/SergioBenitez/proc-macro2-diagnostics,MIT OR Apache-2.0,Sergio Benitez <sb@sergio.bz>
307
310
  prost,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert <dan@danburkert.com>, Lucio Franco <luciofranco14@gmail.com>, Casper Meijn <casper@meijn.net>, Tokio Contributors <team@tokio.rs>"
308
311
  prost-derive,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert <dan@danburkert.com>, Lucio Franco <luciofranco14@gmail.com>, Casper Meijn <casper@meijn.net>, Tokio Contributors <team@tokio.rs>"
309
312
  prost-types,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert <dan@danburkert.com>, Lucio Franco <luciofranco14@gmail.com>, Casper Meijn <casper@meijn.net>, Tokio Contributors <team@tokio.rs>"
@@ -372,6 +375,7 @@ semver,https://github.com/dtolnay/semver,MIT OR Apache-2.0,David Tolnay <dtolnay
372
375
  sendfd,https://github.com/standard-ai/sendfd,Apache-2.0 OR BSD-3-Clause,"Simonas Kazlauskas <simonas@standard.ai>, Bernardo Meurer <bernardo@standard.ai>, Léo Gaspard <leo@standard.ai>"
373
376
  serde,https://github.com/serde-rs/serde,MIT OR Apache-2.0,"Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>"
374
377
  serde-bool,https://github.com/x52dev/serde-utils,MIT OR Apache-2.0,Rob Ede <robjtede@icloud.com>
378
+ serde-transcode,https://github.com/sfackler/serde-transcode,MIT OR Apache-2.0,Steven Fackler <sfackler@palantir.com>
375
379
  serde_bytes,https://github.com/serde-rs/bytes,MIT OR Apache-2.0,David Tolnay <dtolnay@gmail.com>
376
380
  serde_core,https://github.com/serde-rs/serde,MIT OR Apache-2.0,"Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>"
377
381
  serde_derive,https://github.com/serde-rs/serde,MIT OR Apache-2.0,"Erick Tryzelaar <erick.tryzelaar@gmail.com>, David Tolnay <dtolnay@gmail.com>"
@@ -427,6 +431,7 @@ target-triple,https://github.com/dtolnay/target-triple,MIT OR Apache-2.0,David T
427
431
  tempfile,https://github.com/Stebalien/tempfile,MIT OR Apache-2.0,"Steven Allen <steven@stebalien.com>, The Rust Project Developers, Ashley Mannix <ashleymannix@live.com.au>, Jason White <me@jasonwhite.io>"
428
432
  termcolor,https://github.com/BurntSushi/termcolor,Unlicense OR MIT,Andrew Gallant <jamslam@gmail.com>
429
433
  test-case-macros,https://github.com/frondeus/test-case,MIT,"Marcin Sas-Szymanski <marcin.sas-szymanski@anixe.pl>, Wojciech Polak <frondeus@gmail.com>, Łukasz Biel <lukasz.p.biel@gmail.com>"
434
+ thin-vec,https://github.com/mozilla/thin-vec,MIT OR Apache-2.0,Aria Beingessner <a.beingessner@gmail.com>
430
435
  thiserror,https://github.com/dtolnay/thiserror,MIT OR Apache-2.0,David Tolnay <dtolnay@gmail.com>
431
436
  thiserror-impl,https://github.com/dtolnay/thiserror,MIT OR Apache-2.0,David Tolnay <dtolnay@gmail.com>
432
437
  thread_local,https://github.com/Amanieu/thread_local-rs,MIT OR Apache-2.0,Amanieu d'Antras <amanieu@gmail.com>
@@ -493,6 +498,7 @@ wasm-bindgen-macro,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/m
493
498
  wasm-bindgen-macro-support,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/macro-support,MIT OR Apache-2.0,The wasm-bindgen Developers
494
499
  wasm-bindgen-shared,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/shared,MIT OR Apache-2.0,The wasm-bindgen Developers
495
500
  web-sys,https://github.com/rustwasm/wasm-bindgen/tree/master/crates/web-sys,MIT OR Apache-2.0,The wasm-bindgen Developers
501
+ web-time,https://github.com/daxpedda/web-time,MIT OR Apache-2.0,The web-time Authors
496
502
  webpki-root-certs,https://github.com/rustls/webpki-roots,CDLA-Permissive-2.0,The webpki-root-certs Authors
497
503
  webpki-roots,https://github.com/rustls/webpki-roots,CDLA-Permissive-2.0,The webpki-roots Authors
498
504
  widestring,https://github.com/VoidStarKat/widestring-rs,MIT OR Apache-2.0,The widestring Authors
@@ -0,0 +1,12 @@
1
+ Datadog libdatadog
2
+ Copyright 2021-2022 Datadog, Inc.
3
+
4
+ This product includes software developed at Datadog (<https://www.datadoghq.com/>).
5
+
6
+ --
7
+
8
+ This product bundles a copy of the libbpf/usdt single-header USDT
9
+ library in `libdd-profiling-heap-sampler/vendor/usdt.h`. That file is licensed
10
+ under the BSD 2-Clause License, Copyright (c) 2024 Meta Platforms, Inc.
11
+ and affiliates. The SPDX identifier and copyright notice are retained
12
+ verbatim in the file header. Upstream: <https://github.com/libbpf/usdt>.