Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0456fc2
chore(deps): update rust dependencies (#672)
renovate[bot] Aug 4, 2025
74e8ef2
fix(deps): update go dependencies (#679)
renovate[bot] Aug 5, 2025
d45a304
chore(deps): update docker/login-action action to v3.5.0 (#680)
renovate[bot] Aug 5, 2025
1453e14
chore(deps): update actions/download-artifact action to v5 (#681)
renovate[bot] Aug 6, 2025
1604ee0
interpreter: reduce GC stress by interning and using unsafe.String (#…
fabled Aug 6, 2025
ea177c4
[chore] drop debug and DebugTracer (#677)
florianl Aug 6, 2025
ff303d4
tools/coredump: allow running tests on darwin (#621)
korniltsev Aug 6, 2025
f48c32a
golabels: refactor integration tests (#678)
florianl Aug 6, 2025
e760594
chore(deps): update actions/checkout action to v4.3.0 (#689)
renovate[bot] Aug 12, 2025
d179d51
Rework VDSO synthetic deltas to be less special (#666)
fabled Aug 12, 2025
f868ddf
chore(deps): update rust crate thiserror to v2.0.14 (#688)
renovate[bot] Aug 12, 2025
e516119
fix(deps): update go dependencies (#690)
renovate[bot] Aug 12, 2025
24b181b
chore(deps): update actions/checkout action to v5 (#691)
renovate[bot] Aug 12, 2025
f0175cc
chore(deps): update github/codeql-action action to v3.29.9 (#692)
renovate[bot] Aug 13, 2025
f42e723
Remove libpf.Trace.Hash (#673)
gnurizen Sep 18, 2025
1540209
golabels: Remove -C flag from golabels test build commands (#699)
gnurizen Aug 14, 2025
3abe1d6
chore(deps): update rust crate object to v0.37.3 (#695)
renovate[bot] Aug 15, 2025
e4c4f65
chore(deps): update rust crate thiserror to v2.0.15 (#705)
renovate[bot] Aug 18, 2025
9920c37
doc: refactor README.md (#703)
florianl Aug 18, 2025
cc2e9b4
CI: use `go mod tidy` as post update step (#696)
florianl Aug 18, 2025
e989cec
chore(deps): update rust crate serde_json to v1.0.143 (#709)
renovate[bot] Aug 19, 2025
e25c61f
chore(deps): update github/codeql-action action to v3.29.10 (#708)
renovate[bot] Aug 19, 2025
b2e0ab4
interpreter: Support multiple interpreters for single ELF object (#702)
gnurizen Aug 19, 2025
2250ed0
chore(deps): update rust dependencies (#712)
renovate[bot] Aug 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
"config:best-practices",
"helpers:pinGitHubActionDigestsToSemver"
],
"postUpdateOptions" : [
"gomodTidy"
],
"packageRules": [
{
"groupName": "Go dependencies",
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Configure Git
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ jobs:
target_arch: [amd64, arm64]
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Set up environment
uses: ./.github/workflows/env

- name: Initialize CodeQL
uses: github/codeql-action/init@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5
uses: github/codeql-action/init@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
with:
languages: go

Expand All @@ -37,7 +37,7 @@ jobs:
make TARGET_ARCH=${{ matrix.target_arch }}

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5
uses: github/codeql-action/analyze@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
with:
category: "/language:Go"
timeout-minutes: 10
2 changes: 1 addition & 1 deletion .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ jobs:
- name: Install codespell
run: sudo apt-get install codespell
- name: Checkout Repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Codespell
run: make codespell
2 changes: 1 addition & 1 deletion .github/workflows/collector-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up environment
uses: ./.github/workflows/env
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/fossa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'open-telemetry/opentelemetry-ebpf-profiler'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- uses: fossas/fossa-action@3ebcea1862c6ffbd5cf1b4d0bd6b3fe7bd6f2cac # v1.7.0
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ossf-scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
# Needed for GitHub OIDC token if publish_results is true
id-token: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false

Expand All @@ -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@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5
uses: github/codeql-action/upload-sarif@96f518a34f7a870018057716cc4d7a5c014bd61c # v3.29.10
with:
sarif_file: results.sarif
4 changes: 2 additions & 2 deletions .github/workflows/push-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ jobs:
if: github.repository == 'open-telemetry/opentelemetry-ebpf-profiler'
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Login to Docker Hub
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
Expand Down
38 changes: 30 additions & 8 deletions .github/workflows/unit-test-on-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up environment
uses: ./.github/workflows/env
- name: Check for changes in licenses of dependencies
Expand All @@ -34,7 +34,7 @@ jobs:
target_arch: [amd64, arm64]
steps:
- name: Clone code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up environment
uses: ./.github/workflows/env
- name: Get linter version
Expand All @@ -57,7 +57,7 @@ jobs:
target_arch: [amd64, arm64]
steps:
- name: Clone code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up environment
uses: ./.github/workflows/env
with:
Expand All @@ -81,7 +81,7 @@ jobs:
target_arch: [amd64, arm64]
steps:
- name: Clone code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up environment
uses: ./.github/workflows/env
- name: Tests
Expand All @@ -96,7 +96,7 @@ jobs:
shell: bash --login {0}
steps:
- name: Clone code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Hash binary blobs
run: |
sha256sum support/ebpf/tracer.ebpf.* > binary-blobs.hash
Expand Down Expand Up @@ -126,7 +126,7 @@ jobs:
target_arch: [amd64, arm64]
steps:
- name: Clone code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up environment
uses: ./.github/workflows/env
- name: Prepare integration test binaries for qemu tests
Expand All @@ -137,6 +137,28 @@ jobs:
name: integration-test-binaries-${{ matrix.target_arch }}
path: support/*.test

coredump-test-macos:
name: Coredump tests (macOS)
runs-on: macos-latest
steps:
- name: Clone code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
cache-dependency-path: go.sum
- name: Cache coredump modules
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: tools/coredump/modulecache
key: coredumps-arm64-${{ hashFiles('tools/coredump/testdata/*/*.json') }}
restore-keys: |
coredumps-arm64
coredumps-
- name: Run coredump tests
run: GODEBUG=asyncpreemptoff=1 go test -v ./tools/coredump/

integration-tests:
name: Integration tests (v${{ matrix.kernel }} ${{ matrix.target_arch }})
runs-on: ubuntu-24.04
Expand Down Expand Up @@ -165,7 +187,7 @@ jobs:
- { target_arch: arm64, kernel: 6.12.16 }
steps:
- name: Clone code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Install dependencies
run: |
sudo apt-get update -y
Expand All @@ -177,7 +199,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@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with: { name: "integration-test-binaries-${{ matrix.target_arch }}" }
- name: Fetch precompiled kernel
run: |
Expand Down
20 changes: 10 additions & 10 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 9 additions & 22 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.PHONY: all all-common clean ebpf generate test test-deps \
test-junit protobuf docker-image agent legal integration-test-binaries \
codespell lint linter-version debug debug-agent ebpf-profiler format-ebpf \
codespell lint linter-version ebpf-profiler format-ebpf \
rust-components rust-targets rust-tests vanity-import-check vanity-import-fix

SHELL := /usr/bin/env bash
Expand Down Expand Up @@ -54,10 +54,6 @@ JUNIT_OUT_DIR ?= /tmp/testresults

all: ebpf-profiler

debug: GO_TAGS := $(GO_TAGS),debugtracer
debug: EBPF_FLAGS += debug
debug: all

# Removes the go build cache and binaries in the current project
clean:
@go clean -cache -i
Expand Down Expand Up @@ -114,11 +110,6 @@ test-junit: generate ebpf test-deps
go install gotest.tools/gotestsum@latest
CGO_ENABLED=1 gotestsum --junitfile $(JUNIT_OUT_DIR)/junit.xml -- $(GO_FLAGS) -tags $(GO_TAGS) ./...

# This target isn't called from CI, it doesn't work for cross compile (ie TARGET_ARCH=arm64 on
# amd64) and the CI kernel tests run them already. Useful for local testing.
sudo-golabels-test: integration-test-binaries
(cd support && sudo ./interpreter_golabels_test.test -test.v)

TESTDATA_DIRS:= \
nativeunwind/elfunwindinfo/testdata \
libpf/pfelf/testdata \
Expand All @@ -129,19 +120,19 @@ test-deps:
($(MAKE) -C "$(testdata_dir)") || exit ; \
)

TEST_INTEGRATION_BINARY_DIRS := tracer processmanager/ebpf support interpreter/golabels/test
TEST_INTEGRATION_BINARY_DIRS := tracer processmanager/ebpf support

# These binaries are named ".test" to get included into bluebox initramfs
support/golbls_1_23.test: ./interpreter/golabels/test/main.go
CGO_ENABLED=0 GOTOOLCHAIN=go1.23.7 go build -tags $(GO_TAGS),nocgo -o $@ $<
support/golbls_1_23.test: generate ebpf
CGO_ENABLED=0 GOTOOLCHAIN=go1.23.7 go test ./interpreter/golabels/integrationtests -c -trimpath -tags $(GO_TAGS),nocgo,integration -o $@

support/golbls_1_24.test: ./interpreter/golabels/test/main.go
CGO_ENABLED=0 GOTOOLCHAIN=go1.24.1 go build -tags $(GO_TAGS),nocgo -o $@ $<
support/golbls_1_24.test: generate ebpf
CGO_ENABLED=0 GOTOOLCHAIN=go1.24.1 go test ./interpreter/golabels/integrationtests -c -trimpath -tags $(GO_TAGS),nocgo,integration -o $@

support/golbls_cgo.test: ./interpreter/golabels/test/main-cgo.go
CGO_ENABLED=1 GOTOOLCHAIN=go1.24.1 go build -ldflags '-extldflags "-static"' -tags $(GO_TAGS),usecgo -o $@ $<
support/golbls_cgo.test: generate ebpf
CGO_ENABLED=1 GOTOOLCHAIN=go1.24.1 go test ./interpreter/golabels/integrationtests -c -ldflags '-extldflags "-static"' -trimpath -tags $(GO_TAGS),withcgo,integration -o $@

integration-test-binaries: generate ebpf rust-components support/golbls_1_23.test support/golbls_1_24.test support/golbls_cgo.test
integration-test-binaries: support/golbls_1_23.test support/golbls_1_24.test support/golbls_cgo.test
$(foreach test_name, $(TEST_INTEGRATION_BINARY_DIRS), \
(go test -ldflags='-extldflags=-static' -trimpath -c \
-tags $(GO_TAGS),static_build,integration \
Expand All @@ -156,10 +147,6 @@ agent:
docker run -v "$$PWD":/agent -it --rm --user $(shell id -u):$(shell id -g) otel/opentelemetry-ebpf-profiler-dev:latest \
"make TARGET_ARCH=$(TARGET_ARCH) VERSION=$(VERSION) REVISION=$(REVISION) BUILD_TIMESTAMP=$(BUILD_TIMESTAMP)"

debug-agent:
docker run -v "$$PWD":/agent -it --rm --user $(shell id -u):$(shell id -g) otel/opentelemetry-ebpf-profiler-dev:latest \
"make TARGET_ARCH=$(TARGET_ARCH) VERSION=$(VERSION) REVISION=$(REVISION) BUILD_TIMESTAMP=$(BUILD_TIMESTAMP) debug"

legal:
@go install github.com/google/go-licenses@latest
@go-licenses save --force . --save_path=LICENSES
Expand Down
Loading