You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am running:
otel-ebpf-profiler with the recommended Dockerfile, built today:
FROM ubuntu:22.04 as builder
RUN apt-get update && apt-get -y install wget gcc
RUN wget https://go.dev/dl/go1.22.10.linux-amd64.tar.gz
RUN tar -C /usr/local -xzf go1.22.10.linux-amd64.tar.gz
# fixed versions for pyroscope, otel-collector, otel-profiler due to protocol changes
RUN wget https://github.com/open-telemetry/opentelemetry-ebpf-profiler/archive/9eb454541a3cf1282a8755dbcec9a9471b243e83.tar.gz
RUN mkdir /profiler
RUN tar --strip-components=1 -C /profiler -xzf 9eb454541a3cf1282a8755dbcec9a9471b243e83.tar.gz
WORKDIR /profiler
RUN /usr/local/go/bin/go build .
FROM ubuntu:22.04
RUN apt-get update && \
apt-get install -y linux-headers-generic && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /profiler/ebpf-profiler /usr/local/bin/
ENTRYPOINT ["/usr/local/bin/ebpf-profiler"]
This feeds into opentelemetry-collector-contrib:0.114.0 via OTLP.
My OTEL Collector then exports the profile signal over OTLP to Grafana Pyroscope (grafana/pyroscope:weekly-f96-1886f2c42).
I can see profile information coming into Grafana, but it lacks meaningful names and line numbers for my Python code.
Even when running a simple script in a loop, I fail to get meaningful information.
I have also tried standalone containers for python:3.9, python:3.11, and python:3.13, and have not had luck with getting useful profiles.
When comparing this to the example flamegraph, I see the example has the expected function names and line numbers.
Any thoughts on why I am not getting useful function names or line numbers for my code and/or Python libraries?
This application is running in Docker Compose, on an Azure VM Ubuntu 20.04.4 VM running Docker Engine 20.10.17.
The text was updated successfully, but these errors were encountered:
The described issue sounds similar to #285.
The OTel Profiling protocol is still in development and changes, including breaking changes not not following semantic conventions. And it seems that this repository adapts faster to these protocol changes than Grafana Pyroscope.
I am running:
otel-ebpf-profiler with the recommended Dockerfile, built today:
This feeds into opentelemetry-collector-contrib:0.114.0 via OTLP.
My OTEL Collector then exports the profile signal over OTLP to Grafana Pyroscope (grafana/pyroscope:weekly-f96-1886f2c42).
I can see profile information coming into Grafana, but it lacks meaningful names and line numbers for my Python code.
Even when running a simple script in a loop, I fail to get meaningful information.
I have also tried standalone containers for python:3.9, python:3.11, and python:3.13, and have not had luck with getting useful profiles.
When comparing this to the example flamegraph, I see the example has the expected function names and line numbers.
Any thoughts on why I am not getting useful function names or line numbers for my code and/or Python libraries?
This application is running in Docker Compose, on an Azure VM Ubuntu 20.04.4 VM running Docker Engine 20.10.17.
The text was updated successfully, but these errors were encountered: