├── .github ├── ISSUE_TEMPLATE │ ├── bug-report.md │ └── feature-request.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── release.yml ├── .gitignore ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── cli └── main.go ├── docs ├── design │ ├── context-propagation.md │ └── manual-instrumentation.md ├── getting-started │ ├── README.md │ ├── deployed_apps.jpg │ ├── emojivoto-instrumented.yaml │ ├── emojivoto │ │ ├── emoji.yml │ │ ├── kustomization.yml │ │ ├── ns.yml │ │ ├── vote-bot.yml │ │ ├── voting.yml │ │ └── web.yml │ ├── jaeger.yaml │ ├── jaeger_traces.png │ ├── leaderboard_trace.png │ └── vote_trace.png └── how-it-works.md ├── go.mod ├── go.sum ├── include ├── alloc.h ├── arguments.h ├── common.h ├── go_context.h ├── go_types.h ├── libbpf │ ├── bpf.h │ ├── bpf_core_read.h │ ├── bpf_endian.h │ ├── bpf_helper_defs.h │ ├── bpf_helpers.h │ ├── bpf_tracing.h │ ├── btf.h │ ├── libbpf.h │ ├── libbpf_common.h │ ├── libbpf_legacy.h │ ├── libbpf_version.h │ ├── skel_internal.h │ └── xsk.h ├── span_context.h └── utils.h └── pkg ├── errors └── errors.go ├── inject ├── data.go ├── injector.go └── offset_results.json ├── instrumentors ├── allocator │ └── allocator_linux.go ├── api.go ├── bpf │ ├── github.com │ │ └── gorilla │ │ │ └── mux │ │ │ ├── bpf │ │ │ └── probe.bpf.c │ │ │ └── probe.go │ ├── google │ │ └── golang │ │ │ └── org │ │ │ └── grpc │ │ │ ├── bpf │ │ │ └── probe.bpf.c │ │ │ ├── probe.go │ │ │ └── server │ │ │ ├── bpf │ │ │ └── probe.bpf.c │ │ │ └── probe.go │ └── net │ │ └── http │ │ └── server │ │ ├── bpf │ │ └── probe.bpf.c │ │ └── probe.go ├── bpffs │ └── bpfsfs.go ├── context │ ├── inst_context.go │ └── span_context.go ├── events │ └── event.go ├── manager.go └── runner.go ├── log └── logger.go ├── opentelemetry ├── controller.go └── id_generator.go └── process ├── analyze.go ├── args.go ├── discover.go ├── funcs_nonstripped.go ├── funcs_stripped.go ├── module.go ├── ptrace ├── cwrapper_linux.go ├── ptrace_linux.go ├── ptrace_linux_amd64.go └── ptrace_linux_arm64.go ├── ret_linux_amd64.go └── ret_linux_arm64.go /.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/.github/ISSUE_TEMPLATE/bug-report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/.github/ISSUE_TEMPLATE/feature-request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/README.md -------------------------------------------------------------------------------- /cli/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/cli/main.go -------------------------------------------------------------------------------- /docs/design/context-propagation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/design/context-propagation.md -------------------------------------------------------------------------------- /docs/design/manual-instrumentation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/design/manual-instrumentation.md -------------------------------------------------------------------------------- /docs/getting-started/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/README.md -------------------------------------------------------------------------------- /docs/getting-started/deployed_apps.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/deployed_apps.jpg -------------------------------------------------------------------------------- /docs/getting-started/emojivoto-instrumented.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/emojivoto-instrumented.yaml -------------------------------------------------------------------------------- /docs/getting-started/emojivoto/emoji.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/emojivoto/emoji.yml -------------------------------------------------------------------------------- /docs/getting-started/emojivoto/kustomization.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/emojivoto/kustomization.yml -------------------------------------------------------------------------------- /docs/getting-started/emojivoto/ns.yml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: emojivoto 5 | -------------------------------------------------------------------------------- /docs/getting-started/emojivoto/vote-bot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/emojivoto/vote-bot.yml -------------------------------------------------------------------------------- /docs/getting-started/emojivoto/voting.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/emojivoto/voting.yml -------------------------------------------------------------------------------- /docs/getting-started/emojivoto/web.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/emojivoto/web.yml -------------------------------------------------------------------------------- /docs/getting-started/jaeger.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/jaeger.yaml -------------------------------------------------------------------------------- /docs/getting-started/jaeger_traces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/jaeger_traces.png -------------------------------------------------------------------------------- /docs/getting-started/leaderboard_trace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/leaderboard_trace.png -------------------------------------------------------------------------------- /docs/getting-started/vote_trace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/getting-started/vote_trace.png -------------------------------------------------------------------------------- /docs/how-it-works.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/docs/how-it-works.md -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/go.sum -------------------------------------------------------------------------------- /include/alloc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/alloc.h -------------------------------------------------------------------------------- /include/arguments.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/arguments.h -------------------------------------------------------------------------------- /include/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/common.h -------------------------------------------------------------------------------- /include/go_context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/go_context.h -------------------------------------------------------------------------------- /include/go_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/go_types.h -------------------------------------------------------------------------------- /include/libbpf/bpf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/bpf.h -------------------------------------------------------------------------------- /include/libbpf/bpf_core_read.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/bpf_core_read.h -------------------------------------------------------------------------------- /include/libbpf/bpf_endian.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/bpf_endian.h -------------------------------------------------------------------------------- /include/libbpf/bpf_helper_defs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/bpf_helper_defs.h -------------------------------------------------------------------------------- /include/libbpf/bpf_helpers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/bpf_helpers.h -------------------------------------------------------------------------------- /include/libbpf/bpf_tracing.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/bpf_tracing.h -------------------------------------------------------------------------------- /include/libbpf/btf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/btf.h -------------------------------------------------------------------------------- /include/libbpf/libbpf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/libbpf.h -------------------------------------------------------------------------------- /include/libbpf/libbpf_common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/libbpf_common.h -------------------------------------------------------------------------------- /include/libbpf/libbpf_legacy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/libbpf_legacy.h -------------------------------------------------------------------------------- /include/libbpf/libbpf_version.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/libbpf_version.h -------------------------------------------------------------------------------- /include/libbpf/skel_internal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/skel_internal.h -------------------------------------------------------------------------------- /include/libbpf/xsk.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/libbpf/xsk.h -------------------------------------------------------------------------------- /include/span_context.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/span_context.h -------------------------------------------------------------------------------- /include/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/include/utils.h -------------------------------------------------------------------------------- /pkg/errors/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/errors/errors.go -------------------------------------------------------------------------------- /pkg/inject/data.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/inject/data.go -------------------------------------------------------------------------------- /pkg/inject/injector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/inject/injector.go -------------------------------------------------------------------------------- /pkg/inject/offset_results.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/inject/offset_results.json -------------------------------------------------------------------------------- /pkg/instrumentors/allocator/allocator_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/allocator/allocator_linux.go -------------------------------------------------------------------------------- /pkg/instrumentors/api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/api.go -------------------------------------------------------------------------------- /pkg/instrumentors/bpf/github.com/gorilla/mux/bpf/probe.bpf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/bpf/github.com/gorilla/mux/bpf/probe.bpf.c -------------------------------------------------------------------------------- /pkg/instrumentors/bpf/github.com/gorilla/mux/probe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/bpf/github.com/gorilla/mux/probe.go -------------------------------------------------------------------------------- /pkg/instrumentors/bpf/google/golang/org/grpc/bpf/probe.bpf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/bpf/google/golang/org/grpc/bpf/probe.bpf.c -------------------------------------------------------------------------------- /pkg/instrumentors/bpf/google/golang/org/grpc/probe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/bpf/google/golang/org/grpc/probe.go -------------------------------------------------------------------------------- /pkg/instrumentors/bpf/google/golang/org/grpc/server/bpf/probe.bpf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/bpf/google/golang/org/grpc/server/bpf/probe.bpf.c -------------------------------------------------------------------------------- /pkg/instrumentors/bpf/google/golang/org/grpc/server/probe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/bpf/google/golang/org/grpc/server/probe.go -------------------------------------------------------------------------------- /pkg/instrumentors/bpf/net/http/server/bpf/probe.bpf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/bpf/net/http/server/bpf/probe.bpf.c -------------------------------------------------------------------------------- /pkg/instrumentors/bpf/net/http/server/probe.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/bpf/net/http/server/probe.go -------------------------------------------------------------------------------- /pkg/instrumentors/bpffs/bpfsfs.go: -------------------------------------------------------------------------------- 1 | package bpffs 2 | 3 | const ( 4 | BpfFsPath = "/sys/fs/bpf" 5 | ) 6 | -------------------------------------------------------------------------------- /pkg/instrumentors/context/inst_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/context/inst_context.go -------------------------------------------------------------------------------- /pkg/instrumentors/context/span_context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/context/span_context.go -------------------------------------------------------------------------------- /pkg/instrumentors/events/event.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/events/event.go -------------------------------------------------------------------------------- /pkg/instrumentors/manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/manager.go -------------------------------------------------------------------------------- /pkg/instrumentors/runner.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/instrumentors/runner.go -------------------------------------------------------------------------------- /pkg/log/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/log/logger.go -------------------------------------------------------------------------------- /pkg/opentelemetry/controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/opentelemetry/controller.go -------------------------------------------------------------------------------- /pkg/opentelemetry/id_generator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/opentelemetry/id_generator.go -------------------------------------------------------------------------------- /pkg/process/analyze.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/analyze.go -------------------------------------------------------------------------------- /pkg/process/args.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/args.go -------------------------------------------------------------------------------- /pkg/process/discover.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/discover.go -------------------------------------------------------------------------------- /pkg/process/funcs_nonstripped.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/funcs_nonstripped.go -------------------------------------------------------------------------------- /pkg/process/funcs_stripped.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/funcs_stripped.go -------------------------------------------------------------------------------- /pkg/process/module.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/module.go -------------------------------------------------------------------------------- /pkg/process/ptrace/cwrapper_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/ptrace/cwrapper_linux.go -------------------------------------------------------------------------------- /pkg/process/ptrace/ptrace_linux.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/ptrace/ptrace_linux.go -------------------------------------------------------------------------------- /pkg/process/ptrace/ptrace_linux_amd64.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/ptrace/ptrace_linux_amd64.go -------------------------------------------------------------------------------- /pkg/process/ptrace/ptrace_linux_arm64.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/ptrace/ptrace_linux_arm64.go -------------------------------------------------------------------------------- /pkg/process/ret_linux_amd64.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/ret_linux_amd64.go -------------------------------------------------------------------------------- /pkg/process/ret_linux_arm64.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odigos-io/opentelemetry-go-instrumentation/HEAD/pkg/process/ret_linux_arm64.go --------------------------------------------------------------------------------