diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d8ab39e59..aee84d562 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -25,7 +25,7 @@ jobs: uses: ./.github/workflows/env - name: Initialize CodeQL - uses: github/codeql-action/init@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6 + uses: github/codeql-action/init@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1 with: languages: go @@ -33,7 +33,7 @@ jobs: run: make - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6 + uses: github/codeql-action/analyze@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1 with: category: "/language:Go" timeout-minutes: 10 diff --git a/.github/workflows/collector-tests.yml b/.github/workflows/collector-tests.yml index 2767a83ab..c230c5b54 100644 --- a/.github/workflows/collector-tests.yml +++ b/.github/workflows/collector-tests.yml @@ -30,7 +30,7 @@ jobs: with: go-version: stable - name: Cache coredump modules - uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tools/coredump/modulecache key: coredumps-collector-${{ hashFiles('tools/coredump/testdata/*/*.json') }} diff --git a/.github/workflows/ossf-scorecard.yml b/.github/workflows/ossf-scorecard.yml index b7af8fafc..b03b67ef4 100644 --- a/.github/workflows/ossf-scorecard.yml +++ b/.github/workflows/ossf-scorecard.yml @@ -42,6 +42,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard (optional). # Commenting out will disable upload of results to your repo's Code Scanning dashboard - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6 + uses: github/codeql-action/upload-sarif@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1 with: sarif_file: results.sarif diff --git a/.github/workflows/unit-test-on-pull-request.yml b/.github/workflows/unit-test-on-pull-request.yml index 8ee0cd777..2f0a6b7d8 100644 --- a/.github/workflows/unit-test-on-pull-request.yml +++ b/.github/workflows/unit-test-on-pull-request.yml @@ -78,7 +78,7 @@ jobs: - name: Set up environment uses: ./.github/workflows/env - name: Cache coredump modules - uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tools/coredump/modulecache key: coredumps-${{ matrix.target_arch }}-${{ hashFiles('tools/coredump/testdata/*/*.json') }} @@ -122,7 +122,7 @@ jobs: go-version-file: go.mod cache-dependency-path: go.sum - name: Cache coredump modules - uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4 with: path: tools/coredump/modulecache key: coredumps-arm64-${{ hashFiles('tools/coredump/testdata/*/*.json') }} @@ -183,7 +183,7 @@ jobs: go install github.com/florianl/bluebox@v0.0.1 sudo mv ~/go/bin/bluebox /usr/local/bin/. - name: Fetch integration test binaries - uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: { name: "integration-test-binaries-${{ matrix.target_arch }}" } - name: Fetch precompiled kernel run: | diff --git a/Cargo.lock b/Cargo.lock index acc63cb3a..39954e9a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -52,9 +52,9 @@ checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "cc" -version = "1.2.56" +version = "1.2.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" +checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" dependencies = [ "find-msvc-tools", "jobserver", @@ -204,10 +204,23 @@ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", - "r-efi", + "r-efi 5.3.0", "wasip2", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", +] + [[package]] name = "gimli" version = "0.33.0" @@ -239,6 +252,12 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "indexmap" version = "2.13.0" @@ -247,6 +266,8 @@ checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", "hashbrown 0.16.1", + "serde", + "serde_core", ] [[package]] @@ -269,9 +290,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jobserver" @@ -279,10 +300,16 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom", + "getrandom 0.3.4", "libc", ] +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" version = "0.2.183" @@ -349,9 +376,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.21.3" +version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "petgraph" @@ -455,6 +482,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "regex" version = "1.12.3" @@ -503,6 +536,12 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + [[package]] name = "serde" version = "1.0.228" @@ -632,7 +671,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom", + "getrandom 0.4.2", "once_cell", "rustix", "windows-sys", @@ -670,6 +709,12 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "version_check" version = "0.9.5" @@ -685,6 +730,49 @@ dependencies = [ "wit-bindgen", ] +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "windows-link" version = "0.2.1" @@ -705,6 +793,88 @@ name = "wit-bindgen" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] [[package]] name = "zmij" diff --git a/cmd/otelcol-ebpf-profiler/manifest.yaml b/cmd/otelcol-ebpf-profiler/manifest.yaml index 481534abf..32ecc7f27 100644 --- a/cmd/otelcol-ebpf-profiler/manifest.yaml +++ b/cmd/otelcol-ebpf-profiler/manifest.yaml @@ -13,19 +13,19 @@ dist: version: dev receivers: - - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.147.0 + - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.148.0 - gomod: go.opentelemetry.io/ebpf-profiler v0.0.202610 import: go.opentelemetry.io/ebpf-profiler/collector exporters: - - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.147.0 - - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.147.0 - - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.147.0 + - gomod: go.opentelemetry.io/collector/exporter/debugexporter v0.148.0 + - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.148.0 + - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.148.0 providers: - - gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.53.0 - - gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.53.0 - - gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.53.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/envprovider v1.54.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/fileprovider v1.54.0 + - gomod: go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.54.0 replaces: - go.opentelemetry.io/ebpf-profiler => ../../ diff --git a/collector/factory_linux.go b/collector/factory_linux.go index d669a2328..967c39f55 100644 --- a/collector/factory_linux.go +++ b/collector/factory_linux.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -//go:build linux +//go:build linux && (amd64 || arm64) package collector // import "go.opentelemetry.io/ebpf-profiler/collector" diff --git a/collector/factory_others.go b/collector/factory_others.go index 00b065cea..d9dadadfa 100644 --- a/collector/factory_others.go +++ b/collector/factory_others.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -//go:build !linux +//go:build !(linux && (amd64 || arm64)) package collector // import "go.opentelemetry.io/ebpf-profiler/collector" @@ -21,7 +21,7 @@ func BuildProfilesReceiver(options ...Option) xreceiver.CreateProfilesFunc { _ component.Config, _ xconsumer.Profiles, ) (xreceiver.Profiles, error) { - return nil, errors.New("profiling receiver is only supported on Linux") + return nil, errors.New("profiling receiver is only supported on Linux and arm64 or amd64") } } diff --git a/go.mod b/go.mod index ee4b6022a..2fd4dcabf 100644 --- a/go.mod +++ b/go.mod @@ -11,16 +11,16 @@ module go.opentelemetry.io/ebpf-profiler go 1.25.0 require ( - github.com/aws/aws-sdk-go-v2 v1.41.3 - github.com/aws/aws-sdk-go-v2/config v1.32.11 - github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 + github.com/aws/aws-sdk-go-v2 v1.41.4 + github.com/aws/aws-sdk-go-v2/config v1.32.12 + github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 github.com/cilium/ebpf v0.21.0 github.com/coreos/pkg v0.0.0-20240122114842-bbd7aa9bf6fb github.com/docker/go-connections v0.6.0 github.com/elastic/go-freelru v0.16.0 github.com/elastic/go-perf v0.0.0-20260224073651-af0ee0c731b7 github.com/google/uuid v1.6.0 - github.com/klauspost/compress v1.18.4 + github.com/klauspost/compress v1.18.5 github.com/mdlayher/kobject v0.0.0-20200520190114-19ca17470d7d github.com/minio/sha256-simd v1.0.1 github.com/open-telemetry/sig-profiling/tools/profcheck v0.0.0-20260303084341-52f633d434c9 @@ -29,49 +29,49 @@ require ( github.com/peterbourgon/ff/v3 v3.4.0 github.com/sirupsen/logrus v1.9.4 github.com/stretchr/testify v1.11.1 - github.com/testcontainers/testcontainers-go v0.40.0 + github.com/testcontainers/testcontainers-go v0.42.0 github.com/zeebo/xxh3 v1.1.0 - go.opentelemetry.io/collector/component v1.53.0 - go.opentelemetry.io/collector/confmap/xconfmap v0.147.0 - go.opentelemetry.io/collector/consumer/consumertest v0.147.0 - go.opentelemetry.io/collector/consumer/xconsumer v0.147.0 - go.opentelemetry.io/collector/pdata v1.53.0 - go.opentelemetry.io/collector/pdata/pprofile v0.147.0 - go.opentelemetry.io/collector/receiver v1.53.0 - go.opentelemetry.io/collector/receiver/receivertest v0.147.0 - go.opentelemetry.io/collector/receiver/xreceiver v0.147.0 + go.opentelemetry.io/collector/component v1.54.0 + go.opentelemetry.io/collector/confmap/xconfmap v0.148.0 + go.opentelemetry.io/collector/consumer/consumertest v0.148.0 + go.opentelemetry.io/collector/consumer/xconsumer v0.148.0 + go.opentelemetry.io/collector/pdata v1.54.0 + go.opentelemetry.io/collector/pdata/pprofile v0.148.0 + go.opentelemetry.io/collector/receiver v1.54.0 + go.opentelemetry.io/collector/receiver/receivertest v0.148.0 + go.opentelemetry.io/collector/receiver/xreceiver v0.148.0 go.opentelemetry.io/otel v1.42.0 go.opentelemetry.io/otel/metric v1.42.0 go.opentelemetry.io/proto/otlp/profiles/v1development v0.3.0 go.uber.org/zap/exp v0.3.0 golang.org/x/arch v0.25.0 - golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa - golang.org/x/mod v0.33.0 + golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 + golang.org/x/mod v0.34.0 golang.org/x/sync v0.20.0 golang.org/x/sys v0.42.0 - google.golang.org/grpc v1.79.2 + google.golang.org/grpc v1.79.3 google.golang.org/protobuf v1.36.11 ) require ( dario.cat/mergo v1.0.2 // indirect - github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect + github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.19.11 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 // indirect - github.com/aws/aws-sdk-go-v2/service/signin v1.0.7 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.30.12 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.16 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.41.8 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.19.12 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.0.8 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.30.13 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.41.9 // indirect github.com/aws/smithy-go v1.24.2 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -82,9 +82,8 @@ require ( github.com/cpuguy83/dockercfg v0.3.2 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/distribution/reference v0.6.0 // indirect - github.com/docker/docker v28.5.1+incompatible // indirect github.com/docker/go-units v0.5.0 // indirect - github.com/ebitengine/purego v0.8.4 // indirect + github.com/ebitengine/purego v0.10.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect @@ -100,7 +99,7 @@ require ( github.com/klauspost/cpuid/v2 v2.2.10 // indirect github.com/knadh/koanf/maps v0.1.2 // indirect github.com/knadh/koanf/providers/confmap v1.0.0 // indirect - github.com/knadh/koanf/v2 v2.3.2 // indirect + github.com/knadh/koanf/v2 v2.3.3 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/magiconair/properties v1.8.10 // indirect github.com/mdlayher/netlink v1.7.2 // indirect @@ -108,36 +107,35 @@ require ( github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect - github.com/moby/go-archive v0.1.0 // indirect - github.com/moby/patternmatcher v0.6.0 // indirect + github.com/moby/go-archive v0.2.0 // indirect + github.com/moby/moby/api v1.54.1 // indirect + github.com/moby/moby/client v0.4.0 // indirect + github.com/moby/patternmatcher v0.6.1 // indirect github.com/moby/sys/sequential v0.6.0 // indirect github.com/moby/sys/user v0.4.0 // indirect github.com/moby/sys/userns v0.1.0 // indirect - github.com/moby/term v0.5.0 // indirect + github.com/moby/term v0.5.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect - github.com/morikuni/aec v1.0.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect - github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect - github.com/shirou/gopsutil/v4 v4.25.6 // indirect - github.com/tklauser/go-sysconf v0.3.12 // indirect - github.com/tklauser/numcpus v0.6.1 // indirect + github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect + github.com/shirou/gopsutil/v4 v4.26.3 // indirect + github.com/tklauser/go-sysconf v0.3.16 // indirect + github.com/tklauser/numcpus v0.11.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/collector/component/componenttest v0.147.0 // indirect - go.opentelemetry.io/collector/confmap v1.53.0 // indirect - go.opentelemetry.io/collector/consumer v1.53.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.147.0 // indirect - go.opentelemetry.io/collector/featuregate v1.53.0 // indirect - go.opentelemetry.io/collector/internal/componentalias v0.147.0 // indirect - go.opentelemetry.io/collector/pipeline v1.53.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 // indirect - go.opentelemetry.io/otel/sdk v1.40.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.40.0 // indirect + go.opentelemetry.io/collector/component/componenttest v0.148.0 // indirect + go.opentelemetry.io/collector/confmap v1.54.0 // indirect + go.opentelemetry.io/collector/consumer v1.54.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.148.0 // indirect + go.opentelemetry.io/collector/featuregate v1.54.0 // indirect + go.opentelemetry.io/collector/internal/componentalias v0.148.0 // indirect + go.opentelemetry.io/collector/pipeline v1.54.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect + go.opentelemetry.io/otel/sdk v1.42.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.42.0 // indirect go.opentelemetry.io/otel/trace v1.42.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect diff --git a/go.sum b/go.sum index 5b0bd436c..2e738d4d5 100644 --- a/go.sum +++ b/go.sum @@ -2,46 +2,46 @@ dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/aws/aws-sdk-go-v2 v1.41.3 h1:4kQ/fa22KjDt13QCy1+bYADvdgcxpfH18f0zP542kZA= -github.com/aws/aws-sdk-go-v2 v1.41.3/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 h1:N4lRUXZpZ1KVEUn6hxtco/1d2lgYhNn1fHkkl8WhlyQ= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI= -github.com/aws/aws-sdk-go-v2/config v1.32.11 h1:ftxI5sgz8jZkckuUHXfC/wMUc8u3fG1vQS0plr2F2Zs= -github.com/aws/aws-sdk-go-v2/config v1.32.11/go.mod h1:twF11+6ps9aNRKEDimksp923o44w/Thk9+8YIlzWMmo= -github.com/aws/aws-sdk-go-v2/credentials v1.19.11 h1:NdV8cwCcAXrCWyxArt58BrvZJ9pZ9Fhf9w6Uh5W3Uyc= -github.com/aws/aws-sdk-go-v2/credentials v1.19.11/go.mod h1:30yY2zqkMPdrvxBqzI9xQCM+WrlrZKSOpSJEsylVU+8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19 h1:INUvJxmhdEbVulJYHI061k4TVuS3jzzthNvjqvVvTKM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19/go.mod h1:FpZN2QISLdEBWkayloda+sZjVJL+e9Gl0k1SyTgcswU= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 h1:/sECfyq2JTifMI2JPyZ4bdRN77zJmr6SrS1eL3augIA= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19/go.mod h1:dMf8A5oAqr9/oxOfLkC/c2LU/uMcALP0Rgn2BD5LWn0= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 h1:AWeJMk33GTBf6J20XJe6qZoRSJo0WfUhsMdUKhoODXE= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19/go.mod h1:+GWrYoaAsV7/4pNHpwh1kiNLXkKaSoppxQq9lbH8Ejw= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 h1:clHU5fm//kWS1C2HgtgWxfQbFbx4b6rx+5jzhgX9HrI= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5/go.mod h1:O3h0IK87yXci+kg6flUKzJnWeziQUKciKrLjcatSNcY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 h1:qi3e/dmpdONhj1RyIZdi6DKKpDXS5Lb8ftr3p7cyHJc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20/go.mod h1:V1K+TeJVD5JOk3D9e5tsX2KUdL7BlB+FV6cBhdobN8c= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 h1:XAq62tBTJP/85lFD5oqOOe7YYgWxY9LvWq8plyDvDVg= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 h1:BYf7XNsJMzl4mObARUBUib+j2tf0U//JAAtTnYqvqCw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11/go.mod h1:aEUS4WrNk/+FxkBZZa7tVgp4pGH+kFGW40Y8rCPqt5g= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 h1:X1Tow7suZk9UCJHE1Iw9GMZJJl0dAnKXXP1NaSDHwmw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19/go.mod h1:/rARO8psX+4sfjUQXp5LLifjUt8DuATZ31WptNJTyQA= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 h1:JnQeStZvPHFHeyky/7LbMlyQjUa+jIBj36OlWm0pzIk= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19/go.mod h1:HGyasyHvYdFQeJhvDHfH7HXkHh57htcJGKDZ+7z+I24= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 h1:4ExZyubQ6LQQVuF2Qp9OsfEvsTdAWh5Gfwf6PgIdLdk= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4/go.mod h1:NF3JcMGOiARAss1ld3WGORCw71+4ExDD2cbbdKS5PpA= -github.com/aws/aws-sdk-go-v2/service/signin v1.0.7 h1:Y2cAXlClHsXkkOvWZFXATr34b0hxxloeQu/pAZz2row= -github.com/aws/aws-sdk-go-v2/service/signin v1.0.7/go.mod h1:idzZ7gmDeqeNrSPkdbtMp9qWMgcBwykA7P7Rzh5DXVU= -github.com/aws/aws-sdk-go-v2/service/sso v1.30.12 h1:iSsvB9EtQ09YrsmIc44Heqlx5ByGErqhPK1ZQLppias= -github.com/aws/aws-sdk-go-v2/service/sso v1.30.12/go.mod h1:fEWYKTRGoZNl8tZ77i61/ccwOMJdGxwOhWCkp6TXAr0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.16 h1:EnUdUqRP1CNzt2DkV67tJx6XDN4xlfBFm+bzeNOQVb0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.16/go.mod h1:Jic/xv0Rq/pFNCh3WwpH4BEqdbSAl+IyHro8LbibHD8= -github.com/aws/aws-sdk-go-v2/service/sts v1.41.8 h1:XQTQTF75vnug2TXS8m7CVJfC2nniYPZnO1D4Np761Oo= -github.com/aws/aws-sdk-go-v2/service/sts v1.41.8/go.mod h1:Xgx+PR1NUOjNmQY+tRMnouRp83JRM8pRMw/vCaVhPkI= +github.com/aws/aws-sdk-go-v2 v1.41.4 h1:10f50G7WyU02T56ox1wWXq+zTX9I1zxG46HYuG1hH/k= +github.com/aws/aws-sdk-go-v2 v1.41.4/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 h1:3kGOqnh1pPeddVa/E37XNTaWJ8W6vrbYV9lJEkCnhuY= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI= +github.com/aws/aws-sdk-go-v2/config v1.32.12 h1:O3csC7HUGn2895eNrLytOJQdoL2xyJy0iYXhoZ1OmP0= +github.com/aws/aws-sdk-go-v2/config v1.32.12/go.mod h1:96zTvoOFR4FURjI+/5wY1vc1ABceROO4lWgWJuxgy0g= +github.com/aws/aws-sdk-go-v2/credentials v1.19.12 h1:oqtA6v+y5fZg//tcTWahyN9PEn5eDU/Wpvc2+kJ4aY8= +github.com/aws/aws-sdk-go-v2/credentials v1.19.12/go.mod h1:U3R1RtSHx6NB0DvEQFGyf/0sbrpJrluENHdPy1j/3TE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 h1:zOgq3uezl5nznfoK3ODuqbhVg1JzAGDUhXOsU0IDCAo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20/go.mod h1:z/MVwUARehy6GAg/yQ1GO2IMl0k++cu1ohP9zo887wE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 h1:CNXO7mvgThFGqOFgbNAP2nol2qAWBOGfqR/7tQlvLmc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20/go.mod h1:oydPDJKcfMhgfcgBUZaG+toBbwy8yPWubJXBVERtI4o= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 h1:tN6W/hg+pkM+tf9XDkWUbDEjGLb+raoBMFsTodcoYKw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20/go.mod h1:YJ898MhD067hSHA6xYCx5ts/jEd8BSOLtQDL3iZsvbc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6 h1:qYQ4pzQ2Oz6WpQ8T3HvGHnZydA72MnLuFK9tJwmrbHw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6/go.mod h1:O3h0IK87yXci+kg6flUKzJnWeziQUKciKrLjcatSNcY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21 h1:SwGMTMLIlvDNyhMteQ6r8IJSBPlRdXX5d4idhIGbkXA= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21/go.mod h1:UUxgWxofmOdAMuqEsSppbDtGKLfR04HGsD0HXzvhI1k= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 h1:5EniKhLZe4xzL7a+fU3C2tfUN4nWIqlLesfrjkuPFTY= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12 h1:qtJZ70afD3ISKWnoX3xB0J2otEqu3LqicRcDBqsj0hQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12/go.mod h1:v2pNpJbRNl4vEUWEh5ytQok0zACAKfdmKS51Hotc3pQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 h1:2HvVAIq+YqgGotK6EkMf+KIEqTISmTYh5zLpYyeTo1Y= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20/go.mod h1:V4X406Y666khGa8ghKmphma/7C0DAtEQYhkq9z4vpbk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20 h1:siU1A6xjUZ2N8zjTHSXFhB9L/2OY8Dqs0xXiLjF30jA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20/go.mod h1:4TLZCmVJDM3FOu5P5TJP0zOlu9zWgDWU7aUxWbr+rcw= +github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 h1:csi9NLpFZXb9fxY7rS1xVzgPRGMt7MSNWeQ6eo247kE= +github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1/go.mod h1:qXVal5H0ChqXP63t6jze5LmFalc7+ZE7wOdLtZ0LCP0= +github.com/aws/aws-sdk-go-v2/service/signin v1.0.8 h1:0GFOLzEbOyZABS3PhYfBIx2rNBACYcKty+XGkTgw1ow= +github.com/aws/aws-sdk-go-v2/service/signin v1.0.8/go.mod h1:LXypKvk85AROkKhOG6/YEcHFPoX+prKTowKnVdcaIxE= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.13 h1:kiIDLZ005EcKomYYITtfsjn7dtOwHDOFy7IbPXKek2o= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.13/go.mod h1:2h/xGEowcW/g38g06g3KpRWDlT+OTfxxI0o1KqayAB8= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17 h1:jzKAXIlhZhJbnYwHbvUQZEB8KfgAEuG0dc08Bkda7NU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17/go.mod h1:Al9fFsXjv4KfbzQHGe6V4NZSZQXecFcvaIF4e70FoRA= +github.com/aws/aws-sdk-go-v2/service/sts v1.41.9 h1:Cng+OOwCHmFljXIxpEVXAGMnBia8MSU6Ch5i9PgBkcU= +github.com/aws/aws-sdk-go-v2/service/sts v1.41.9/go.mod h1:LrlIndBDdjA/EeXeyNBle+gyCwTlizzW5ycgWnvIxkk= github.com/aws/smithy-go v1.24.2 h1:FzA3bu/nt/vDvmnkg+R8Xl46gmzEDam6mZ1hzmwXFng= github.com/aws/smithy-go v1.24.2/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= @@ -66,22 +66,20 @@ github.com/coreos/pkg v0.0.0-20240122114842-bbd7aa9bf6fb h1:GIzvVQ9UkUlOhSDlqmrQ github.com/coreos/pkg v0.0.0-20240122114842-bbd7aa9bf6fb/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/dockercfg v0.3.2 h1:DlJTyZGBDlXqUZ2Dk2Q3xHs/FtnooJJVaad2S9GKorA= github.com/cpuguy83/dockercfg v0.3.2/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= -github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= -github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= +github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/docker v28.5.1+incompatible h1:Bm8DchhSD2J6PsFzxC35TZo4TLGR2PdW/E69rU45NhM= -github.com/docker/docker v28.5.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/ebitengine/purego v0.8.4 h1:CF7LEKg5FFOsASUj0+QwaXf8Ht6TlFxg09+S9wz0omw= -github.com/ebitengine/purego v0.8.4/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= +github.com/ebitengine/purego v0.10.0 h1:QIw4xfpWT6GWTzaW5XEKy3HXoqrJGx1ijYHzTF0/ISU= +github.com/ebitengine/purego v0.10.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/elastic/go-freelru v0.16.0 h1:gG2HJ1WXN2tNl5/p40JS/l59HjvjRhjyAa+oFTRArYs= github.com/elastic/go-freelru v0.16.0/go.mod h1:bSdWT4M0lW79K8QbX6XY2heQYSCqD7THoYf82pT/H3I= github.com/elastic/go-perf v0.0.0-20260224073651-af0ee0c731b7 h1:fGi5uudj7m5O1RgQl+bSZmwlqvuUMEi97X7TzWBOMGk= @@ -117,8 +115,6 @@ github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a h1://KbezygeMJZCSHH+H github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz+PMpZ14Jynv3O2Zs= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c= github.com/hashicorp/go-version v1.8.0 h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4= github.com/hashicorp/go-version v1.8.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA= @@ -129,16 +125,16 @@ github.com/jsimonetti/rtnetlink/v2 v2.0.3 h1:Jcp7GTnTPepoUAJ9+LhTa7ZiebvNS56T1Gt github.com/jsimonetti/rtnetlink/v2 v2.0.3/go.mod h1:atIkksp/9fqtf6rpAw45JnttnP2gtuH9X88WPfWfS9A= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= -github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= +github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo= github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= github.com/knadh/koanf/providers/confmap v1.0.0 h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE= github.com/knadh/koanf/providers/confmap v1.0.0/go.mod h1:txHYHiI2hAtF0/0sCmcuol4IDcuQbKTybiB1nOcUo1A= -github.com/knadh/koanf/v2 v2.3.2 h1:Ee6tuzQYFwcZXQpc2MiVeC6qHMandf5SMUJJNoFp/c4= -github.com/knadh/koanf/v2 v2.3.2/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= +github.com/knadh/koanf/v2 v2.3.3 h1:jLJC8XCRfLC7n4F+ZKKdBsbq1bfXTpuFhf4L7t94D94= +github.com/knadh/koanf/v2 v2.3.3/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -164,28 +160,28 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= -github.com/moby/go-archive v0.1.0 h1:Kk/5rdW/g+H8NHdJW2gsXyZ7UnzvJNOy6VKJqueWdcQ= -github.com/moby/go-archive v0.1.0/go.mod h1:G9B+YoujNohJmrIYFBpSd54GTUB4lt9S+xVQvsJyFuo= -github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= -github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= -github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= -github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= +github.com/moby/go-archive v0.2.0 h1:zg5QDUM2mi0JIM9fdQZWC7U8+2ZfixfTYoHL7rWUcP8= +github.com/moby/go-archive v0.2.0/go.mod h1:mNeivT14o8xU+5q1YnNrkQVpK+dnNe/K6fHqnTg4qPU= +github.com/moby/moby/api v1.54.1 h1:TqVzuJkOLsgLDDwNLmYqACUuTehOHRGKiPhvH8V3Nn4= +github.com/moby/moby/api v1.54.1/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs= +github.com/moby/moby/client v0.4.0 h1:S+2XegzHQrrvTCvF6s5HFzcrywWQmuVnhOXe2kiWjIw= +github.com/moby/moby/client v0.4.0/go.mod h1:QWPbvWchQbxBNdaLSpoKpCdf5E+WxFAgNHogCWDoa7g= +github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U= +github.com/moby/patternmatcher v0.6.1/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g= github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= -github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= -github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= +github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= +github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/open-telemetry/sig-profiling/tools/profcheck v0.0.0-20260303084341-52f633d434c9 h1:3NStK3r8FVhXbU0qkVz/DpPQlaoLLgLHJOAMKyDX4WM= github.com/open-telemetry/sig-profiling/tools/profcheck v0.0.0-20260303084341-52f633d434c9/go.mod h1:KRO+Rec0+KycN1CrIP/6Pu0xOraPhbahCbL36i8FkfM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -200,31 +196,29 @@ github.com/parca-dev/usdt v0.0.2 h1:bpKQycQ++zV8pwkMaJSxZS07XnEXqO3rkHcLYFJDTl4= github.com/parca-dev/usdt v0.0.2/go.mod h1:bjh3OTksk+pyP7WsHWlRKWaMSJTUr0gx0piZ/tAv6/w= github.com/peterbourgon/ff/v3 v3.4.0 h1:QBvM/rizZM1cB0p0lGMdmR7HxZeI/ZrBWB4DqLkMUBc= github.com/peterbourgon/ff/v3 v3.4.0/go.mod h1:zjJVUhx+twciwfDl0zBcFzl4dW8axCRyXE/eKY9RztQ= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= -github.com/shirou/gopsutil/v4 v4.25.6 h1:kLysI2JsKorfaFPcYmcJqbzROzsBWEOAtw6A7dIfqXs= -github.com/shirou/gopsutil/v4 v4.25.6/go.mod h1:PfybzyydfZcN+JMMjkF6Zb8Mq1A/VcogFFg7hj50W9c= +github.com/shirou/gopsutil/v4 v4.26.3 h1:2ESdQt90yU3oXF/CdOlRCJxrP+Am1aBYubTMTfxJ1qc= +github.com/shirou/gopsutil/v4 v4.26.3/go.mod h1:LZ6ewCSkBqUpvSOf+LsTGnRinC6iaNUNMGBtDkJBaLQ= github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4= +github.com/stretchr/objx v0.5.3/go.mod h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/testcontainers/testcontainers-go v0.40.0 h1:pSdJYLOVgLE8YdUY2FHQ1Fxu+aMnb6JfVz1mxk7OeMU= -github.com/testcontainers/testcontainers-go v0.40.0/go.mod h1:FSXV5KQtX2HAMlm7U3APNyLkkap35zNLxukw9oBi/MY= -github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU= -github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= -github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= -github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/testcontainers/testcontainers-go v0.42.0 h1:He3IhTzTZOygSXLJPMX7n44XtK+qhjat1nI9cneBbUY= +github.com/testcontainers/testcontainers-go v0.42.0/go.mod h1:vZjdY1YmUA1qEForxOIOazfsrdyORJAbhi0bp8plN30= +github.com/tklauser/go-sysconf v0.3.16 h1:frioLaCQSsF5Cy1jgRBrzr6t502KIIwQ0MArYICU0nA= +github.com/tklauser/go-sysconf v0.3.16/go.mod h1:/qNL9xxDhc7tx3HSRsLWNnuzbVfh3e7gh/BmM179nYI= +github.com/tklauser/numcpus v0.11.0 h1:nSTwhKH5e1dMNsCdVBukSZrURJRoHbSEQjdEbY+9RXw= +github.com/tklauser/numcpus v0.11.0/go.mod h1:z+LwcLq54uWZTX0u/bGobaV34u6V7KNlTZejzM6/3MQ= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= @@ -233,68 +227,64 @@ github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs= github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/collector/component v1.53.0 h1:A+GU9n4eKnFVmrr7NPpbVvJ1kp985jXtachb9gy12mk= -go.opentelemetry.io/collector/component v1.53.0/go.mod h1:yqyFwDuP4JKwOFaxdqoWj25aVthtavGkSDp2K42x+YY= -go.opentelemetry.io/collector/component/componenttest v0.147.0 h1:9XTwUT87gFWScoP29GEyMjKjr0jycVon6u/EVLrw08w= -go.opentelemetry.io/collector/component/componenttest v0.147.0/go.mod h1:ph5UnCbKUeX3xBg9eSdueRnGmNB4DmhQ0KC6lTsGYTs= -go.opentelemetry.io/collector/confmap v1.53.0 h1:gp5CDXNv2Bg+Ytr3A+ZiaVg9SfNiZKbxLUo6ogfyVVE= -go.opentelemetry.io/collector/confmap v1.53.0/go.mod h1:Abi0meDEJeUNlHF2uw2whtuH10TyW2pkqH547sgmRTc= -go.opentelemetry.io/collector/confmap/xconfmap v0.147.0 h1:4FWhq/szzeYEJLLMXWsLMY5b1qYy83M7rbEBUJCHnUY= -go.opentelemetry.io/collector/confmap/xconfmap v0.147.0/go.mod h1:EHgZFJzZU88Y9A+NlKCn9EwrVHEzASEtCsHw3kv+jgI= -go.opentelemetry.io/collector/consumer v1.53.0 h1:Gyy80dX5r1Lv9lvQk8XFtUkWs1eniicOzzCQBejLseg= -go.opentelemetry.io/collector/consumer v1.53.0/go.mod h1:f5U6ibd+XpC5eOSeEYhERAQJ2a5bp1d2RzW3MFddMDM= -go.opentelemetry.io/collector/consumer/consumererror v0.147.0 h1:c4jjAEke6AEqoxalOAIEudGuN4rnnheaLWdpJXPCAPQ= -go.opentelemetry.io/collector/consumer/consumererror v0.147.0/go.mod h1:9MwE9k6xHd3TGBSAeKSmt42dwWyxwUhYqfwPUx1ZQJY= -go.opentelemetry.io/collector/consumer/consumertest v0.147.0 h1:AU3sUm2L3pezrg6hzPJAO19ZANQoCcfgbyanN0q360g= -go.opentelemetry.io/collector/consumer/consumertest v0.147.0/go.mod h1:QWGFRmeYNbKaseDTNT3a2iGDmjl+DCZnLzMP7Rjj0JM= -go.opentelemetry.io/collector/consumer/xconsumer v0.147.0 h1:XJVQc2dYyalaFXMTa4/RE+aweQTiBpw1edfwdCIJSxw= -go.opentelemetry.io/collector/consumer/xconsumer v0.147.0/go.mod h1:mtwh1VsUoGjxwdmXEzjbswH7KAGByJNCIMHmhqwXeK0= -go.opentelemetry.io/collector/featuregate v1.53.0 h1:cgjXdtl7jezWxq6V0eohe/JqjY4PBotZGb5+bTR2OJw= -go.opentelemetry.io/collector/featuregate v1.53.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g= -go.opentelemetry.io/collector/internal/componentalias v0.147.0 h1:cC1gEQwzQnDvbELVjE3FXqgBkrsUl5JhzOT+6hISaLI= -go.opentelemetry.io/collector/internal/componentalias v0.147.0/go.mod h1:RxuMjMy1j+2jZcY1Ej0E+NC6DnoqTMEvIwRiXtk82rc= -go.opentelemetry.io/collector/internal/testutil v0.147.0 h1:DFlRxBRp23/sZnpTITK25yqe0d56yNvK+63IaWc6OsU= -go.opentelemetry.io/collector/internal/testutil v0.147.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= -go.opentelemetry.io/collector/pdata v1.53.0 h1:DlYDbRwammEZaxDZHINx5v0n8SEOVNniPbi6FRTlVkA= -go.opentelemetry.io/collector/pdata v1.53.0/go.mod h1:LRSYGNjKXaUrZEwZv3Yl+8/zV2HmRGKXW62zB2bysms= -go.opentelemetry.io/collector/pdata/pprofile v0.147.0 h1:yQS3RBvcvRcy9N7AnJvsxmse0AxJcRqBZfwMA22xBA8= -go.opentelemetry.io/collector/pdata/pprofile v0.147.0/go.mod h1:pm9mUqHNpT1SaCkxILu4FW1BvMAelh7EKhpSKe2KJIQ= -go.opentelemetry.io/collector/pdata/testdata v0.147.0 h1:fZB5jY5F+zC/oeGYBa92IknhPQIlLSwoxDUMzhrpTP4= -go.opentelemetry.io/collector/pdata/testdata v0.147.0/go.mod h1:+AB6qTXrYEBvqrv394SEXzuWxtL9LLrnVgIjYpP9HHU= -go.opentelemetry.io/collector/pipeline v1.53.0 h1:+RrNuAmHnzldGOzCCYLJv0qTFoi9QJGrLm+MEYMozmo= -go.opentelemetry.io/collector/pipeline v1.53.0/go.mod h1:RD90NG3Jbk965Xaqym3JyHkuol4uZJjQVUkD9ddXJIs= -go.opentelemetry.io/collector/receiver v1.53.0 h1:FACspX7EMj91g8OY3twlJKzw2LKj0g5wZAXT4Ys2XRU= -go.opentelemetry.io/collector/receiver v1.53.0/go.mod h1:rhBr1+X3N9ijDBBKrVCiRMfVTUlOSWj+Gj0A6qevmoA= -go.opentelemetry.io/collector/receiver/receivertest v0.147.0 h1:t+AqCUJT0ivO1eE09f8gIqnO73UeEFqjvL/annt6rWg= -go.opentelemetry.io/collector/receiver/receivertest v0.147.0/go.mod h1:8kZCwsG8KNpWRf+2izpoY8iIOyfC2cQ2CLSZc9LgOP0= -go.opentelemetry.io/collector/receiver/xreceiver v0.147.0 h1:/KAxTban2sQhiksAu/EG+ri0mNgSxldhJ4lj/XGT+xQ= -go.opentelemetry.io/collector/receiver/xreceiver v0.147.0/go.mod h1:DCjNMipiIv59Jc/YfWFxAvgonurJET9cw3D79U1yLMc= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/collector/component v1.54.0 h1:LvtX0Tzz18n44OrUFVk77N1FNsejfWJqztB28hrmDM8= +go.opentelemetry.io/collector/component v1.54.0/go.mod h1:yUMBYsySY/sDcXm8kOzEoZxt+JLdala6hxzSW0npOxY= +go.opentelemetry.io/collector/component/componenttest v0.148.0 h1:tBXJWmy2X6KD8S0QU2YZa2zYBqP+IycSM4iOtwDD2pA= +go.opentelemetry.io/collector/component/componenttest v0.148.0/go.mod h1:1c1+6mZOmI0raoya5vA/X0F+fawEjNS6tCEs5xLATtA= +go.opentelemetry.io/collector/confmap v1.54.0 h1:RUoxQ4uAYHTI57GfHh61D00tTQsXm9T88ozrAiicByc= +go.opentelemetry.io/collector/confmap v1.54.0/go.mod h1:mQxG8bk0IWIt9gbWMvzE+cRkOuCuzbzkNGBq2YJ4wNM= +go.opentelemetry.io/collector/confmap/xconfmap v0.148.0 h1:UW8MX5VlKJf67x4Et7J9kPwP9Rv4VSmJ+UUpgRcb//c= +go.opentelemetry.io/collector/confmap/xconfmap v0.148.0/go.mod h1:4qTMr3V0uSXXac9wVs/UD5fIqRKw5yIl58+Vjsc6RHM= +go.opentelemetry.io/collector/consumer v1.54.0 h1:RGGtUN+GbkV1px3T6XdUHmgJ+ldJ1hAHdesFzW/wgL0= +go.opentelemetry.io/collector/consumer v1.54.0/go.mod h1:1PC6XINTL9DdT1bwvfMdHE72EB4RWU/WcPemUrhqKN8= +go.opentelemetry.io/collector/consumer/consumererror v0.148.0 h1:lKVkNWBeRXG41lHBf5KzA9oErRZifx6qTd9erAFfEkE= +go.opentelemetry.io/collector/consumer/consumererror v0.148.0/go.mod h1:N/UppmtknIdzpEiy3xirH1EiBEBOqKqD77NCyNi2Rbc= +go.opentelemetry.io/collector/consumer/consumertest v0.148.0 h1:ms0HtWMj17tI1Yds0hSuUI5QYpNEqd11AAhwIoUY2HE= +go.opentelemetry.io/collector/consumer/consumertest v0.148.0/go.mod h1:wScw/OzKkf/ZzJn4ToI30OoI1kJiY16WNrcFToXSzK0= +go.opentelemetry.io/collector/consumer/xconsumer v0.148.0 h1:m3b9rY7CLD5Pcge6sSKHIT3OlcPN6xqYsdtVs9oJ528= +go.opentelemetry.io/collector/consumer/xconsumer v0.148.0/go.mod h1:bG+Wz6xmIBl/gHzq1sqvksWXqTLuTX17Wo//zIsdZpw= +go.opentelemetry.io/collector/featuregate v1.54.0 h1:ufo5Hy4Co9pcHVg24hyanm8qFG3TkkYbVyQXPVAbwDc= +go.opentelemetry.io/collector/featuregate v1.54.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g= +go.opentelemetry.io/collector/internal/componentalias v0.148.0 h1:Y6MftNIZSzOr47TTj6A2z2UR3IwbeG46sAQshicGtDg= +go.opentelemetry.io/collector/internal/componentalias v0.148.0/go.mod h1:uwKzfehzwRgHxdHgFXYSBHNBeWSSqsqQYGWr5fk08G0= +go.opentelemetry.io/collector/internal/testutil v0.148.0 h1:3Z9hperte3vSmbBTYeNndoEUICICrNz8hzx+v0FYXBQ= +go.opentelemetry.io/collector/internal/testutil v0.148.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= +go.opentelemetry.io/collector/pdata v1.54.0 h1:3LharKb792cQ3VrUGxd3IcpWwfu3ST+GSTU382jVz1s= +go.opentelemetry.io/collector/pdata v1.54.0/go.mod h1:+MqC3VVOv/EX9YVFUo+mI4F0YmwJ+fXBYwjmu+mRiZ8= +go.opentelemetry.io/collector/pdata/pprofile v0.148.0 h1:MgrNZmqwhZGfiYwcKKtM/iXgTZqqvG5dUphriRXMZHU= +go.opentelemetry.io/collector/pdata/pprofile v0.148.0/go.mod h1:MTTMnZPqWX1S/rBDatU0W19udlycBkWuzVV5qnemHdc= +go.opentelemetry.io/collector/pdata/testdata v0.148.0 h1:yzakPuFgoKK8WcrlhyYHLMLA/kLScQKGsXkIgwieAQ8= +go.opentelemetry.io/collector/pdata/testdata v0.148.0/go.mod h1:2rFvxm8qwd3nlO90FtJw6ZGAjt+bLndxmQuJaMO9kfQ= +go.opentelemetry.io/collector/pipeline v1.54.0 h1:jYlCkdFLITVBdeB+IGS07zXWywEgvT3Ky46vdKKT+Ks= +go.opentelemetry.io/collector/pipeline v1.54.0/go.mod h1:RD90NG3Jbk965Xaqym3JyHkuol4uZJjQVUkD9ddXJIs= +go.opentelemetry.io/collector/receiver v1.54.0 h1:2e9o+eihZ/nJnzVj5JAcJ+VQ653HcZRiT127qBZRqa8= +go.opentelemetry.io/collector/receiver v1.54.0/go.mod h1:xFZnvYTBjdi9iS/d/UUXzss4h311mLsZliQFQXk4o/k= +go.opentelemetry.io/collector/receiver/receivertest v0.148.0 h1:Fu+B4jCqgZVZmhsKBz3tcgimFryR6TRAK2D5VGLD2Xc= +go.opentelemetry.io/collector/receiver/receivertest v0.148.0/go.mod h1:K8dMDMEggEg6jB688VOHutivOGEEZ20FJGe4jV9RtWU= +go.opentelemetry.io/collector/receiver/xreceiver v0.148.0 h1:u66Zi3udD9RMRiNOsZzsVcUjRwqJEK+5LV76Ry9l3K0= +go.opentelemetry.io/collector/receiver/xreceiver v0.148.0/go.mod h1:jyHxf8SOfH48ZXb32IS3vPbVYDinsLlZYQddyrveqMg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0 h1:QKdN8ly8zEMrByybbQgv8cWBcdAarwmIPZ6FThrWXJs= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0/go.mod h1:bTdK1nhqF76qiPoCCdyFIV+N/sRHYXYCTQc+3VCi3MI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0/go.mod h1:oVdCUtjq9MK9BlS7TtucsQwUcXcymNiEDjgDD2jMtZU= go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= -go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= -go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= -go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw= -go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= +go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= +go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts= +go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA= +go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc= go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.opentelemetry.io/proto/otlp/profiles/v1development v0.3.0 h1:ZQs05qo3Yh4KUHeVH6v89xErwmsvgA/cLX2/w5Ikp+k= go.opentelemetry.io/proto/otlp/profiles/v1development v0.3.0/go.mod h1:3iiRVKaCfVo0UI1ZaSMm5WbCBbINRqVlD9SUmvyBNrY= -go.opentelemetry.io/proto/slim/otlp v1.9.0 h1:fPVMv8tP3TrsqlkH1HWYUpbCY9cAIemx184VGkS6vlE= -go.opentelemetry.io/proto/slim/otlp v1.9.0/go.mod h1:xXdeJJ90Gqyll+orzUkY4bOd2HECo5JofeoLpymVqdI= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.2.0 h1:o13nadWDNkH/quoDomDUClnQBpdQQ2Qqv0lQBjIXjE8= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.2.0/go.mod h1:Gyb6Xe7FTi/6xBHwMmngGoHqL0w29Y4eW8TGFzpefGA= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.2.0 h1:EiUYvtwu6PMrMHVjcPfnsG3v+ajPkbUeH+IL93+QYyk= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.2.0/go.mod h1:mUUHKFiN2SST3AhJ8XhJxEoeVW12oqfXog0Bo8W3Ec4= +go.opentelemetry.io/proto/slim/otlp v1.10.0 h1:iR97Vs/ZDR+y9TfuP9b1XBtdPWeC+OMslIBmhcLU7jM= +go.opentelemetry.io/proto/slim/otlp v1.10.0/go.mod h1:lV9250stpjYLPNA5viFabIgP2QlUGRT1GdTgAf8SIUk= +go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:RUF5rO0hAlgiJt1fzQVzcVs3vZVNHIcMLgOgG4rWNcQ= +go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0/go.mod h1:I89cynRj8y+383o7tEQVg2SVA6SRgDVIouWPUVXjx0U= +go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0 h1:CQvJSldHRUN6Z8jsUeYv8J0lXRvygALXIzsmAeCcZE0= +go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0/go.mod h1:xSQ+mEfJe/GjK1LXEyVOoSI1N9JV9ZI923X5kup43W4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -310,10 +300,10 @@ golang.org/x/arch v0.25.0/go.mod h1:0X+GdSIP+kL5wPmpK7sdkEVTt2XoYP0cSjQSbZBwOi8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= -golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= -golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= -golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= -golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= +golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 h1:jiDhWWeC7jfWqR9c/uplMOqJ0sbNlNWv0UkzE0vX1MA= +golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90/go.mod h1:xE1HEv6b+1SCZ5/uscMRjUBKtIxworgEcEi+/n9NQDQ= +golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI= +golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191007182048-72f939374954/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -331,8 +321,6 @@ golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= @@ -340,17 +328,13 @@ golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 h1:JLQynH/LBHfCTSbDWl+py8C+Rg/k1OVH3xfcaiANuF0= -google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:kSJwQxqmFXeo79zOmbrALdflXQeAYcUbgS7PbpMknCY= google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 h1:mWPCjDEyshlQYzBpMNHaEof6UX1PmHcaUODUywQ0uac= google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= -google.golang.org/grpc v1.79.2 h1:fRMD94s2tITpyJGtBBn7MkMseNpOZU8ZxgC3MMBaXRU= -google.golang.org/grpc v1.79.2/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= +google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -360,3 +344,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= +pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= +pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= diff --git a/interpreter/hotspot/data.go b/interpreter/hotspot/data.go index 94632b201..8f48aaf74 100644 --- a/interpreter/hotspot/data.go +++ b/interpreter/hotspot/data.go @@ -166,17 +166,18 @@ type hotspotVMData struct { ConstMethod uint `name:"_constMethod"` } `name:"Method,methodOopDesc"` Nmethod struct { // .Sizeof >256 - Sizeof uint - CompileID uint `name:"_compile_id"` - MetadataOffset uint `name:"_metadata_offset,_oops_offset"` - ScopesPcsOffset uint `name:"_scopes_pcs_offset"` - DependenciesOffset uint `name:"_dependencies_offset"` // JDK -22 only - ImmutableData uint `name:"_immutable_data"` // JDK 23+ only - ImmutableDataSize uint `name:"_immutable_data_size"` // JDK 23+ only - OrigPcOffset uint `name:"_orig_pc_offset"` - DeoptimizeOffset uint `name:"_deoptimize_offset,_deopt_handler_offset,_deopt_handler_begin"` - Method uint `name:"_method"` - ScopesDataOffset uint `name:"_scopes_data_offset,_scopes_data_begin"` + Sizeof uint + CompileID uint `name:"_compile_id"` + MetadataOffset uint `name:"_metadata_offset,_oops_offset"` + ScopesPcsOffset uint `name:"_scopes_pcs_offset"` + DependenciesOffset uint `name:"_dependencies_offset"` // JDK -22 only + ImmutableData uint `name:"_immutable_data"` // JDK 23+ only + ImmutableDataSize uint `name:"_immutable_data_size"` // JDK 23+ only + ImmutableDataRefCountOff uint `name:"_immutable_data_ref_count_offset"` // JDK 26+ only + OrigPcOffset uint `name:"_orig_pc_offset"` + DeoptimizeOffset uint `name:"_deoptimize_offset,_deopt_handler_offset,_deopt_handler_begin,_deopt_handler_entry_offset"` + Method uint `name:"_method"` + ScopesDataOffset uint `name:"_scopes_data_offset,_scopes_data_begin"` } `name:"nmethod,CompiledMethod"` OopDesc struct { Sizeof uint @@ -601,6 +602,11 @@ func (d *hotspotData) newVMData(rm remotememory.RemoteMemory, bias libpf.Address vms.CodeBlob.RelocationSize = 0 } + // JDK26+: immutable data has a ref count trailer; not present prior to JDK26 + if vms.Nmethod.ImmutableDataRefCountOff == ^uint(0) { + vms.Nmethod.ImmutableDataRefCountOff = 0 + } + // Check that all symbols got loaded from JVM introspection data err := forEachItem("", reflect.ValueOf(&vmd.vmStructs).Elem(), func(item reflect.Value, name string) error { diff --git a/interpreter/hotspot/hotspot.go b/interpreter/hotspot/hotspot.go index f9ecda963..f106ea82b 100644 --- a/interpreter/hotspot/hotspot.go +++ b/interpreter/hotspot/hotspot.go @@ -78,6 +78,9 @@ package hotspot // import "go.opentelemetry.io/ebpf-profiler/interpreter/hotspot // JDK24 - Tested ok // - nmethod metadata moved to codeblob mutable data area // JDK25 - Tested ok +// JDK26 - Tested ok +// - nmethod._deopt_handler_offset renamed to _deopt_handler_entry_offset +// - immutable_data now has ref count trailer (_immutable_data_ref_count_offset) // // NOTE: Ahead-Of-Time compilation (AOT) is NOT SUPPORTED. The main complication is that, the AOT // ELF files are mapped directly to the program virtual space, and contain the code to execute. diff --git a/interpreter/hotspot/instance.go b/interpreter/hotspot/instance.go index d96da1712..ce0802f68 100644 --- a/interpreter/hotspot/instance.go +++ b/interpreter/hotspot/instance.go @@ -511,7 +511,8 @@ func (d *hotspotInstance) getJITInfo(addr libpf.Address, addrCheck uint32) ( // [scopes_data] @ _immutable_data + nmethod._scopes_data_begin \ arrays we need // [scopes_pcs] @ _immutable_data + nmethod._scopes_pcs_offset / for inlining info // [speculations] @ _immutable_data + nmethod._speculations_offset - // [end] @ _immutable_Data + nmethod._immutable_data_size + // [end] @ _immutable_data + nmethod._immutable_data_size + // [end] @ _immutable_data + min(_immutable_data_size, _immutable_data_ref_count_offset) (JDK 26+) // ... // speculations presence depends on JDK build, and is not used. Instead the scopes // end is determined from immutable data size. @@ -535,6 +536,15 @@ func (d *hotspotInstance) getJITInfo(addr libpf.Address, addrCheck uint32) ( scopesDataOff := npsr.PtrDiff32(nmethod, vms.Nmethod.ScopesDataOffset) immutableDataPtr := npsr.Ptr(nmethod, vms.Nmethod.ImmutableData) immutableDataSize := npsr.Uint32(nmethod, vms.Nmethod.ImmutableDataSize) + + // JDK26+: immutable data ends at ref_count offset, not at immutable_data_size + if vms.Nmethod.ImmutableDataRefCountOff != 0 { + immutableDataRefCountOff := npsr.Uint32(nmethod, vms.Nmethod.ImmutableDataRefCountOff) + if immutableDataRefCountOff < immutableDataSize { + immutableDataSize = immutableDataRefCountOff + } + } + if immutableDataSize >= maxMetadataSize { return nil, fmt.Errorf("unreasonably large immutable data region: %d bytes", immutableDataSize) diff --git a/interpreter/ruby/ec.go b/interpreter/ruby/ec.go new file mode 100644 index 000000000..8ce15d6d4 --- /dev/null +++ b/interpreter/ruby/ec.go @@ -0,0 +1,69 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ruby // import "go.opentelemetry.io/ebpf-profiler/interpreter/ruby" + +import ( + "debug/elf" + "fmt" + + "go.opentelemetry.io/ebpf-profiler/asm/amd" + "go.opentelemetry.io/ebpf-profiler/asm/arm" + "go.opentelemetry.io/ebpf-profiler/internal/log" + "go.opentelemetry.io/ebpf-profiler/libpf" + "go.opentelemetry.io/ebpf-profiler/libpf/pfelf" +) + +// extractEcTLSOffset extracts the direct TP-relative TLS offset for ruby_current_ec +// by disassembling rb_current_ec_noinline. This is used for statically-linked Ruby +// binaries where TLS descriptors are not available. +// +// The function uses the same TLS extraction infrastructure as Python 3.13+ +// (asm/amd.ExtractTLSOffset and asm/arm.ExtractTLSOffset). +func extractEcTLSOffset(ef *pfelf.File) (int64, error) { + symbolName := libpf.SymbolName("rb_current_ec_noinline") + sym, code, err := ef.SymbolData(symbolName, 2048) + if err != nil { + // Fallback: try VisitSymbols for binaries with local symbols not in .dynsym + sym = &libpf.Symbol{} + found := false + if visitErr := ef.VisitSymbols(func(s libpf.Symbol) bool { + if s.Name == symbolName { + data, readErr := ef.VirtualMemory(int64(s.Address), int(s.Size), 2048) + if readErr != nil { + log.Errorf("Failed to read memory for %s: %v", symbolName, readErr) + } else { + code = data + sym.Address = s.Address + found = true + } + return false + } + return true + }); visitErr != nil { + return 0, fmt.Errorf("failed to visit symbols: %w", visitErr) + } + if !found { + return 0, fmt.Errorf("symbol %s not found", symbolName) + } + } + + if len(code) < 4 { + return 0, fmt.Errorf("%s function too small (%d bytes)", symbolName, len(code)) + } + + var offset int32 + switch ef.Machine { + case elf.EM_X86_64: + offset, err = amd.ExtractTLSOffset(code, uint64(sym.Address), nil) + case elf.EM_AARCH64: + offset, err = arm.ExtractTLSOffset(code, uint64(sym.Address), ef) + default: + return 0, fmt.Errorf("unsupported architecture: %s", ef.Machine) + } + if err != nil { + return 0, fmt.Errorf("failed to extract TLS offset from %s: %w", symbolName, err) + } + + return int64(offset), nil +} diff --git a/interpreter/ruby/ec_test.go b/interpreter/ruby/ec_test.go new file mode 100644 index 000000000..34dca526f --- /dev/null +++ b/interpreter/ruby/ec_test.go @@ -0,0 +1,77 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package ruby + +import ( + "debug/elf" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/ebpf-profiler/asm/amd" + "go.opentelemetry.io/ebpf-profiler/asm/arm" +) + +func TestExtractEcTLSOffset(t *testing.T) { + tests := map[string]struct { + machine elf.Machine + code []byte + offset int32 + }{ + // rb_current_ec_noinline for statically-linked ruby 4.0 on x86_64: + // mov %fs:0xffffffffffffff88,%rax + // ret + "ruby 4.0 static / x86_64": { + machine: elf.EM_X86_64, + code: []byte{ + 0x64, 0x48, 0x8b, 0x04, 0x25, 0x88, 0xff, 0xff, 0xff, + 0xc3, + }, + offset: -120, + }, + // rb_current_ec_noinline for statically-linked ruby 3.4.7 on x86_64: + // mov %fs:0xfffffffffffffff8,%rax + // ret + "ruby 3.4.7 static / x86_64": { + machine: elf.EM_X86_64, + code: []byte{ + 0x64, 0x48, 0x8b, 0x04, 0x25, 0xf8, 0xff, 0xff, 0xff, + 0xc3, + }, + offset: -8, + }, + // rb_current_ec_noinline for statically-linked ruby 3.4.7 on aarch64: + // mrs x0, tpidr_el0 + // add x0, x0, #0x0, lsl #12 + // add x0, x0, #0x38 + // ldr x0, [x0] + // ret + "ruby 3.4.7 static / aarch64": { + machine: elf.EM_AARCH64, + code: []byte{ + 0x40, 0xd0, 0x3b, 0xd5, // mrs x0, tpidr_el0 + 0x00, 0x00, 0x40, 0x91, // add x0, x0, #0x0, lsl #12 + 0x00, 0xe0, 0x00, 0x91, // add x0, x0, #0x38 + 0x00, 0x00, 0x40, 0xf9, // ldr x0, [x0] + 0xc0, 0x03, 0x5f, 0xd6, // ret + }, + offset: 56, + }, + } + + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + var offset int32 + var err error + switch tc.machine { + case elf.EM_X86_64: + offset, err = amd.ExtractTLSOffset(tc.code, 0, nil) + case elf.EM_AARCH64: + offset, err = arm.ExtractTLSOffset(tc.code, 0, nil) + } + require.NoError(t, err) + assert.Equal(t, tc.offset, offset, "wrong ruby EC TLS offset") + }) + } +} diff --git a/interpreter/ruby/ruby.go b/interpreter/ruby/ruby.go index b84d4acdd..ba885d2b0 100644 --- a/interpreter/ruby/ruby.go +++ b/interpreter/ruby/ruby.go @@ -96,10 +96,12 @@ const ( ) var ( - // regex to identify the Ruby interpreter executable - rubyRegex = regexp.MustCompile(`^(?:.*/)?libruby(?:-.*)?\.so\.(\d)\.(\d)\.(\d)$`) + // regex to identify the Ruby interpreter shared library + libRubyRegex = regexp.MustCompile(`^(?:.*/)?libruby(?:-.*)?\.so\.(\d+)\.(\d+)\.(\d+)$`) + // regex to identify a statically-linked Ruby binary + binRubyRegex = regexp.MustCompile(`^(?:.*/)?(?:bin/)?ruby$`) // regex to extract a version from a string - rubyVersionRegex = regexp.MustCompile(`^(\d)\.(\d)\.(\d)$`) + rubyVersionRegex = regexp.MustCompile(`^(\d+)\.(\d+)\.(\d+)$`) unknownCfunc = libpf.Intern("") cfuncDummyFile = libpf.Intern("") @@ -123,6 +125,10 @@ type rubyData struct { // Address to the ruby_current_ec variable in TLS, as an offset from tpbase currentEcTpBaseTlsOffset libpf.Address + // For statically-linked ruby, the direct TP-relative offset to ruby_current_ec + // extracted from disassembly of rb_current_ec_noinline + staticTLSOffset int64 + // Address to global symbols, for id to string mappings globalSymbolsAddr libpf.Address // version of the currently used Ruby interpreter. @@ -295,10 +301,14 @@ func (r *rubyData) String() string { func (r *rubyData) Attach(ebpf interpreter.EbpfHandler, pid libpf.PID, bias libpf.Address, rm remotememory.RemoteMemory, ) (interpreter.Instance, error) { - var tlsOffset uint64 - if r.currentEcTpBaseTlsOffset != 0 { + var tlsOffset int64 + if r.staticTLSOffset != 0 { + // For statically-linked ruby, use the direct TP-relative offset + // extracted from disassembly of rb_current_ec_noinline. + tlsOffset = r.staticTLSOffset + } else if r.currentEcTpBaseTlsOffset != 0 { // Read TLS offset from the TLS descriptor. - tlsOffset = rm.Uint64(bias + r.currentEcTpBaseTlsOffset + 8) + tlsOffset = int64(rm.Uint64(bias + r.currentEcTpBaseTlsOffset + 8)) } cdata := support.RubyProcInfo{ @@ -1238,7 +1248,8 @@ func determineRubyVersion(ef *pfelf.File) (uint32, error) { } func Loader(ebpf interpreter.EbpfHandler, info *interpreter.LoaderInfo) (interpreter.Data, error) { - if !rubyRegex.MatchString(info.FileName()) { + isBinRuby := binRubyRegex.MatchString(info.FileName()) + if !libRubyRegex.MatchString(info.FileName()) && !isBinRuby { return nil, nil } @@ -1363,11 +1374,26 @@ func Loader(ebpf interpreter.EbpfHandler, info *interpreter.LoaderInfo) (interpr log.Warnf("failed to locate TLS descriptor: %v", err) } - log.Debugf("Discovered EC tls tpbase offset %x, fallback ctx %x, interp ranges: %v, global symbols: %x", currentEcTpBaseTlsOffset, currentCtxPtr, interpRanges, globalSymbols) + // For statically-linked ruby, extract the direct TP-relative offset from + // rb_current_ec_noinline disassembly. This is the same pattern Python 3.13+ + // uses for _PyThreadState_GetCurrent. + var staticTLSOffset int64 + if isBinRuby { + offset, ecErr := extractEcTLSOffset(ef) + if ecErr != nil { + log.Warnf("failed to extract EC TLS offset for static ruby: %v", ecErr) + } else { + staticTLSOffset = offset + } + } + + log.Debugf("Discovered EC tls tpbase offset %x, static tls offset %d, fallback ctx %x, interp ranges: %v, global symbols: %x", + currentEcTpBaseTlsOffset, staticTLSOffset, currentCtxPtr, interpRanges, globalSymbols) rid := &rubyData{ version: version, currentEcTpBaseTlsOffset: libpf.Address(currentEcTpBaseTlsOffset), + staticTLSOffset: staticTLSOffset, currentCtxPtr: libpf.Address(currentCtxPtr), hasGlobalSymbols: globalSymbols != 0, globalSymbolsAddr: libpf.Address(globalSymbols), diff --git a/interpreter/ruby/ruby_test.go b/interpreter/ruby/ruby_test.go index 767641c0b..e3328b68b 100644 --- a/interpreter/ruby/ruby_test.go +++ b/interpreter/ruby/ruby_test.go @@ -11,6 +11,119 @@ import ( "github.com/stretchr/testify/assert" ) +func TestRubyRegex(t *testing.T) { + tests := []struct { + name string + input string + match bool + major string + minor string + release string + }{ + { + name: "single_digit_version", + input: "libruby.so.3.2.1", + match: true, + major: "3", + minor: "2", + release: "1", + }, + { + // https://github.com/ruby/ruby/releases/tag/v3_3_10 + name: "multi_digit_release", + input: "libruby.so.3.3.10", + match: true, + major: "3", + minor: "3", + release: "10", + }, + { + name: "with_path", + input: "/usr/lib/libruby.so.3.3.10", + match: true, + major: "3", + minor: "3", + release: "10", + }, + { + name: "with_suffix", + input: "libruby-3.2.so.3.2.1", + match: true, + major: "3", + minor: "2", + release: "1", + }, + { + name: "no_match", + input: "libpython.so.3.9", + match: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + matches := libRubyRegex.FindStringSubmatch(tt.input) + if !tt.match { + assert.Nil(t, matches) + return + } + if assert.NotNil(t, matches) { + assert.Equal(t, tt.major, matches[1]) + assert.Equal(t, tt.minor, matches[2]) + assert.Equal(t, tt.release, matches[3]) + } + }) + } +} + +func TestRubyVersionRegex(t *testing.T) { + tests := []struct { + name string + input string + match bool + major string + minor string + release string + }{ + { + name: "single_digit_version", + input: "3.2.1", + match: true, + major: "3", + minor: "2", + release: "1", + }, + { + name: "multi_digit_release", + input: "3.3.10", + match: true, + major: "3", + minor: "3", + release: "10", + }, + { + name: "no_match_partial", + input: "3.9", + match: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + matches := rubyVersionRegex.FindStringSubmatch(tt.input) + if !tt.match { + assert.Nil(t, matches) + return + } + if assert.NotNil(t, matches) { + assert.Equal(t, tt.major, matches[1]) + assert.Equal(t, tt.minor, matches[2]) + assert.Equal(t, tt.release, matches[3]) + } + }) + } +} + func TestQualifiedMethodName(t *testing.T) { tests := []struct { name string diff --git a/metrics/metrics.go b/metrics/metrics.go index 00251d9de..a52633dd2 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -66,7 +66,7 @@ func Start(meter metric.Meter) { metricTypes[md.ID] = md.Type switch typ := md.Type; typ { case MetricTypeCounter: - counter, err := meter.Int64Counter(md.Name, + counter, err := meter.Int64Counter(md.Field, metric.WithDescription(md.Description), metric.WithUnit(md.Unit)) if err != nil { @@ -75,7 +75,7 @@ func Start(meter metric.Meter) { } counters[md.ID] = counter case MetricTypeGauge: - gauge, err := meter.Int64Gauge(md.Name, + gauge, err := meter.Int64Gauge(md.Field, metric.WithDescription(md.Description), metric.WithUnit(md.Unit)) if err != nil { @@ -231,5 +231,10 @@ func GetDefinitions() []MetricDefinition { if err != nil { panic(fmt.Sprintf("extracting definitions from metrics.json: %v", err)) } + for i, d := range defs { + if d.Field == "" && d.ID != 0 { + panic(fmt.Sprintf("metric %d: missing required field", i)) + } + } return defs } diff --git a/metrics/metrics.json b/metrics/metrics.json index aa08c7e47..6ee83fd0f 100644 --- a/metrics/metrics.json +++ b/metrics/metrics.json @@ -80,7 +80,8 @@ "description": "Number of failures to call interpreter unwinding in dispatch_interpreters()", "type": "counter", "name": "UnwindErrCallInterpreter", - "id": 9 + "id": 9, + "field": "unwind.err.call.interpreter" }, { "description": "Unwind attempts since the previous check", @@ -178,7 +179,8 @@ "description": "Number of failures to read the autoTLSkey address", "type": "counter", "name": "UnwindPythonErrBadAutoTLSKeyAddr", - "id": 23 + "id": 23, + "field": "unwind.python.err.bad.auto.tls.key.addr" }, { "description": "Number of failures to read from the TLS", @@ -192,7 +194,8 @@ "description": "Number of failures to lookup the fsbase offset in tls_get_base()", "type": "counter", "name": "UnwindErrLookupFSBaseOffset", - "id": 25 + "id": 25, + "field": "unwind.err.lookup.fs.base.offset" }, { "description": "Number of failures to get the TLS base in tls_get_base()", @@ -236,28 +239,32 @@ "description": "Number of code objects with no filename in process_python_frame()", "type": "counter", "name": "UnwindPythonErrBadCodeObjectFilenameAddr", - "id": 31 + "id": 31, + "field": "unwind.python.err.bad.code.object.filename.addr" }, { "obsolete": true, "description": "Number of failures to zero out filename in process_python_frame()", "type": "counter", "name": "UnwindPythonErrBadZeroFileAddr", - "id": 32 + "id": 32, + "field": "unwind.python.err.bad.zero.file.addr" }, { "obsolete": true, "description": "Number of failures to get the file ID in process_python_frame()", "type": "counter", "name": "UnwindPythonErrBadFilenameAddr", - "id": 33 + "id": 33, + "field": "unwind.python.err.bad.filename.addr" }, { "obsolete": true, "description": "Number of failures to get the file ID in process_python_frame()", "type": "counter", "name": "UnwindPythonErrNoFileID", - "id": 34 + "id": 34, + "field": "unwind.python.err.no.file.id" }, { "obsolete": true, @@ -303,21 +310,24 @@ "description": "Current size of the hash map mmap_monitor", "type": "gauge", "name": "HashmapMmapMonitor", - "id": 40 + "id": 40, + "field": "hashmap.mmap.monitor" }, { "obsolete": true, "description": "Current size of the hash map mmap_executable", "type": "gauge", "name": "HashmapMmapExecutable", - "id": 41 + "id": 41, + "field": "hashmap.mmap.executable" }, { "obsolete": true, "description": "Current size of the hash map mprotect_executable", "type": "gauge", "name": "HashmapMprotectExecutable", - "id": 42 + "id": 42, + "field": "hashmap.mprotect.executable" }, { "description": "The number of executables loaded to eBPF maps", @@ -537,7 +547,8 @@ "description": "Number of times a PID maps file cannot be read as /proc/ folder does not exist anymore", "type": "counter", "name": "ErrProcPIDRead", - "id": 72 + "id": 72, + "field": "err.proc.pid.read" }, { "obsolete": true, @@ -760,21 +771,24 @@ "description": "Indicates if probabilistic sampling is en- or disabled. 1 sampling is enabled - see ebpf.probSampleEnable. -1 sampling is disabled - see ebpf.probSampleDisable.", "type": "gauge", "name": "ProbSampleStatus", - "id": 103 + "id": 103, + "field": "prob.sample.status" }, { "obsolete": true, "description": "Number of times the cache for pre-to-post conversion trace hashes was hit.", "type": "counter", "name": "HashMapperCacheHit", - "id": 104 + "id": 104, + "field": "hash.mapper.cache.hit" }, { "obsolete": true, "description": "Number of times the cache for pre-to-post conversion trace hashes was missed.", "type": "counter", "name": "HashMapperCacheMiss", - "id": 105 + "id": 105, + "field": "hash.mapper.cache.miss" }, { "description": "Number of successfully symbolized Ruby frames", @@ -839,7 +853,8 @@ "description": "Number of times a pre-conversion hash has not been present in the traceHashMapper used by the traceHandler", "type": "counter", "name": "TraceHashMapperMissingEntry", - "id": 114 + "id": 114, + "field": "trace.hash.mapper.missing.entry" }, { "description": "Number of attempted perl unwinds", @@ -944,7 +959,8 @@ "description": "Number of failures to unwind because PC is outside matched codeblob code range", "type": "counter", "name": "UnwindHotspotErrPCOutsideCodeblobCode", - "id": 129 + "id": 129, + "field": "unwind.hotspot.err.pc.outside.codeblob.code" }, { "description": "Number of failures to unwind because return address was not found with heuristic", @@ -988,7 +1004,8 @@ "description": "Number of elements zapped from known traces", "type": "counter", "name": "KnownTracesZapCount", - "id": 135 + "id": 135, + "field": "known.traces.zap.count" }, { "description": "Number of attempted V8 unwinds", @@ -1525,21 +1542,24 @@ "description": "Number of lost perf events in the communication between kernel and user space (report_munmap_events)", "type": "counter", "name": "PerfEventLostMunmap", - "id": 210 + "id": 210, + "field": "perf_event.lost.munmap" }, { "obsolete": true, "description": "Number of times a perf event was received without data (report_munmap_events)", "type": "counter", "name": "PerfEventNoDataMunmap", - "id": 211 + "id": 211, + "field": "perf_event.no.data.munmap" }, { "obsolete": true, "description": "Number of times a perf event read failed (report_munmap_events)", "type": "counter", "name": "PerfEventReadErrorMunmap", - "id": 212 + "id": 212, + "field": "perf_event.read.error.munmap" }, { "description": "Number of new PID events (report_events)", @@ -1575,7 +1595,8 @@ "description": "Number of munmap events (report_munmap_events)", "type": "counter", "name": "NumMunmapEvent", - "id": 217 + "id": 217, + "field": "num.munmap.event" }, { "description": "Max /proc/PID/maps parse time for a single collection interval, in microseconds", @@ -1631,7 +1652,8 @@ "type": "counter", "name": "MonitorHashMapsIntervalMs", "unit": "ms", - "id": 224 + "id": 224, + "field": "monitor.hash.maps.interval.ms" }, { "obsolete": true, @@ -1673,26 +1695,30 @@ "description": "Indicates if probabilistic profiling is enabled or disabled: 1 profiling is enabled, -1 profiling is disabled.", "type": "gauge", "name": "ProbProfilingStatus", - "id": 230 + "id": 230, + "field": "prob.profiling.status" }, { "description": "Interval in seconds for which probabilistic profiling will be enabled or disabled.", "type": "counter", "name": "ProbProfilingInterval", "id": 231, - "unit": "s" + "unit": "s", + "field": "prob.profiling.interval" }, { "description": "Number of times enabling a perf event hook failed", "type": "counter", "name": "PerfEventEnableErr", - "id": 232 + "id": 232, + "field": "perf_event.enable.err" }, { "description": "Number of times disabling a perf event hook failed", "type": "counter", "name": "PerfEventDisableErr", - "id": 233 + "id": 233, + "field": "perf_event.disable.err" }, { "description": "Number of times we didn't find an entry for this process in the Python process info array", diff --git a/nativeunwind/elfunwindinfo/elfehframe_x86.go b/nativeunwind/elfunwindinfo/elfehframe_x86.go index a04f4bde5..fb060b66e 100644 --- a/nativeunwind/elfunwindinfo/elfehframe_x86.go +++ b/nativeunwind/elfunwindinfo/elfehframe_x86.go @@ -169,7 +169,7 @@ func (regs *vmRegs) getUnwindInfoX86() sdtypes.UnwindInfo { info.BaseReg = getUnwinderRegX86(regs.cfa.reg) info.Param = int32(regs.cfa.off) case regExprPLT: - info.Flags = support.UnwindFlagCommand + info.Flags |= support.UnwindFlagCommand info.Param = support.UnwindCommandPLT case regExprRegDeref: reg, _, off, off2 := splitOff(regs.cfa.off) @@ -184,7 +184,7 @@ func (regs *vmRegs) getUnwindInfoX86() sdtypes.UnwindInfo { } } } - if info.BaseReg == support.UnwindRegInvalid { + if info.Flags&support.UnwindFlagCommand == 0 && info.BaseReg == support.UnwindRegInvalid { return sdtypes.UnwindInfoInvalid } return info diff --git a/processmanager/execinfomanager/manager.go b/processmanager/execinfomanager/manager.go index 60b7e9394..837b2010b 100644 --- a/processmanager/execinfomanager/manager.go +++ b/processmanager/execinfomanager/manager.go @@ -424,7 +424,7 @@ func (state *executableInfoManagerState) detectAndLoadInterpData( func (state *executableInfoManagerState) loadDeltas( fileID host.FileID, deltas []sdtypes.StackDelta, -) (ref mapRef, err error) { +) (mapRef, error) { numDeltas := len(deltas) if numDeltas == 0 { // If no deltas are extracted, cache the result but don't reserve memory in BPF maps. @@ -454,7 +454,7 @@ func (state *executableInfoManagerState) loadDeltas( // here. In the end, it's only the unwindInfoIndex being different for // merged deltas. var unwindInfoIndex uint16 - unwindInfoIndex, err = state.getUnwindInfoIndex(unwindInfo) + unwindInfoIndex, err := state.getUnwindInfoIndex(unwindInfo) if err != nil { return mapRef{}, err } @@ -475,7 +475,7 @@ func (state *executableInfoManagerState) loadDeltas( // Update stack delta pages if err = state.ebpf.UpdateStackDeltaPages(fileID, numDeltasPerPage, mapID, firstPageAddr); err != nil { - _ = state.ebpf.DeleteExeIDToStackDeltas(fileID, ref.MapID) + _ = state.ebpf.DeleteExeIDToStackDeltas(fileID, mapID) return mapRef{}, fmt.Errorf("failed UpdateStackDeltaPages for FileID %x: %v", fileID, err) } diff --git a/support/ebpf/tracer.ebpf.amd64 b/support/ebpf/tracer.ebpf.amd64 index 44d385d30..b65c8d294 100644 Binary files a/support/ebpf/tracer.ebpf.amd64 and b/support/ebpf/tracer.ebpf.amd64 differ diff --git a/support/ebpf/tracer.ebpf.arm64 b/support/ebpf/tracer.ebpf.arm64 index 897a7017a..c6695afac 100644 Binary files a/support/ebpf/tracer.ebpf.arm64 and b/support/ebpf/tracer.ebpf.arm64 differ diff --git a/support/ebpf/types.h b/support/ebpf/types.h index 11ef79dbd..8a1fed91c 100644 --- a/support/ebpf/types.h +++ b/support/ebpf/types.h @@ -518,8 +518,9 @@ typedef struct RubyProcInfo { // version of the Ruby interpreter. u32 version; - // tls_offset holds TLS base + ruby_current_ec tls symbol, as an offset from tpbase - u64 current_ec_tpbase_tls_offset; + // tls_offset holds TLS base + ruby_current_ec tls symbol, as an offset from tpbase. + // Signed because static TLS offsets (local exec model) are negative on x86_64. + s64 current_ec_tpbase_tls_offset; // current_ctx_ptr holds the address of the symbol ruby_current_execution_context_ptr. u64 current_ctx_ptr; diff --git a/support/types.go b/support/types.go index afb522cf0..1f6a89886 100644 --- a/support/types.go +++ b/support/types.go @@ -289,7 +289,7 @@ type PyProcInfo struct { } type RubyProcInfo struct { Version uint32 - Current_ec_tpbase_tls_offset uint64 + Current_ec_tpbase_tls_offset int64 Current_ctx_ptr uint64 Has_objspace bool Vm_stack uint8 diff --git a/tools.mod b/tools.mod index 89e87c063..e3770d9f6 100644 --- a/tools.mod +++ b/tools.mod @@ -11,39 +11,39 @@ tool ( ) require ( - github.com/aws/aws-sdk-go-v2 v1.41.3 - github.com/aws/aws-sdk-go-v2/config v1.32.11 - github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 + github.com/aws/aws-sdk-go-v2 v1.41.4 + github.com/aws/aws-sdk-go-v2/config v1.32.12 + github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 github.com/cilium/ebpf v0.21.0 github.com/elastic/go-freelru v0.16.0 github.com/elastic/go-perf v0.0.0-20260224073651-af0ee0c731b7 github.com/google/uuid v1.6.0 - github.com/klauspost/compress v1.18.4 + github.com/klauspost/compress v1.18.5 github.com/mdlayher/kobject v0.0.0-20200520190114-19ca17470d7d github.com/minio/sha256-simd v1.0.1 github.com/open-telemetry/sig-profiling/tools/profcheck v0.0.0-20260303084341-52f633d434c9 github.com/peterbourgon/ff/v3 v3.4.0 github.com/stretchr/testify v1.11.1 github.com/zeebo/xxh3 v1.1.0 - go.opentelemetry.io/collector/component v1.53.0 - go.opentelemetry.io/collector/confmap/xconfmap v0.147.0 - go.opentelemetry.io/collector/consumer/consumertest v0.147.0 - go.opentelemetry.io/collector/consumer/xconsumer v0.147.0 - go.opentelemetry.io/collector/pdata v1.53.0 - go.opentelemetry.io/collector/pdata/pprofile v0.147.0 - go.opentelemetry.io/collector/receiver v1.53.0 - go.opentelemetry.io/collector/receiver/receivertest v0.147.0 - go.opentelemetry.io/collector/receiver/xreceiver v0.147.0 + go.opentelemetry.io/collector/component v1.54.0 + go.opentelemetry.io/collector/confmap/xconfmap v0.148.0 + go.opentelemetry.io/collector/consumer/consumertest v0.148.0 + go.opentelemetry.io/collector/consumer/xconsumer v0.148.0 + go.opentelemetry.io/collector/pdata v1.54.0 + go.opentelemetry.io/collector/pdata/pprofile v0.148.0 + go.opentelemetry.io/collector/receiver v1.54.0 + go.opentelemetry.io/collector/receiver/receivertest v0.148.0 + go.opentelemetry.io/collector/receiver/xreceiver v0.148.0 go.opentelemetry.io/otel v1.42.0 go.opentelemetry.io/otel/metric v1.42.0 go.opentelemetry.io/proto/otlp/profiles/v1development v0.3.0 go.uber.org/zap/exp v0.3.0 golang.org/x/arch v0.25.0 - golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa - golang.org/x/mod v0.33.0 + golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 + golang.org/x/mod v0.34.0 golang.org/x/sync v0.20.0 golang.org/x/sys v0.42.0 - google.golang.org/grpc v1.79.2 + google.golang.org/grpc v1.79.3 google.golang.org/protobuf v1.36.11 ) @@ -75,21 +75,21 @@ require ( github.com/alingse/nilnesserr v0.2.0 // indirect github.com/ashanbrown/forbidigo/v2 v2.3.0 // indirect github.com/ashanbrown/makezero/v2 v2.1.0 // indirect - github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.19.11 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 // indirect - github.com/aws/aws-sdk-go-v2/service/signin v1.0.7 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.30.12 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.16 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.41.8 // indirect + github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.19.12 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.0.8 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.30.13 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.41.9 // indirect github.com/aws/smithy-go v1.24.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -120,7 +120,7 @@ require ( github.com/dlclark/regexp2 v1.11.5 // indirect github.com/dnephin/pflag v1.0.7 // indirect github.com/ettle/strcase v0.2.0 // indirect - github.com/fatih/color v1.18.0 // indirect + github.com/fatih/color v1.19.0 // indirect github.com/fatih/structtag v1.2.0 // indirect github.com/firefart/nonamedreturns v1.0.6 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect @@ -147,7 +147,7 @@ require ( github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect github.com/golangci/go-printf-func-name v0.1.1 // indirect github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect - github.com/golangci/golangci-lint/v2 v2.11.3 // indirect + github.com/golangci/golangci-lint/v2 v2.11.4 // indirect github.com/golangci/golines v0.15.0 // indirect github.com/golangci/misspell v0.8.0 // indirect github.com/golangci/plugin-module-register v0.1.2 // indirect @@ -186,7 +186,7 @@ require ( github.com/knadh/koanf/providers/env/v2 v2.0.0 // indirect github.com/knadh/koanf/providers/file v1.2.1 // indirect github.com/knadh/koanf/providers/fs v1.0.0 // indirect - github.com/knadh/koanf/v2 v2.3.2 // indirect + github.com/knadh/koanf/v2 v2.3.3 // indirect github.com/kulti/thelper v0.7.1 // indirect github.com/kunwardeep/paralleltest v1.0.15 // indirect github.com/lasiar/canonicalheader v1.1.2 // indirect @@ -241,7 +241,7 @@ require ( github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/ryancurrah/gomodguard v1.4.1 // indirect - github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect + github.com/ryanrolds/sqlclosecheck v0.6.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect @@ -250,7 +250,7 @@ require ( github.com/sergi/go-diff v1.2.0 // indirect github.com/sirupsen/logrus v1.9.4 // indirect github.com/sivchari/containedctx v1.0.3 // indirect - github.com/sonatard/noctx v0.5.0 // indirect + github.com/sonatard/noctx v0.5.1 // indirect github.com/sourcegraph/go-diff v0.7.0 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.5.0 // indirect @@ -283,26 +283,26 @@ require ( go.augendre.info/fatcontext v0.9.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/collector/cmd/builder v0.147.0 // indirect - go.opentelemetry.io/collector/component/componenttest v0.147.0 // indirect - go.opentelemetry.io/collector/confmap v1.53.0 // indirect - go.opentelemetry.io/collector/consumer v1.53.0 // indirect - go.opentelemetry.io/collector/consumer/consumererror v0.147.0 // indirect - go.opentelemetry.io/collector/featuregate v1.53.0 // indirect - go.opentelemetry.io/collector/internal/componentalias v0.147.0 // indirect - go.opentelemetry.io/collector/pipeline v1.53.0 // indirect - go.opentelemetry.io/otel/sdk v1.40.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.40.0 // indirect + go.opentelemetry.io/collector/cmd/builder v0.148.0 // indirect + go.opentelemetry.io/collector/component/componenttest v0.148.0 // indirect + go.opentelemetry.io/collector/confmap v1.54.0 // indirect + go.opentelemetry.io/collector/consumer v1.54.0 // indirect + go.opentelemetry.io/collector/consumer/consumererror v0.148.0 // indirect + go.opentelemetry.io/collector/featuregate v1.54.0 // indirect + go.opentelemetry.io/collector/internal/componentalias v0.148.0 // indirect + go.opentelemetry.io/collector/pipeline v1.54.0 // indirect + go.opentelemetry.io/otel/sdk v1.42.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.42.0 // indirect go.opentelemetry.io/otel/trace v1.42.0 // indirect go.opentelemetry.io/proto/otlp v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.1 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358 // indirect - golang.org/x/net v0.51.0 // indirect - golang.org/x/term v0.40.0 // indirect - golang.org/x/text v0.34.0 // indirect - golang.org/x/tools v0.42.0 // indirect + golang.org/x/net v0.52.0 // indirect + golang.org/x/term v0.41.0 // indirect + golang.org/x/text v0.35.0 // indirect + golang.org/x/tools v0.43.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/tools.sum b/tools.sum index 4f4eb7593..4898439db 100644 --- a/tools.sum +++ b/tools.sum @@ -96,42 +96,42 @@ github.com/ashanbrown/forbidigo/v2 v2.3.0 h1:OZZDOchCgsX5gvToVtEBoV2UWbFfI6RKQTi github.com/ashanbrown/forbidigo/v2 v2.3.0/go.mod h1:5p6VmsG5/1xx3E785W9fouMxIOkvY2rRV9nMdWadd6c= github.com/ashanbrown/makezero/v2 v2.1.0 h1:snuKYMbqosNokUKm+R6/+vOPs8yVAi46La7Ck6QYSaE= github.com/ashanbrown/makezero/v2 v2.1.0/go.mod h1:aEGT/9q3S8DHeE57C88z2a6xydvgx8J5hgXIGWgo0MY= -github.com/aws/aws-sdk-go-v2 v1.41.3 h1:4kQ/fa22KjDt13QCy1+bYADvdgcxpfH18f0zP542kZA= -github.com/aws/aws-sdk-go-v2 v1.41.3/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6 h1:N4lRUXZpZ1KVEUn6hxtco/1d2lgYhNn1fHkkl8WhlyQ= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.6/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI= -github.com/aws/aws-sdk-go-v2/config v1.32.11 h1:ftxI5sgz8jZkckuUHXfC/wMUc8u3fG1vQS0plr2F2Zs= -github.com/aws/aws-sdk-go-v2/config v1.32.11/go.mod h1:twF11+6ps9aNRKEDimksp923o44w/Thk9+8YIlzWMmo= -github.com/aws/aws-sdk-go-v2/credentials v1.19.11 h1:NdV8cwCcAXrCWyxArt58BrvZJ9pZ9Fhf9w6Uh5W3Uyc= -github.com/aws/aws-sdk-go-v2/credentials v1.19.11/go.mod h1:30yY2zqkMPdrvxBqzI9xQCM+WrlrZKSOpSJEsylVU+8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19 h1:INUvJxmhdEbVulJYHI061k4TVuS3jzzthNvjqvVvTKM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.19/go.mod h1:FpZN2QISLdEBWkayloda+sZjVJL+e9Gl0k1SyTgcswU= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19 h1:/sECfyq2JTifMI2JPyZ4bdRN77zJmr6SrS1eL3augIA= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.19/go.mod h1:dMf8A5oAqr9/oxOfLkC/c2LU/uMcALP0Rgn2BD5LWn0= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19 h1:AWeJMk33GTBf6J20XJe6qZoRSJo0WfUhsMdUKhoODXE= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.19/go.mod h1:+GWrYoaAsV7/4pNHpwh1kiNLXkKaSoppxQq9lbH8Ejw= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5 h1:clHU5fm//kWS1C2HgtgWxfQbFbx4b6rx+5jzhgX9HrI= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.5/go.mod h1:O3h0IK87yXci+kg6flUKzJnWeziQUKciKrLjcatSNcY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20 h1:qi3e/dmpdONhj1RyIZdi6DKKpDXS5Lb8ftr3p7cyHJc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.20/go.mod h1:V1K+TeJVD5JOk3D9e5tsX2KUdL7BlB+FV6cBhdobN8c= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6 h1:XAq62tBTJP/85lFD5oqOOe7YYgWxY9LvWq8plyDvDVg= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.6/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11 h1:BYf7XNsJMzl4mObARUBUib+j2tf0U//JAAtTnYqvqCw= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.11/go.mod h1:aEUS4WrNk/+FxkBZZa7tVgp4pGH+kFGW40Y8rCPqt5g= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19 h1:X1Tow7suZk9UCJHE1Iw9GMZJJl0dAnKXXP1NaSDHwmw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.19/go.mod h1:/rARO8psX+4sfjUQXp5LLifjUt8DuATZ31WptNJTyQA= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19 h1:JnQeStZvPHFHeyky/7LbMlyQjUa+jIBj36OlWm0pzIk= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.19/go.mod h1:HGyasyHvYdFQeJhvDHfH7HXkHh57htcJGKDZ+7z+I24= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4 h1:4ExZyubQ6LQQVuF2Qp9OsfEvsTdAWh5Gfwf6PgIdLdk= -github.com/aws/aws-sdk-go-v2/service/s3 v1.96.4/go.mod h1:NF3JcMGOiARAss1ld3WGORCw71+4ExDD2cbbdKS5PpA= -github.com/aws/aws-sdk-go-v2/service/signin v1.0.7 h1:Y2cAXlClHsXkkOvWZFXATr34b0hxxloeQu/pAZz2row= -github.com/aws/aws-sdk-go-v2/service/signin v1.0.7/go.mod h1:idzZ7gmDeqeNrSPkdbtMp9qWMgcBwykA7P7Rzh5DXVU= -github.com/aws/aws-sdk-go-v2/service/sso v1.30.12 h1:iSsvB9EtQ09YrsmIc44Heqlx5ByGErqhPK1ZQLppias= -github.com/aws/aws-sdk-go-v2/service/sso v1.30.12/go.mod h1:fEWYKTRGoZNl8tZ77i61/ccwOMJdGxwOhWCkp6TXAr0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.16 h1:EnUdUqRP1CNzt2DkV67tJx6XDN4xlfBFm+bzeNOQVb0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.16/go.mod h1:Jic/xv0Rq/pFNCh3WwpH4BEqdbSAl+IyHro8LbibHD8= -github.com/aws/aws-sdk-go-v2/service/sts v1.41.8 h1:XQTQTF75vnug2TXS8m7CVJfC2nniYPZnO1D4Np761Oo= -github.com/aws/aws-sdk-go-v2/service/sts v1.41.8/go.mod h1:Xgx+PR1NUOjNmQY+tRMnouRp83JRM8pRMw/vCaVhPkI= +github.com/aws/aws-sdk-go-v2 v1.41.4 h1:10f50G7WyU02T56ox1wWXq+zTX9I1zxG46HYuG1hH/k= +github.com/aws/aws-sdk-go-v2 v1.41.4/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7 h1:3kGOqnh1pPeddVa/E37XNTaWJ8W6vrbYV9lJEkCnhuY= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.7/go.mod h1:lyw7GFp3qENLh7kwzf7iMzAxDn+NzjXEAGjKS2UOKqI= +github.com/aws/aws-sdk-go-v2/config v1.32.12 h1:O3csC7HUGn2895eNrLytOJQdoL2xyJy0iYXhoZ1OmP0= +github.com/aws/aws-sdk-go-v2/config v1.32.12/go.mod h1:96zTvoOFR4FURjI+/5wY1vc1ABceROO4lWgWJuxgy0g= +github.com/aws/aws-sdk-go-v2/credentials v1.19.12 h1:oqtA6v+y5fZg//tcTWahyN9PEn5eDU/Wpvc2+kJ4aY8= +github.com/aws/aws-sdk-go-v2/credentials v1.19.12/go.mod h1:U3R1RtSHx6NB0DvEQFGyf/0sbrpJrluENHdPy1j/3TE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 h1:zOgq3uezl5nznfoK3ODuqbhVg1JzAGDUhXOsU0IDCAo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20/go.mod h1:z/MVwUARehy6GAg/yQ1GO2IMl0k++cu1ohP9zo887wE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 h1:CNXO7mvgThFGqOFgbNAP2nol2qAWBOGfqR/7tQlvLmc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20/go.mod h1:oydPDJKcfMhgfcgBUZaG+toBbwy8yPWubJXBVERtI4o= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 h1:tN6W/hg+pkM+tf9XDkWUbDEjGLb+raoBMFsTodcoYKw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20/go.mod h1:YJ898MhD067hSHA6xYCx5ts/jEd8BSOLtQDL3iZsvbc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6 h1:qYQ4pzQ2Oz6WpQ8T3HvGHnZydA72MnLuFK9tJwmrbHw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6/go.mod h1:O3h0IK87yXci+kg6flUKzJnWeziQUKciKrLjcatSNcY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21 h1:SwGMTMLIlvDNyhMteQ6r8IJSBPlRdXX5d4idhIGbkXA= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.21/go.mod h1:UUxgWxofmOdAMuqEsSppbDtGKLfR04HGsD0HXzvhI1k= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 h1:5EniKhLZe4xzL7a+fU3C2tfUN4nWIqlLesfrjkuPFTY= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12 h1:qtJZ70afD3ISKWnoX3xB0J2otEqu3LqicRcDBqsj0hQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.12/go.mod h1:v2pNpJbRNl4vEUWEh5ytQok0zACAKfdmKS51Hotc3pQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 h1:2HvVAIq+YqgGotK6EkMf+KIEqTISmTYh5zLpYyeTo1Y= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20/go.mod h1:V4X406Y666khGa8ghKmphma/7C0DAtEQYhkq9z4vpbk= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20 h1:siU1A6xjUZ2N8zjTHSXFhB9L/2OY8Dqs0xXiLjF30jA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.20/go.mod h1:4TLZCmVJDM3FOu5P5TJP0zOlu9zWgDWU7aUxWbr+rcw= +github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1 h1:csi9NLpFZXb9fxY7rS1xVzgPRGMt7MSNWeQ6eo247kE= +github.com/aws/aws-sdk-go-v2/service/s3 v1.97.1/go.mod h1:qXVal5H0ChqXP63t6jze5LmFalc7+ZE7wOdLtZ0LCP0= +github.com/aws/aws-sdk-go-v2/service/signin v1.0.8 h1:0GFOLzEbOyZABS3PhYfBIx2rNBACYcKty+XGkTgw1ow= +github.com/aws/aws-sdk-go-v2/service/signin v1.0.8/go.mod h1:LXypKvk85AROkKhOG6/YEcHFPoX+prKTowKnVdcaIxE= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.13 h1:kiIDLZ005EcKomYYITtfsjn7dtOwHDOFy7IbPXKek2o= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.13/go.mod h1:2h/xGEowcW/g38g06g3KpRWDlT+OTfxxI0o1KqayAB8= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17 h1:jzKAXIlhZhJbnYwHbvUQZEB8KfgAEuG0dc08Bkda7NU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17/go.mod h1:Al9fFsXjv4KfbzQHGe6V4NZSZQXecFcvaIF4e70FoRA= +github.com/aws/aws-sdk-go-v2/service/sts v1.41.9 h1:Cng+OOwCHmFljXIxpEVXAGMnBia8MSU6Ch5i9PgBkcU= +github.com/aws/aws-sdk-go-v2/service/sts v1.41.9/go.mod h1:LrlIndBDdjA/EeXeyNBle+gyCwTlizzW5ycgWnvIxkk= github.com/aws/smithy-go v1.24.2 h1:FzA3bu/nt/vDvmnkg+R8Xl46gmzEDam6mZ1hzmwXFng= github.com/aws/smithy-go v1.24.2/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= @@ -217,8 +217,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q= github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= -github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= -github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= +github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w= +github.com/fatih/color v1.19.0/go.mod h1:zNk67I0ZUT1bEGsSGyCZYZNrHuTkJJB+r6Q9VuMi0LE= github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/firefart/nonamedreturns v1.0.6 h1:vmiBcKV/3EqKY3ZiPxCINmpS431OcE1S47AQUwhrg8E= @@ -322,8 +322,8 @@ github.com/golangci/go-printf-func-name v0.1.1 h1:hIYTFJqAGp1iwoIfsNTpoq1xZAarog github.com/golangci/go-printf-func-name v0.1.1/go.mod h1:Es64MpWEZbh0UBtTAICOZiB+miW53w/K9Or/4QogJss= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY= -github.com/golangci/golangci-lint/v2 v2.11.3 h1:ySX1GtLwlwOEzcLKJifI/aIVesrcHDno+5mrro8rWes= -github.com/golangci/golangci-lint/v2 v2.11.3/go.mod h1:HmDEVZuxz77cNLumPfNNHAFyMX/b7IbA0tpmAbwiVfo= +github.com/golangci/golangci-lint/v2 v2.11.4 h1:GK+UlZBN5y7rh2PBnHA93XLSX6RaF7uhzJQ3JwU1wuA= +github.com/golangci/golangci-lint/v2 v2.11.4/go.mod h1:ODQDCASMA3VqfZYIbbQLpTRTzV7O/vjmIRF6u8NyFwI= github.com/golangci/golines v0.15.0 h1:Qnph25g8Y1c5fdo1X7GaRDGgnMHgnxh4Gk4VfPTtRx0= github.com/golangci/golines v0.15.0/go.mod h1:AZjXd23tbHMpowhtnGlj9KCNsysj72aeZVVHnVcZx10= github.com/golangci/misspell v0.8.0 h1:qvxQhiE2/5z+BVRo1kwYA8yGz+lOlu5Jfvtx2b04Jbg= @@ -447,8 +447,8 @@ github.com/kisielk/errcheck v1.10.0/go.mod h1:kQxWMMVZgIkDq7U8xtG/n2juOjbLgZtedi github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/ttjfJCE= github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg= -github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= -github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= +github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo= @@ -463,8 +463,8 @@ github.com/knadh/koanf/providers/file v1.2.1 h1:bEWbtQwYrA+W2DtdBrQWyXqJaJSG3KrP github.com/knadh/koanf/providers/file v1.2.1/go.mod h1:bp1PM5f83Q+TOUu10J/0ApLBd9uIzg+n9UgthfY+nRA= github.com/knadh/koanf/providers/fs v1.0.0 h1:tvn4MrduLgdOSUqqEHULUuIcELXf6xDOpH8GUErpYaY= github.com/knadh/koanf/providers/fs v1.0.0/go.mod h1:FksHET+xXFNDozvj8ZCdom54OnZ6eGKJtC5FhZJKx/8= -github.com/knadh/koanf/v2 v2.3.2 h1:Ee6tuzQYFwcZXQpc2MiVeC6qHMandf5SMUJJNoFp/c4= -github.com/knadh/koanf/v2 v2.3.2/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= +github.com/knadh/koanf/v2 v2.3.3 h1:jLJC8XCRfLC7n4F+ZKKdBsbq1bfXTpuFhf4L7t94D94= +github.com/knadh/koanf/v2 v2.3.3/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -634,8 +634,8 @@ github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryancurrah/gomodguard v1.4.1 h1:eWC8eUMNZ/wM/PWuZBv7JxxqT5fiIKSIyTvjb7Elr+g= github.com/ryancurrah/gomodguard v1.4.1/go.mod h1:qnMJwV1hX9m+YJseXEBhd2s90+1Xn6x9dLz11ualI1I= -github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU= -github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ= +github.com/ryanrolds/sqlclosecheck v0.6.0 h1:pEyL9okISdg1F1SEpJNlrEotkTGerv5BMk7U4AG0eVg= +github.com/ryanrolds/sqlclosecheck v0.6.0/go.mod h1:xyX16hsDaCMXHrMJ3JMzGf5OpDfHTOTTQrT7HOFUmeU= github.com/sanposhiho/wastedassign/v2 v2.1.0 h1:crurBF7fJKIORrV85u9UUpePDYGWnwvv3+A96WvwXT0= github.com/sanposhiho/wastedassign/v2 v2.1.0/go.mod h1:+oSmSC+9bQ+VUAxA66nBb0Z7N8CK7mscKTDYC6aIek4= github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 h1:KRzFb2m7YtdldCEkzs6KqmJw4nqEVZGK7IN2kJkjTuQ= @@ -658,8 +658,8 @@ github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE= github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4= -github.com/sonatard/noctx v0.5.0 h1:e/jdaqAsuWVOKQ0P6NWiIdDNHmHT5SwuuSfojFjzwrw= -github.com/sonatard/noctx v0.5.0/go.mod h1:64XdbzFb18XL4LporKXp8poqZtPKbCrqQ402CV+kJas= +github.com/sonatard/noctx v0.5.1 h1:wklWg9c9ZYugOAk7qG4yP4PBrlQsmSLPTvW1K4PRQMs= +github.com/sonatard/noctx v0.5.1/go.mod h1:64XdbzFb18XL4LporKXp8poqZtPKbCrqQ402CV+kJas= github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= @@ -760,64 +760,64 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/collector/cmd/builder v0.147.0 h1:5oX+85nxDeSjBRv6JdV4v6v2XMgdB1P026wVZteFPV0= -go.opentelemetry.io/collector/cmd/builder v0.147.0/go.mod h1:oP+JvKxz7BWGPQUPa/AmoIamZvk6kQtz8XHBJVuy3h4= -go.opentelemetry.io/collector/component v1.53.0 h1:A+GU9n4eKnFVmrr7NPpbVvJ1kp985jXtachb9gy12mk= -go.opentelemetry.io/collector/component v1.53.0/go.mod h1:yqyFwDuP4JKwOFaxdqoWj25aVthtavGkSDp2K42x+YY= -go.opentelemetry.io/collector/component/componenttest v0.147.0 h1:9XTwUT87gFWScoP29GEyMjKjr0jycVon6u/EVLrw08w= -go.opentelemetry.io/collector/component/componenttest v0.147.0/go.mod h1:ph5UnCbKUeX3xBg9eSdueRnGmNB4DmhQ0KC6lTsGYTs= -go.opentelemetry.io/collector/confmap v1.53.0 h1:gp5CDXNv2Bg+Ytr3A+ZiaVg9SfNiZKbxLUo6ogfyVVE= -go.opentelemetry.io/collector/confmap v1.53.0/go.mod h1:Abi0meDEJeUNlHF2uw2whtuH10TyW2pkqH547sgmRTc= -go.opentelemetry.io/collector/confmap/xconfmap v0.147.0 h1:4FWhq/szzeYEJLLMXWsLMY5b1qYy83M7rbEBUJCHnUY= -go.opentelemetry.io/collector/confmap/xconfmap v0.147.0/go.mod h1:EHgZFJzZU88Y9A+NlKCn9EwrVHEzASEtCsHw3kv+jgI= -go.opentelemetry.io/collector/consumer v1.53.0 h1:Gyy80dX5r1Lv9lvQk8XFtUkWs1eniicOzzCQBejLseg= -go.opentelemetry.io/collector/consumer v1.53.0/go.mod h1:f5U6ibd+XpC5eOSeEYhERAQJ2a5bp1d2RzW3MFddMDM= -go.opentelemetry.io/collector/consumer/consumererror v0.147.0 h1:c4jjAEke6AEqoxalOAIEudGuN4rnnheaLWdpJXPCAPQ= -go.opentelemetry.io/collector/consumer/consumererror v0.147.0/go.mod h1:9MwE9k6xHd3TGBSAeKSmt42dwWyxwUhYqfwPUx1ZQJY= -go.opentelemetry.io/collector/consumer/consumertest v0.147.0 h1:AU3sUm2L3pezrg6hzPJAO19ZANQoCcfgbyanN0q360g= -go.opentelemetry.io/collector/consumer/consumertest v0.147.0/go.mod h1:QWGFRmeYNbKaseDTNT3a2iGDmjl+DCZnLzMP7Rjj0JM= -go.opentelemetry.io/collector/consumer/xconsumer v0.147.0 h1:XJVQc2dYyalaFXMTa4/RE+aweQTiBpw1edfwdCIJSxw= -go.opentelemetry.io/collector/consumer/xconsumer v0.147.0/go.mod h1:mtwh1VsUoGjxwdmXEzjbswH7KAGByJNCIMHmhqwXeK0= -go.opentelemetry.io/collector/featuregate v1.53.0 h1:cgjXdtl7jezWxq6V0eohe/JqjY4PBotZGb5+bTR2OJw= -go.opentelemetry.io/collector/featuregate v1.53.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g= -go.opentelemetry.io/collector/internal/componentalias v0.147.0 h1:cC1gEQwzQnDvbELVjE3FXqgBkrsUl5JhzOT+6hISaLI= -go.opentelemetry.io/collector/internal/componentalias v0.147.0/go.mod h1:RxuMjMy1j+2jZcY1Ej0E+NC6DnoqTMEvIwRiXtk82rc= -go.opentelemetry.io/collector/internal/testutil v0.147.0 h1:DFlRxBRp23/sZnpTITK25yqe0d56yNvK+63IaWc6OsU= -go.opentelemetry.io/collector/internal/testutil v0.147.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= -go.opentelemetry.io/collector/pdata v1.53.0 h1:DlYDbRwammEZaxDZHINx5v0n8SEOVNniPbi6FRTlVkA= -go.opentelemetry.io/collector/pdata v1.53.0/go.mod h1:LRSYGNjKXaUrZEwZv3Yl+8/zV2HmRGKXW62zB2bysms= -go.opentelemetry.io/collector/pdata/pprofile v0.147.0 h1:yQS3RBvcvRcy9N7AnJvsxmse0AxJcRqBZfwMA22xBA8= -go.opentelemetry.io/collector/pdata/pprofile v0.147.0/go.mod h1:pm9mUqHNpT1SaCkxILu4FW1BvMAelh7EKhpSKe2KJIQ= -go.opentelemetry.io/collector/pdata/testdata v0.147.0 h1:fZB5jY5F+zC/oeGYBa92IknhPQIlLSwoxDUMzhrpTP4= -go.opentelemetry.io/collector/pdata/testdata v0.147.0/go.mod h1:+AB6qTXrYEBvqrv394SEXzuWxtL9LLrnVgIjYpP9HHU= -go.opentelemetry.io/collector/pipeline v1.53.0 h1:+RrNuAmHnzldGOzCCYLJv0qTFoi9QJGrLm+MEYMozmo= -go.opentelemetry.io/collector/pipeline v1.53.0/go.mod h1:RD90NG3Jbk965Xaqym3JyHkuol4uZJjQVUkD9ddXJIs= -go.opentelemetry.io/collector/receiver v1.53.0 h1:FACspX7EMj91g8OY3twlJKzw2LKj0g5wZAXT4Ys2XRU= -go.opentelemetry.io/collector/receiver v1.53.0/go.mod h1:rhBr1+X3N9ijDBBKrVCiRMfVTUlOSWj+Gj0A6qevmoA= -go.opentelemetry.io/collector/receiver/receivertest v0.147.0 h1:t+AqCUJT0ivO1eE09f8gIqnO73UeEFqjvL/annt6rWg= -go.opentelemetry.io/collector/receiver/receivertest v0.147.0/go.mod h1:8kZCwsG8KNpWRf+2izpoY8iIOyfC2cQ2CLSZc9LgOP0= -go.opentelemetry.io/collector/receiver/xreceiver v0.147.0 h1:/KAxTban2sQhiksAu/EG+ri0mNgSxldhJ4lj/XGT+xQ= -go.opentelemetry.io/collector/receiver/xreceiver v0.147.0/go.mod h1:DCjNMipiIv59Jc/YfWFxAvgonurJET9cw3D79U1yLMc= +go.opentelemetry.io/collector/cmd/builder v0.148.0 h1:a8mxjU7wyD1Qh9lj0UEfsNRL1/S1/yRDFuGkHIGlwbk= +go.opentelemetry.io/collector/cmd/builder v0.148.0/go.mod h1:pFwU1tJbcpfD+K37IsTboMQ5jsgPBj8nhtkXpO+1WLE= +go.opentelemetry.io/collector/component v1.54.0 h1:LvtX0Tzz18n44OrUFVk77N1FNsejfWJqztB28hrmDM8= +go.opentelemetry.io/collector/component v1.54.0/go.mod h1:yUMBYsySY/sDcXm8kOzEoZxt+JLdala6hxzSW0npOxY= +go.opentelemetry.io/collector/component/componenttest v0.148.0 h1:tBXJWmy2X6KD8S0QU2YZa2zYBqP+IycSM4iOtwDD2pA= +go.opentelemetry.io/collector/component/componenttest v0.148.0/go.mod h1:1c1+6mZOmI0raoya5vA/X0F+fawEjNS6tCEs5xLATtA= +go.opentelemetry.io/collector/confmap v1.54.0 h1:RUoxQ4uAYHTI57GfHh61D00tTQsXm9T88ozrAiicByc= +go.opentelemetry.io/collector/confmap v1.54.0/go.mod h1:mQxG8bk0IWIt9gbWMvzE+cRkOuCuzbzkNGBq2YJ4wNM= +go.opentelemetry.io/collector/confmap/xconfmap v0.148.0 h1:UW8MX5VlKJf67x4Et7J9kPwP9Rv4VSmJ+UUpgRcb//c= +go.opentelemetry.io/collector/confmap/xconfmap v0.148.0/go.mod h1:4qTMr3V0uSXXac9wVs/UD5fIqRKw5yIl58+Vjsc6RHM= +go.opentelemetry.io/collector/consumer v1.54.0 h1:RGGtUN+GbkV1px3T6XdUHmgJ+ldJ1hAHdesFzW/wgL0= +go.opentelemetry.io/collector/consumer v1.54.0/go.mod h1:1PC6XINTL9DdT1bwvfMdHE72EB4RWU/WcPemUrhqKN8= +go.opentelemetry.io/collector/consumer/consumererror v0.148.0 h1:lKVkNWBeRXG41lHBf5KzA9oErRZifx6qTd9erAFfEkE= +go.opentelemetry.io/collector/consumer/consumererror v0.148.0/go.mod h1:N/UppmtknIdzpEiy3xirH1EiBEBOqKqD77NCyNi2Rbc= +go.opentelemetry.io/collector/consumer/consumertest v0.148.0 h1:ms0HtWMj17tI1Yds0hSuUI5QYpNEqd11AAhwIoUY2HE= +go.opentelemetry.io/collector/consumer/consumertest v0.148.0/go.mod h1:wScw/OzKkf/ZzJn4ToI30OoI1kJiY16WNrcFToXSzK0= +go.opentelemetry.io/collector/consumer/xconsumer v0.148.0 h1:m3b9rY7CLD5Pcge6sSKHIT3OlcPN6xqYsdtVs9oJ528= +go.opentelemetry.io/collector/consumer/xconsumer v0.148.0/go.mod h1:bG+Wz6xmIBl/gHzq1sqvksWXqTLuTX17Wo//zIsdZpw= +go.opentelemetry.io/collector/featuregate v1.54.0 h1:ufo5Hy4Co9pcHVg24hyanm8qFG3TkkYbVyQXPVAbwDc= +go.opentelemetry.io/collector/featuregate v1.54.0/go.mod h1:PS7zY/zaCb28EqciePVwRHVhc3oKortTFXsi3I6ee4g= +go.opentelemetry.io/collector/internal/componentalias v0.148.0 h1:Y6MftNIZSzOr47TTj6A2z2UR3IwbeG46sAQshicGtDg= +go.opentelemetry.io/collector/internal/componentalias v0.148.0/go.mod h1:uwKzfehzwRgHxdHgFXYSBHNBeWSSqsqQYGWr5fk08G0= +go.opentelemetry.io/collector/internal/testutil v0.148.0 h1:3Z9hperte3vSmbBTYeNndoEUICICrNz8hzx+v0FYXBQ= +go.opentelemetry.io/collector/internal/testutil v0.148.0/go.mod h1:Jkjs6rkqs973LqgZ0Fe3zrokQRKULYXPIf4HuqStiEE= +go.opentelemetry.io/collector/pdata v1.54.0 h1:3LharKb792cQ3VrUGxd3IcpWwfu3ST+GSTU382jVz1s= +go.opentelemetry.io/collector/pdata v1.54.0/go.mod h1:+MqC3VVOv/EX9YVFUo+mI4F0YmwJ+fXBYwjmu+mRiZ8= +go.opentelemetry.io/collector/pdata/pprofile v0.148.0 h1:MgrNZmqwhZGfiYwcKKtM/iXgTZqqvG5dUphriRXMZHU= +go.opentelemetry.io/collector/pdata/pprofile v0.148.0/go.mod h1:MTTMnZPqWX1S/rBDatU0W19udlycBkWuzVV5qnemHdc= +go.opentelemetry.io/collector/pdata/testdata v0.148.0 h1:yzakPuFgoKK8WcrlhyYHLMLA/kLScQKGsXkIgwieAQ8= +go.opentelemetry.io/collector/pdata/testdata v0.148.0/go.mod h1:2rFvxm8qwd3nlO90FtJw6ZGAjt+bLndxmQuJaMO9kfQ= +go.opentelemetry.io/collector/pipeline v1.54.0 h1:jYlCkdFLITVBdeB+IGS07zXWywEgvT3Ky46vdKKT+Ks= +go.opentelemetry.io/collector/pipeline v1.54.0/go.mod h1:RD90NG3Jbk965Xaqym3JyHkuol4uZJjQVUkD9ddXJIs= +go.opentelemetry.io/collector/receiver v1.54.0 h1:2e9o+eihZ/nJnzVj5JAcJ+VQ653HcZRiT127qBZRqa8= +go.opentelemetry.io/collector/receiver v1.54.0/go.mod h1:xFZnvYTBjdi9iS/d/UUXzss4h311mLsZliQFQXk4o/k= +go.opentelemetry.io/collector/receiver/receivertest v0.148.0 h1:Fu+B4jCqgZVZmhsKBz3tcgimFryR6TRAK2D5VGLD2Xc= +go.opentelemetry.io/collector/receiver/receivertest v0.148.0/go.mod h1:K8dMDMEggEg6jB688VOHutivOGEEZ20FJGe4jV9RtWU= +go.opentelemetry.io/collector/receiver/xreceiver v0.148.0 h1:u66Zi3udD9RMRiNOsZzsVcUjRwqJEK+5LV76Ry9l3K0= +go.opentelemetry.io/collector/receiver/xreceiver v0.148.0/go.mod h1:jyHxf8SOfH48ZXb32IS3vPbVYDinsLlZYQddyrveqMg= go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= -go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8= -go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= -go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw= -go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= +go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= +go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts= +go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA= +go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc= go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= go.opentelemetry.io/proto/otlp/profiles/v1development v0.3.0 h1:ZQs05qo3Yh4KUHeVH6v89xErwmsvgA/cLX2/w5Ikp+k= go.opentelemetry.io/proto/otlp/profiles/v1development v0.3.0/go.mod h1:3iiRVKaCfVo0UI1ZaSMm5WbCBbINRqVlD9SUmvyBNrY= -go.opentelemetry.io/proto/slim/otlp v1.9.0 h1:fPVMv8tP3TrsqlkH1HWYUpbCY9cAIemx184VGkS6vlE= -go.opentelemetry.io/proto/slim/otlp v1.9.0/go.mod h1:xXdeJJ90Gqyll+orzUkY4bOd2HECo5JofeoLpymVqdI= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.2.0 h1:o13nadWDNkH/quoDomDUClnQBpdQQ2Qqv0lQBjIXjE8= -go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.2.0/go.mod h1:Gyb6Xe7FTi/6xBHwMmngGoHqL0w29Y4eW8TGFzpefGA= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.2.0 h1:EiUYvtwu6PMrMHVjcPfnsG3v+ajPkbUeH+IL93+QYyk= -go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.2.0/go.mod h1:mUUHKFiN2SST3AhJ8XhJxEoeVW12oqfXog0Bo8W3Ec4= +go.opentelemetry.io/proto/slim/otlp v1.10.0 h1:iR97Vs/ZDR+y9TfuP9b1XBtdPWeC+OMslIBmhcLU7jM= +go.opentelemetry.io/proto/slim/otlp v1.10.0/go.mod h1:lV9250stpjYLPNA5viFabIgP2QlUGRT1GdTgAf8SIUk= +go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0 h1:RUF5rO0hAlgiJt1fzQVzcVs3vZVNHIcMLgOgG4rWNcQ= +go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.3.0/go.mod h1:I89cynRj8y+383o7tEQVg2SVA6SRgDVIouWPUVXjx0U= +go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0 h1:CQvJSldHRUN6Z8jsUeYv8J0lXRvygALXIzsmAeCcZE0= +go.opentelemetry.io/proto/slim/otlp/profiles/v1development v0.3.0/go.mod h1:xSQ+mEfJe/GjK1LXEyVOoSI1N9JV9ZI923X5kup43W4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -849,8 +849,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= -golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= +golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 h1:jiDhWWeC7jfWqR9c/uplMOqJ0sbNlNWv0UkzE0vX1MA= +golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90/go.mod h1:xE1HEv6b+1SCZ5/uscMRjUBKtIxworgEcEi+/n9NQDQ= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20260209203927-2842357ff358 h1:qWFG1Dj7TBjOjOvhEOkmyGPVoquqUKnIU0lEVLp8xyk= @@ -882,8 +882,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= -golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= +golang.org/x/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI= +golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -925,8 +925,8 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= -golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= +golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= +golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1010,8 +1010,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= -golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= +golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU= +golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1022,8 +1022,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= -golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= +golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1077,8 +1077,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= -golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= -golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= +golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s= +golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0= golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= @@ -1155,8 +1155,8 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.79.2 h1:fRMD94s2tITpyJGtBBn7MkMseNpOZU8ZxgC3MMBaXRU= -google.golang.org/grpc v1.79.2/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= +google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/tools/coredump/testdata/amd64/debian-echo-plt1.json b/tools/coredump/testdata/amd64/debian-echo-plt1.json new file mode 100644 index 000000000..db71b5369 --- /dev/null +++ b/tools/coredump/testdata/amd64/debian-echo-plt1.json @@ -0,0 +1,29 @@ +{ + "coredump-ref": "898161f0dac2f375b028692591093e37bb60a2a43741038d7d4e27ecda49bb4a", + "threads": [ + { + "lwp": 3914, + "frames": [ + "echo+0x2030", + "echo+0x235e", + "libc.so.6+0x27249", + "libc.so.6+0x27304", + "echo+0x2900" + ] + } + ], + "modules": [ + { + "ref": "a049fb47554c6cde2ee452e5d87f6386abb63af7cdcae9cd0dc99fc80e0bcf35", + "local-path": "/usr/bin/echo" + }, + { + "ref": "593bb1d5355658e645f36e6b1f49832691b24e177209765914e4cce51499dbb4", + "local-path": "/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2" + }, + { + "ref": "bff8750fe719e6000791b88b11747dce8772c37118d0b2348044b70819d13835", + "local-path": "/usr/lib/x86_64-linux-gnu/libc.so.6" + } + ] +} diff --git a/tools/coredump/testdata/amd64/debian-echo-plt2.json b/tools/coredump/testdata/amd64/debian-echo-plt2.json new file mode 100644 index 000000000..3025703e1 --- /dev/null +++ b/tools/coredump/testdata/amd64/debian-echo-plt2.json @@ -0,0 +1,29 @@ +{ + "coredump-ref": "8f89a4d0c0f9e552e9a67ebf6151262b8c0f8c97899257c301f3ee46ac7403ae", + "threads": [ + { + "lwp": 3914, + "frames": [ + "echo+0x203b", + "echo+0x235e", + "libc.so.6+0x27249", + "libc.so.6+0x27304", + "echo+0x2900" + ] + } + ], + "modules": [ + { + "ref": "a049fb47554c6cde2ee452e5d87f6386abb63af7cdcae9cd0dc99fc80e0bcf35", + "local-path": "/usr/bin/echo" + }, + { + "ref": "593bb1d5355658e645f36e6b1f49832691b24e177209765914e4cce51499dbb4", + "local-path": "/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2" + }, + { + "ref": "bff8750fe719e6000791b88b11747dce8772c37118d0b2348044b70819d13835", + "local-path": "/usr/lib/x86_64-linux-gnu/libc.so.6" + } + ] +} diff --git a/tools/coredump/testdata/amd64/java26-deopt.json b/tools/coredump/testdata/amd64/java26-deopt.json new file mode 100644 index 000000000..fc1c84bdd --- /dev/null +++ b/tools/coredump/testdata/amd64/java26-deopt.json @@ -0,0 +1,398 @@ +{ + "coredump-ref": "cea3ba7fcde2a7752d5acae408e8952a02e294c13b9ba2dff5a3ed940dd4ccff", + "threads": [ + { + "lwp": 25424, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9e7a2", + "libjli.so+0x8d5b", + "libjli.so+0x5ebc", + "libjli.so+0x6bfe", + "java+0xada", + "libc.so.6+0x2a1c9", + "libc.so.6+0x2a28a", + "java+0xb78", + "" + ] + }, + { + "lwp": 25446, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe438c6", + "libjvm.so+0xe0f823", + "libjvm.so+0x10106ea", + "libjvm.so+0xae8334", + "void java.lang.Object.wait0(long)+0 in Object.java:0", + "void java.lang.Object.wait(long)+13 in Object.java:391", + "java.lang.ref.Reference java.lang.ref.ReferenceQueue.remove0(long)+4 in ReferenceQueue.java:123", + "java.lang.ref.Reference java.lang.ref.ReferenceQueue.remove(long)+6 in ReferenceQueue.java:201", + "void jdk.internal.ref.CleanerImpl.run()+18 in CleanerImpl.java:146", + "void java.lang.Thread.runWith(java.lang.Object, java.lang.Runnable)+1 in Thread.java:1529", + "void java.lang.Thread.run()+3 in Thread.java:1516", + "void jdk.internal.misc.InnocuousThread.run()+2 in InnocuousThread.java:148", + "StubRoutines (initial stubs)+0 in :0", + "libjvm.so+0x9e8b5f", + "libjvm.so+0x9ea4ae", + "libjvm.so+0xadf78b", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25445, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde53f8", + "libjvm.so+0xe03599", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25444, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde547d", + "libjvm.so+0x7098da", + "libjvm.so+0x70cb46", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25443, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde547d", + "libjvm.so+0x7098da", + "libjvm.so+0x70cb46", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25442, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde53f8", + "libjvm.so+0xdd6f8a", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25441, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde53f8", + "libjvm.so+0xf0ae63", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25440, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0xf2b2db", + "libjvm.so+0xe28734", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25439, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe4370a", + "libjvm.so+0xe0f953", + "libjvm.so+0x10106ea", + "libjvm.so+0xae8334", + "void java.lang.Object.wait0(long)+0 in Object.java:0", + "void java.lang.Object.wait(long)+13 in Object.java:391", + "void java.lang.Object.wait()+0 in Object.java:353", + "java.lang.ref.Reference java.lang.ref.ReferenceQueue.remove0()+2 in ReferenceQueue.java:137", + "java.lang.ref.Reference java.lang.ref.ReferenceQueue.remove()+1 in ReferenceQueue.java:215", + "void java.lang.ref.Finalizer$FinalizerThread.run()+7 in Finalizer.java:165", + "StubRoutines (initial stubs)+0 in :0", + "libjvm.so+0x9e8b5f", + "libjvm.so+0x9ea4ae", + "libjvm.so+0xadf78b", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25438, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde547d", + "libjvm.so+0xae5aa1", + "void java.lang.ref.Reference.waitForReferencePendingList()+0 in Reference.java:0", + "void java.lang.ref.Reference.processPendingReferences()+0 in Reference.java:240", + "void java.lang.ref.Reference$ReferenceHandler.run()+0 in Reference.java:202", + "StubRoutines (initial stubs)+0 in :0", + "libjvm.so+0x9e8b5f", + "libjvm.so+0x9ea4ae", + "libjvm.so+0xadf78b", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25437, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde53f8", + "libjvm.so+0x110471c", + "libjvm.so+0x1105087", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25436, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde53f8", + "libjvm.so+0xe02fea", + "libjvm.so+0xe03100", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25431, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde53f8", + "libjvm.so+0x9161a5", + "libjvm.so+0x91659f", + "libjvm.so+0x72737a", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25430, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25429, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde53f8", + "libjvm.so+0x8a9dba", + "libjvm.so+0x72737a", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25428, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25427, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde53f8", + "libjvm.so+0x89f269", + "libjvm.so+0x72737a", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25426, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 25425, + "frames": [ + "libc.so.6+0x11c5dd", + "libjava.so+0x16887", + "libjava.so+0x162ad", + "libjava.so+0xf036", + "void java.io.FileOutputStream.writeBytes(byte[], int, int, boolean)+0 in FileOutputStream.java:0", + "void java.io.FileOutputStream.write(byte[], int, int)+5 in FileOutputStream.java:352", + "void java.lang.System$Out.write(byte[], int, int)+2 in System.java:1911", + "void java.io.BufferedOutputStream.flushBuffer()+1 in BufferedOutputStream.java:123", + "void java.io.BufferedOutputStream.flush()+0 in BufferedOutputStream.java:203", + "void java.io.PrintStream.write(byte[], int, int)+4 in PrintStream.java:538", + "void sun.nio.cs.StreamEncoder.writeBytes()+7 in StreamEncoder.java:220", + "void sun.nio.cs.StreamEncoder.implFlushBuffer()+1 in StreamEncoder.java:315", + "void sun.nio.cs.StreamEncoder.flushBuffer()+2 in StreamEncoder.java:101", + "void java.io.OutputStreamWriter.flushBuffer()+0 in OutputStreamWriter.java:179", + "void java.io.PrintStream.write(java.lang.String)+4 in PrintStream.java:655", + "void java.io.PrintStream.print(java.lang.String)+0 in PrintStream.java:818", + "void Deopt.Handle(int)+9 in Deopt.java:20", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.Handle(int)+4 in Deopt.java:15", + "void Deopt.main(java.lang.String[])+3 in Deopt.java:31", + "StubRoutines (initial stubs)+0 in :0", + "libjvm.so+0x9e8b5f", + "libjvm.so+0xab6cd2", + "libjvm.so+0xab993e", + "libjli.so+0x3b79", + "libjli.so+0x4bff", + "libjli.so+0x8188", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + } + ], + "modules": [ + { + "ref": "4970ab7d350b1de61085e816e00f931f7aa6354a83d6abbde46826ee9a334eea", + "local-path": "/home/ubuntu/jdk-26/lib/server/libjvm.so" + }, + { + "ref": "9d1cefae4c0e4995cc35ea3195f805454b2d59a27ad15397a1096e735d341faf", + "local-path": "/usr/lib/x86_64-linux-gnu/librt.so.1" + }, + { + "ref": "92dcea07a5b11d939c22a96131d3fbb995e0a84a4d02db7d799bf357689cd794", + "local-path": "/usr/lib/x86_64-linux-gnu/libpthread.so.0" + }, + { + "ref": "9b64150b28505a33d6bc3ecf709c279f6de97a1c184dbda65d06ee4537f6d286", + "local-path": "/usr/lib/x86_64-linux-gnu/libz.so.1.3" + }, + { + "ref": "ca8bb944728bfb437f812d68de480e34fe333abe5ea99ccc46b37f0c899edba3", + "local-path": "/home/ubuntu/jdk-26/lib/libjava.so" + }, + { + "ref": "1b87a1a50b496cfead2b0ad134c2ff536705c82608db240c7e8aa48d6c0e4217", + "local-path": "/usr/lib/x86_64-linux-gnu/libm.so.6" + }, + { + "ref": "d8db8739a1633c972cec6a4fe0566bdcec6fd088f98723492ab0361f66238f75", + "local-path": "/usr/lib/x86_64-linux-gnu/libc.so.6" + }, + { + "ref": "911511065ea1603312a6f671ee5484f9c5a0d5e83a32280440ad74507c564f1a", + "local-path": "/home/ubuntu/jdk-26/lib/libjimage.so" + }, + { + "ref": "850b46fd4f4478060fc106f4d1dc4aa35c969eb5c9bd98aaf64dc6cb3d6a5e32", + "local-path": "/usr/lib/x86_64-linux-gnu/libdl.so.2" + }, + { + "ref": "a89bc1d2b4b95774da97f32c78720a5778c6a76cb7a5dcda90275cdd4d460f4d", + "local-path": "/home/ubuntu/jdk-26/lib/libjli.so" + }, + { + "ref": "1cd555ac46b7887edeaf3c42aac5408c8135e52f6b37870da2cf82d5fe14e829", + "local-path": "/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2" + }, + { + "ref": "8e459e410fbf3825894802e3899367e1fcb0adb6aa6e919bf7c333b405645471", + "local-path": "/home/ubuntu/jdk-26/bin/java" + }, + { + "ref": "814a1fdeb48b8dd0a9bf54f2a122a93658fb4866783d1d7d693da71fb51de9f7", + "local-path": "/home/ubuntu/jdk-26/lib/libsimdsort.so" + } + ] +} diff --git a/tools/coredump/testdata/amd64/java26-prof2.json b/tools/coredump/testdata/amd64/java26-prof2.json new file mode 100644 index 000000000..099a69bdc --- /dev/null +++ b/tools/coredump/testdata/amd64/java26-prof2.json @@ -0,0 +1,438 @@ +{ + "coredump-ref": "e590caaad59c0e57c803d4a79e39296b4015a57aa2d24d0a79efaa101249cd22", + "threads": [ + { + "lwp": 28287, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9e7a2", + "libjli.so+0x8d5b", + "libjli.so+0x5ebc", + "libjli.so+0x6bfe", + "java+0xada", + "libc.so.6+0x2a1c9", + "libc.so.6+0x2a28a", + "java+0xb78", + "" + ] + }, + { + "lwp": 28324, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28323, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28322, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28321, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28312, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28309, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe438c6", + "libjvm.so+0xe0f823", + "libjvm.so+0x10106ea", + "libjvm.so+0xae8334", + "void java.lang.Object.wait0(long)+0 in Object.java:0", + "void java.lang.Object.wait(long)+13 in Object.java:391", + "java.lang.ref.Reference java.lang.ref.ReferenceQueue.remove0(long)+4 in ReferenceQueue.java:123", + "java.lang.ref.Reference java.lang.ref.ReferenceQueue.remove(long)+6 in ReferenceQueue.java:201", + "void jdk.internal.ref.CleanerImpl.run()+18 in CleanerImpl.java:146", + "void java.lang.Thread.runWith(java.lang.Object, java.lang.Runnable)+1 in Thread.java:1529", + "void java.lang.Thread.run()+3 in Thread.java:1516", + "void jdk.internal.misc.InnocuousThread.run()+2 in InnocuousThread.java:148", + "StubRoutines (initial stubs)+0 in :0", + "libjvm.so+0x9e8b5f", + "libjvm.so+0x9ea4ae", + "libjvm.so+0xadf78b", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28308, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde53f8", + "libjvm.so+0xe03599", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28307, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde547d", + "libjvm.so+0x7098da", + "libjvm.so+0x70cb46", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28306, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde547d", + "libjvm.so+0x7098da", + "libjvm.so+0x70cb46", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28305, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde53f8", + "libjvm.so+0xdd6f8a", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28304, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde53f8", + "libjvm.so+0xf0ae63", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28303, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0xf2b2db", + "libjvm.so+0xe28734", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28302, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe4370a", + "libjvm.so+0xe0f953", + "libjvm.so+0x10106ea", + "libjvm.so+0xae8334", + "void java.lang.Object.wait0(long)+0 in Object.java:0", + "void java.lang.Object.wait(long)+13 in Object.java:391", + "void java.lang.Object.wait()+0 in Object.java:353", + "java.lang.ref.Reference java.lang.ref.ReferenceQueue.remove0()+2 in ReferenceQueue.java:137", + "java.lang.ref.Reference java.lang.ref.ReferenceQueue.remove()+1 in ReferenceQueue.java:215", + "void java.lang.ref.Finalizer$FinalizerThread.run()+7 in Finalizer.java:165", + "StubRoutines (initial stubs)+0 in :0", + "libjvm.so+0x9e8b5f", + "libjvm.so+0x9ea4ae", + "libjvm.so+0xadf78b", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28301, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde547d", + "libjvm.so+0xae5aa1", + "void java.lang.ref.Reference.waitForReferencePendingList()+0 in Reference.java:0", + "void java.lang.ref.Reference.processPendingReferences()+0 in Reference.java:240", + "void java.lang.ref.Reference$ReferenceHandler.run()+0 in Reference.java:202", + "StubRoutines (initial stubs)+0 in :0", + "libjvm.so+0x9e8b5f", + "libjvm.so+0x9ea4ae", + "libjvm.so+0xadf78b", + "libjvm.so+0xa02867", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28300, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde53f8", + "libjvm.so+0x110471c", + "libjvm.so+0x1105087", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28299, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde53f8", + "libjvm.so+0xe02fea", + "libjvm.so+0xe03100", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28294, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9bc8d", + "libjvm.so+0xe43ebb", + "libjvm.so+0xde53f8", + "libjvm.so+0x9161a5", + "libjvm.so+0x91659f", + "libjvm.so+0x72737a", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28293, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28292, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde53f8", + "libjvm.so+0x8a9dba", + "libjvm.so+0x72737a", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28291, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28290, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "libjvm.so+0xe43f4b", + "libjvm.so+0xde53f8", + "libjvm.so+0x89f269", + "libjvm.so+0x72737a", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28289, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0xa4fb7", + "libjvm.so+0xefd991", + "libjvm.so+0x113abca", + "libjvm.so+0x106219e", + "libjvm.so+0xe37825", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28288, + "frames": [ + "vtable chunks+0 in :0", + "void Prof2.main(java.lang.String[])+8 in Prof2.java:16", + "StubRoutines (initial stubs)+0 in :0", + "libjvm.so+0x9e8b5f", + "libjvm.so+0xab6cd2", + "libjvm.so+0xab993e", + "libjli.so+0x3b79", + "libjli.so+0x4bff", + "libjli.so+0x8188", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + } + ], + "modules": [ + { + "ref": "911511065ea1603312a6f671ee5484f9c5a0d5e83a32280440ad74507c564f1a", + "local-path": "/home/ubuntu/jdk-26/lib/libjimage.so" + }, + { + "ref": "92dcea07a5b11d939c22a96131d3fbb995e0a84a4d02db7d799bf357689cd794", + "local-path": "/usr/lib/x86_64-linux-gnu/libpthread.so.0" + }, + { + "ref": "850b46fd4f4478060fc106f4d1dc4aa35c969eb5c9bd98aaf64dc6cb3d6a5e32", + "local-path": "/usr/lib/x86_64-linux-gnu/libdl.so.2" + }, + { + "ref": "1cd555ac46b7887edeaf3c42aac5408c8135e52f6b37870da2cf82d5fe14e829", + "local-path": "/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2" + }, + { + "ref": "4970ab7d350b1de61085e816e00f931f7aa6354a83d6abbde46826ee9a334eea", + "local-path": "/home/ubuntu/jdk-26/lib/server/libjvm.so" + }, + { + "ref": "1b87a1a50b496cfead2b0ad134c2ff536705c82608db240c7e8aa48d6c0e4217", + "local-path": "/usr/lib/x86_64-linux-gnu/libm.so.6" + }, + { + "ref": "9d1cefae4c0e4995cc35ea3195f805454b2d59a27ad15397a1096e735d341faf", + "local-path": "/usr/lib/x86_64-linux-gnu/librt.so.1" + }, + { + "ref": "9b64150b28505a33d6bc3ecf709c279f6de97a1c184dbda65d06ee4537f6d286", + "local-path": "/usr/lib/x86_64-linux-gnu/libz.so.1.3" + }, + { + "ref": "a89bc1d2b4b95774da97f32c78720a5778c6a76cb7a5dcda90275cdd4d460f4d", + "local-path": "/home/ubuntu/jdk-26/lib/libjli.so" + }, + { + "ref": "8e459e410fbf3825894802e3899367e1fcb0adb6aa6e919bf7c333b405645471", + "local-path": "/home/ubuntu/jdk-26/bin/java" + }, + { + "ref": "814a1fdeb48b8dd0a9bf54f2a122a93658fb4866783d1d7d693da71fb51de9f7", + "local-path": "/home/ubuntu/jdk-26/lib/libsimdsort.so" + }, + { + "ref": "d8db8739a1633c972cec6a4fe0566bdcec6fd088f98723492ab0361f66238f75", + "local-path": "/usr/lib/x86_64-linux-gnu/libc.so.6" + }, + { + "ref": "ca8bb944728bfb437f812d68de480e34fe333abe5ea99ccc46b37f0c899edba3", + "local-path": "/home/ubuntu/jdk-26/lib/libjava.so" + } + ] +} diff --git a/tools/coredump/testdata/amd64/java26-prologue-epilogue.json b/tools/coredump/testdata/amd64/java26-prologue-epilogue.json new file mode 100644 index 000000000..8ebc49cc1 --- /dev/null +++ b/tools/coredump/testdata/amd64/java26-prologue-epilogue.json @@ -0,0 +1,317 @@ +{ + "coredump-ref": "708cbf9b57c22025f7479adab562fb4c422053d41ad00cb13f2d7f13bd5e37ae", + "threads": [ + { + "lwp": 28749, + "frames": [ + "libc.so.6+0x11b4fd", + "gdb+0x7849dd", + "gdb+0x7854f7", + "gdb+0x3d3ea9", + "gdb+0x3d6f04", + "gdb+0x11ddab", + "libc.so.6+0x2a1c9", + "libc.so.6+0x2a28a", + "gdb+0x12c1f4" + ] + }, + { + "lwp": 28758, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "gdb+0x790f5a", + "libstdc++.so.6.0.33+0xecdb3", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28757, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "gdb+0x790f5a", + "libstdc++.so.6.0.33+0xecdb3", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28756, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "gdb+0x790f5a", + "libstdc++.so.6.0.33+0xecdb3", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28755, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "gdb+0x790f5a", + "libstdc++.so.6.0.33+0xecdb3", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28754, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "gdb+0x790f5a", + "libstdc++.so.6.0.33+0xecdb3", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28753, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "gdb+0x790f5a", + "libstdc++.so.6.0.33+0xecdb3", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28752, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "gdb+0x790f5a", + "libstdc++.so.6.0.33+0xecdb3", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + }, + { + "lwp": 28751, + "frames": [ + "libc.so.6+0x98d71", + "libc.so.6+0x9b7ec", + "gdb+0x790f5a", + "libstdc++.so.6.0.33+0xecdb3", + "libc.so.6+0x9caa3", + "libc.so.6+0x129c6b" + ] + } + ], + "modules": [ + { + "ref": "022943b3b11c860b049bce41342f1c2594941b7b401d95dfdf235521099fee08", + "local-path": "/usr/lib/x86_64-linux-gnu/libcom_err.so.2.1" + }, + { + "ref": "398c6d2025210279f4c7413ebdb7f4c63bc5afda5ec3b1ccc58885a65acc2b78", + "local-path": "/usr/lib/x86_64-linux-gnu/libnghttp2.so.14.26.0" + }, + { + "ref": "2156351fa3dedd04a7381c6ac7a8a26efa2d6fb08b80f8a2d644ccdd653710ae", + "local-path": "/usr/lib/x86_64-linux-gnu/libmpfr.so.6.2.1" + }, + { + "ref": "5bf46ff3e0fb33f25ff7cd98c877a45dbaf423242904a7eb485173f3fed91ca6", + "local-path": "/usr/lib/x86_64-linux-gnu/libbabeltrace.so.1.0.0" + }, + { + "ref": "0a079f958147699f7bb5bf228406a5d878dc2387fe9cdc5cce6f3e35e20380fc", + "local-path": "/usr/lib/x86_64-linux-gnu/libreadline.so.8.2" + }, + { + "ref": "a91ead095d2c80520c55a89057bbe10b031a075340442e63f44b310f93883a1b", + "local-path": "/usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1.1.0" + }, + { + "ref": "ae6c5a9aecc249fc66e03c16ec6c4385d09d7e12e0ea7694bb831ab4fee8133c", + "local-path": "/usr/lib/x86_64-linux-gnu/libpsl.so.5.3.4" + }, + { + "ref": "9be84101980765fbf67430ca573b648406e68157ef022420e41b17e131904d91", + "local-path": "/usr/lib/x86_64-linux-gnu/libssh.so.4.9.6" + }, + { + "ref": "42467d0dbcc0a6c9e0a31f05a5944095504ce98f093c3fe0825f0a1533fa8207", + "local-path": "/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.8000.0" + }, + { + "ref": "6e632fd9a3125db60bbc623719bbc17b0470330321c5b1c57f1ff7190e5551ad", + "local-path": "/usr/lib/x86_64-linux-gnu/libidn2.so.0.4.0" + }, + { + "ref": "1b87a1a50b496cfead2b0ad134c2ff536705c82608db240c7e8aa48d6c0e4217", + "local-path": "/usr/lib/x86_64-linux-gnu/libm.so.6" + }, + { + "ref": "f96cda97eecdc05d36923d7a52d2119297c12904e321a40490a68f7b2c50394c", + "local-path": "/usr/lib/x86_64-linux-gnu/libpython3.12.so.1.0" + }, + { + "ref": "c6b469a006685ebf2075e200180c3b21f41b88ad722c5697d736ea558cfe3ea1", + "local-path": "/usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.1" + }, + { + "ref": "a0f410ad093236856eee59c4ff2838dc04d932ea0993400f23ed77d67d85af34", + "local-path": "/usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25" + }, + { + "ref": "59994414d0cdec4f678ef91eaaafc44b26b00bca507e4cc7978caaf79f584173", + "local-path": "/usr/lib/x86_64-linux-gnu/libtasn1.so.6.6.3" + }, + { + "ref": "c3c606139d4f7776efa4dbd4a6b62e30c916b07a0cafd8c3ef173d6f093607e3", + "local-path": "/usr/lib/x86_64-linux-gnu/libhogweed.so.6.8" + }, + { + "ref": "64d8a5019d4c294b89fde1193343ea324bbd8603652554e5545f0a01595fa2c5", + "local-path": "/usr/lib/x86_64-linux-gnu/libbrotlidec.so.1.1.0" + }, + { + "ref": "b7ae1a5a5702267e1612599335a5ece68093be99c13b394d55f9a782c390413e", + "local-path": "/usr/lib/x86_64-linux-gnu/libgnutls.so.30.37.1" + }, + { + "ref": "d5a30761bb7e8eadc3345ce3cfbb7567df86159b93e8e1700fd6d34505ad2e20", + "local-path": "/usr/lib/x86_64-linux-gnu/libbabeltrace-ctf.so.1.0.0" + }, + { + "ref": "a9793942a8a5f6f4d0f523ef9e0a5be4f0033f2c6c28520cd2b4e706d53c6e17", + "local-path": "/usr/lib/x86_64-linux-gnu/liblzma.so.5.4.5" + }, + { + "ref": "1cd555ac46b7887edeaf3c42aac5408c8135e52f6b37870da2cf82d5fe14e829", + "local-path": "/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2" + }, + { + "ref": "720f3720d0a0891042b0773d3218163a8e050e26c33744dc173086c5db25f9d6", + "local-path": "/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.8.0" + }, + { + "ref": "f48214417757f18793ed6e180cc14ee1d6f04252a518fc7270e8ca1d0b4260fe", + "local-path": "/usr/lib/x86_64-linux-gnu/libkeyutils.so.1.10" + }, + { + "ref": "e00576d71d81d3ba0cfa4903c835a44a8723aac96f72f79ff75200b4cff9071b", + "local-path": "/usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.11.2" + }, + { + "ref": "d93224d2b0dab4247598be683adca02f5cf00586f99c187579cd7e92058fb7cb", + "local-path": "/usr/lib/x86_64-linux-gnu/libgcc_s.so.1" + }, + { + "ref": "0ccdfb6d6f5c039465f6d002cf7e4c072d48ac6a2cffc8dd6c748dec31592804", + "local-path": "/usr/lib/x86_64-linux-gnu/libgmp.so.10.5.0" + }, + { + "ref": "8e1ef5a40f7b0d5b0fbcd6e4f28dd50b263650338a2bb72503be34632f3629d6", + "local-path": "/usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1" + }, + { + "ref": "b9a20df712d206654477c079f03b568276933e91cbe237e62af791f0f3ab8d8b", + "local-path": "/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2" + }, + { + "ref": "248c989360783cdc52f3659921de852c2efcc2097253ce58e34443f856412814", + "local-path": "/usr/lib/x86_64-linux-gnu/libelf-0.190.so" + }, + { + "ref": "7a73ccfb5cb9fe03ffa3710cf6fcae518af48fb71696957f5a334c802e8f42a5", + "local-path": "/usr/lib/x86_64-linux-gnu/libsource-highlight.so.4.0.1" + }, + { + "ref": "ada59231b9ce983951fdd3425ebb4c138fa473b7470d5bc9d9285a3f8687f801", + "local-path": "/usr/lib/x86_64-linux-gnu/libdebuginfod-0.190.so" + }, + { + "ref": "4763f3f4e0c4f776ec0d6bda54374c0d86bab570259501e50bc492a4fe9cf978", + "local-path": "/usr/lib/x86_64-linux-gnu/libipt.so.2.0.6" + }, + { + "ref": "61f693cd7f8e55ad3ab518b20a00c01adb46ef829cf90773c97615a73f99e09b", + "local-path": "/usr/lib/x86_64-linux-gnu/libtinfo.so.6.4" + }, + { + "ref": "a7d7897c415473e5a4e393fe1a6faf5828c73e06ed2eb6d11648a2cef4ea3552", + "local-path": "/usr/lib/x86_64-linux-gnu/libncursesw.so.6.4" + }, + { + "ref": "2c4c310ff85793ed0edcff9d548a6a73041f68fd0eb6fa998388bb43787036e3", + "local-path": "/usr/lib/x86_64-linux-gnu/libresolv.so.2" + }, + { + "ref": "d6fc1bc9de29c55fc905f77edba1ccc7c7a50b32bd2bb9086b0d0b00104eafc4", + "local-path": "/usr/lib/x86_64-linux-gnu/libcrypto.so.3" + }, + { + "ref": "8394027f2be7c2cc7b2da4797476a8b688a21f75ee231941fa2df8d00ba79d08", + "local-path": "/usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1" + }, + { + "ref": "ddf14275b1fb70ba06510094071adcc1462e675f15ae6cdcadbf40c1dabe5a03", + "local-path": "/usr/lib/x86_64-linux-gnu/liblber.so.2.0.200" + }, + { + "ref": "a9829b999c95452eb0a34cc7b5349427b76dbf3e5d5c8672a5ca69e454c1b151", + "local-path": "/usr/lib/x86_64-linux-gnu/libldap.so.2.0.200" + }, + { + "ref": "15a2a75e8c437b9c99971b5ee10278ab110beef1a56d1d9e5d6759ea140e98ac", + "local-path": "/usr/lib/x86_64-linux-gnu/librtmp.so.1" + }, + { + "ref": "d8db8739a1633c972cec6a4fe0566bdcec6fd088f98723492ab0361f66238f75", + "local-path": "/usr/lib/x86_64-linux-gnu/libc.so.6" + }, + { + "ref": "a43c43c2fbb643f42572577b6c2514905804f963d186d4d630e184c4015e68a7", + "local-path": "/usr/lib/x86_64-linux-gnu/libxxhash.so.0.8.2" + }, + { + "ref": "7bcf825cd449892db5105ad2aed91dcf94a27b796426600c765720c584c54dd1", + "local-path": "/usr/lib/x86_64-linux-gnu/libunistring.so.5.0.0" + }, + { + "ref": "f0068d3b418ae039c309574b33901b82404025eb46c2e983246b9c3976ba7e83", + "local-path": "/usr/bin/gdb" + }, + { + "ref": "52c143c9c77a223a4dac5449eac41fd2490e37c8a30430f1559c1421f4f8ed73", + "local-path": "/usr/lib/x86_64-linux-gnu/libkrb5.so.3.3" + }, + { + "ref": "00f593fe192f2851b8ce23b25cec2488d769beb5a8f63e8c9e563071e1075153", + "local-path": "/usr/lib/x86_64-linux-gnu/libffi.so.8.1.4" + }, + { + "ref": "1fd75fe70354a416d75aef22bcae68c47bd25d20e2d0568c30b1a9838cf62f11", + "local-path": "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.33" + }, + { + "ref": "fdbd3ec8f62e02fdf12e2fbfd2ba080ed0122a2f0a56a343061a6743f1a56568", + "local-path": "/usr/lib/x86_64-linux-gnu/libuuid.so.1.3.0" + }, + { + "ref": "c42ff317838b4b4639e2ea801905f0317177c6df7e31b2f0d0240e3c3ac0cfde", + "local-path": "/usr/lib/x86_64-linux-gnu/libexpat.so.1.9.1" + }, + { + "ref": "0a2128bc10841fb29e76d08d945864dfb0b6a66da5df6df5d8299197439e54bb", + "local-path": "/usr/lib/x86_64-linux-gnu/libzstd.so.1.5.5" + }, + { + "ref": "a245ed916229583d6fe0b07657b3ed945bc148c28cc08b5266295f620d2b91cc", + "local-path": "/usr/lib/x86_64-linux-gnu/libnettle.so.8.8" + }, + { + "ref": "9b64150b28505a33d6bc3ecf709c279f6de97a1c184dbda65d06ee4537f6d286", + "local-path": "/usr/lib/x86_64-linux-gnu/libz.so.1.3" + } + ] +} diff --git a/tools/coredump/testdata/amd64/ruby-3.4.7-static-loop.json b/tools/coredump/testdata/amd64/ruby-3.4.7-static-loop.json new file mode 100644 index 000000000..52d3d0634 --- /dev/null +++ b/tools/coredump/testdata/amd64/ruby-3.4.7-static-loop.json @@ -0,0 +1,89 @@ +{ + "coredump-ref": "17a69422179148059ca9465a0cbc351a03da993c93cc9cebbd2fe0e4a661c132", + "threads": [ + { + "lwp": 18596, + "frames": [ + "Object#is_prime+0 in /home/dalehamel/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:14", + "ruby+0x203060", + "ruby+0x207e97", + "ruby+0x11a9cd", + "ruby+0x1f380b", + "ruby+0x1fa1d0", + "ruby+0x214344", + "Range#each+0 in :0", + "Object#is_prime+0 in /home/dalehamel/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:14", + "Object#sum_of_primes+0 in /home/dalehamel/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:24", + "block (2 levels) in
+0 in /home/dalehamel/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:34", + "ruby+0x203231", + "ruby+0x207e97", + "ruby+0x11a8bd", + "ruby+0x1f24f4", + "ruby+0x1fa1d0", + "ruby+0x214344", + "Range#each+0 in :0", + "block in
+0 in /home/dalehamel/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:33", + "Kernel#loop+0 in :168", + "
+0 in /home/dalehamel/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:32", + "ruby+0x2031b4", + "ruby+0x406f8", + "ruby+0x4263c", + "ruby+0x3d171", + "libc.so.6+0x27249", + "libc.so.6+0x27304", + "ruby+0x3d1b0" + ] + }, + { + "lwp": 18598, + "frames": [ + "libc.so.6+0x108f26", + "ruby+0x1b414e", + "libc.so.6+0x891f4", + "libc.so.6+0x1098db" + ] + } + ], + "modules": [ + { + "ref": "6363d41d2a3a7e65b6f44a2fa55234b3bd8ad1497d1b6c5892635b4cbacbaa24", + "local-path": "/home/dalehamel/.rubies/ruby-3.4.7/lib/ruby/3.4.0/x86_64-linux/enc/trans/transdb.so" + }, + { + "ref": "7f2ca87f652f56b094462474b076749e90e689d0ecb9cb63c7679820b271b4e7", + "local-path": "/usr/lib/x86_64-linux-gnu/libm.so.6" + }, + { + "ref": "5db18e8a8894ef4746eb8230855b638a5e52e782b2f10deede5f1dad846178bb", + "local-path": "/usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0" + }, + { + "ref": "7376c9af0afd6e7698a64ee19de3c8a0199418664974384c70435a51c7ff7f3f", + "local-path": "/usr/lib/x86_64-linux-gnu/libgmp.so.10.4.1" + }, + { + "ref": "7e2a72b4c4b38c61e6962de6e3f4a5e9ae692e732c68deead10a7ce2135a7f68", + "local-path": "/usr/lib/x86_64-linux-gnu/libz.so.1.2.13" + }, + { + "ref": "3159c3955f3aa3d599518107297a01b1548518c8e111a2dd32a6b1410d67a723", + "local-path": "/home/dalehamel/.rubies/ruby-3.4.7/lib/ruby/3.4.0/x86_64-linux/enc/encdb.so" + }, + { + "ref": "ff54e20c46ea00625e912916143f1ab0973426d153d343a766d650a323fb6deb", + "local-path": "/home/dalehamel/.rubies/ruby-3.4.7/bin/ruby" + }, + { + "ref": "0e9275bc9b81736220d63e9876de3050dfcae20e8b29beb46d3d54d1e4d8625b", + "local-path": "/home/dalehamel/.rubies/ruby-3.4.7/lib/ruby/3.4.0/x86_64-linux/monitor.so" + }, + { + "ref": "bff8750fe719e6000791b88b11747dce8772c37118d0b2348044b70819d13835", + "local-path": "/usr/lib/x86_64-linux-gnu/libc.so.6" + }, + { + "ref": "593bb1d5355658e645f36e6b1f49832691b24e177209765914e4cce51499dbb4", + "local-path": "/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2" + } + ] +} diff --git a/tools/coredump/testdata/arm64/ruby-3.4.7-static-loop.json b/tools/coredump/testdata/arm64/ruby-3.4.7-static-loop.json new file mode 100644 index 000000000..44d143235 --- /dev/null +++ b/tools/coredump/testdata/arm64/ruby-3.4.7-static-loop.json @@ -0,0 +1,89 @@ +{ + "coredump-ref": "fcefaded8c9fdf2d69eb6edfa8fa7caa58a70b2b5875923a0ed8effb691727cc", + "threads": [ + { + "lwp": 1384196, + "frames": [ + "Object#is_prime+0 in /Users/dalehamel/src/github.com/open-telemetry/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:14", + "ruby+0x2021d0", + "ruby+0x206b6f", + "ruby+0x1198c3", + "ruby+0x1f6acb", + "ruby+0x1fa6c3", + "ruby+0x213907", + "Range#each+0 in :0", + "Object#is_prime+0 in /Users/dalehamel/src/github.com/open-telemetry/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:14", + "Object#sum_of_primes+0 in /Users/dalehamel/src/github.com/open-telemetry/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:24", + "block (2 levels) in
+0 in /Users/dalehamel/src/github.com/open-telemetry/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:34", + "ruby+0x20239f", + "ruby+0x206b6f", + "ruby+0x11982b", + "ruby+0x1f493b", + "ruby+0x1fa6c3", + "ruby+0x213907", + "Range#each+0 in :0", + "block in
+0 in /Users/dalehamel/src/github.com/open-telemetry/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:33", + "Kernel#loop+0 in :168", + "
+0 in /Users/dalehamel/src/github.com/open-telemetry/opentelemetry-ebpf-profiler/tools/coredump/testsources/ruby/loop.rb:32", + "ruby+0x20230b", + "ruby+0x3cdef", + "ruby+0x3f0c3", + "ruby+0x399cf", + "libc.so.6+0x284c3", + "libc.so.6+0x28597", + "ruby+0x39a6f" + ] + }, + { + "lwp": 1384198, + "frames": [ + "libc.so.6+0xebe34", + "ruby+0x1af363", + "libc.so.6+0x8595b", + "libc.so.6+0xebb0b" + ] + } + ], + "modules": [ + { + "ref": "a896f19dbc725967448640f79f14b7a7793da4b99c62e441b64775a1bb00f31b", + "local-path": "/opt/rubies/ruby-3.4.7/bin/ruby" + }, + { + "ref": "fd8ac7acb6b107b40b31f1fdded22ef4543c60ff9195e847fd27587f032ed5f7", + "local-path": "/opt/rubies/ruby-3.4.7/lib/ruby/3.4.0/aarch64-linux/monitor.so" + }, + { + "ref": "ef7faa5b266a3c40c1e40be004a5d6f27e16cf2787ef43cc2070d1feb2eee1ad", + "local-path": "/opt/rubies/ruby-3.4.7/lib/ruby/3.4.0/aarch64-linux/enc/encdb.so" + }, + { + "ref": "2fd7c8f96a208532befb77cec1cfee8a08217a97b77d8eed382537fa6cc6e72c", + "local-path": "/usr/lib/aarch64-linux-gnu/libc.so.6" + }, + { + "ref": "b41cebf0be70f869bf60228cb5761f875ced865b0f4016f544d82f7a9ded28b0", + "local-path": "/usr/lib/aarch64-linux-gnu/libcrypt.so.1.1.0" + }, + { + "ref": "f572bd122e2b3b14d2f9d8d4345e1351fd9fbf26f9402e3e42ef36b65f833411", + "local-path": "/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1" + }, + { + "ref": "4510e7c51844a966dce56e46504aea552b5b27a48eeb9c7b45eb3ac93274e771", + "local-path": "/opt/rubies/ruby-3.4.7/lib/ruby/3.4.0/aarch64-linux/enc/trans/transdb.so" + }, + { + "ref": "ac92dc80c7d902e3852986e858ba682a981c15a12ec0e163bd4d56dde9b3dd6e", + "local-path": "/usr/lib/aarch64-linux-gnu/libm.so.6" + }, + { + "ref": "39b6701812ed7135f28df49352b3f6664c7a9f56880a3fe50c1b87cd7681db9b", + "local-path": "/usr/lib/aarch64-linux-gnu/libgmp.so.10.5.0" + }, + { + "ref": "170380b4e7ab28ec86eb090b48df90f84089392cb72fecd5067e5b7a4dc5239f", + "local-path": "/usr/lib/aarch64-linux-gnu/libz.so.1.3" + } + ] +} diff --git a/tools/coredump/testsources/ruby/README-GC.md b/tools/coredump/testsources/ruby/README-GC.md index b25bcee50..e555bd99c 100644 --- a/tools/coredump/testsources/ruby/README-GC.md +++ b/tools/coredump/testsources/ruby/README-GC.md @@ -58,5 +58,15 @@ We should now have a coredump that is being taken during GC # Coredump without GC -Add `GC.disable` to the ruby script before running it to ensure GC won't be -running when the coredump is taken +Set the `RUBY_DISABLE_GC` environment variable before running the script: + +``` +RUBY_DISABLE_GC=1 ruby tools/coredump/testsources/ruby/loop.rb +``` + +The `loop.rb` script checks for this variable and calls `GC.disable` at startup. + +**Important:** When GC is disabled, Ruby's heap grows without bound. Capture the +coredump quickly (within a few seconds of starting the process) to avoid bloating +the coredump file size. A coredump taken after 2 seconds is typically ~30-40MB, +while one taken after 30+ seconds can exceed 100MB. diff --git a/tools/coredump/testsources/ruby/loop.rb b/tools/coredump/testsources/ruby/loop.rb index f10cce0d9..0aed28676 100644 --- a/tools/coredump/testsources/ruby/loop.rb +++ b/tools/coredump/testsources/ruby/loop.rb @@ -1,5 +1,9 @@ #!/usr/bin/env ruby +# Set RUBY_DISABLE_GC=1 to disable garbage collection. +# This avoids capturing GC frames in coredumps. +GC.disable if ENV["RUBY_DISABLE_GC"] + def is_prime(n) if n < 2 return false