-
Notifications
You must be signed in to change notification settings - Fork 302
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extract reporter data generation, and use pdata #245
Extract reporter data generation, and use pdata #245
Conversation
This is blocked on open-telemetry/opentelemetry-collector#11706, since pdata currently uses a map for the attribute table. |
3d87afb
to
3b36dab
Compare
@open-telemetry/ebpf-profiler-approvers this change would greatly reduce the size of the OTLP and Collector reporters, as both would use pdata rather than OTLP and pdata. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some first spots. At the moment it is hard to review, as there is no backend that accepts this data. I will try to provide a devfiler version supporting v1.4.0 to continue here.
Co-authored-by: Florian Lehner <florianl@users.noreply.github.com>
Co-authored-by: Florian Lehner <florianl@users.noreply.github.com>
Co-authored-by: Florian Lehner <florianl@users.noreply.github.com>
Co-authored-by: Florian Lehner <florianl@users.noreply.github.com>
d936928
to
d4cf5d9
Compare
d4cf5d9
to
76589ca
Compare
Here is a version of devfiler with OTel Profiling v1.4.0 support:
or https://upload.elastic.co/d/b55a069766c48b8c0d4c0f2b854b0e846ee4deaea75596b68a8e1d88172dd0ca |
13500da
to
76e623a
Compare
76e623a
to
c2737da
Compare
@open-telemetry/ebpf-profiler-approvers this is ready for review. |
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a first impression. Will have a deeper look again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a minor last comment. Approving as merging this allows to unblock other work. Minor things can still be changed in subsequent steps.
Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co>
6d451a4
to
bd69069
Compare
bd69069
to
e1ef19b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* Bump golangci-lint to 1.63.4 (open-telemetry#311) Author: Tim Rühsen <tim.ruhsen@elastic.co> * CI: reduce boiler plate of environment (open-telemetry#312) * Consistent format of the eBPF code (open-telemetry#310) * Off CPU profiling (open-telemetry#196) * CI: Check for differences in the eBPF binary blobs (open-telemetry#305) * README: drop make target docker-image as pre requirement (open-telemetry#304) Signed-off-by: Florian Lehner <florian.lehner@elastic.co> * Setup collector receiver (open-telemetry#160) Author: Damien Mathieu <42@dmathieu.com> Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co> * Send process name as process.executable.name (/proc/PID/comm) (open-telemetry#298) Author: Christos Kalkanis <christos.kalkanis@elastic.co> Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co> * Remove host metadata collector (open-telemetry#299) Author: Damien Mathieu <42@dmathieu.com> * apmint: return error if Attach() fails (open-telemetry#271) * docker: build and push docker builder image (open-telemetry#297) Signed-off-by: Florian Lehner <florian.lehner@elastic.co> * Update golang.org/x/net to v0.33.0 (Fix CVE-2024-45338) (open-telemetry#294) Author: Tim Rühsen <tim.ruhsen@elastic.co> * metrics: update package documentation (open-telemetry#295) Signed-off-by: Florian Lehner <florian.lehner@elastic.co> * Fix pdata function table order (open-telemetry#286) Author: Tolya Korniltsev <korniltsev.anatoly@gmail.com> * Fix cross-compilation (open-telemetry#282) (open-telemetry#290) Author: Christos Kalkanis <christos.kalkanis@elastic.co> * Use clang-17 for building tracers (open-telemetry#270) Author: Mathieu Bressolle-Chataigner <mathieu@konvu.com> Co-authored-by: Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co> * Make the CollAgentAddr config optional in controller (open-telemetry#279) Author: Damien Mathieu <42@dmathieu.com> Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co> Co-authored-by: Florian Lehner <florian.lehner@elastic.co> * Remove unused type libpf.TraceAndCounts (open-telemetry#283) Author: Tim Rühsen <tim.ruhsen@elastic.co> * Collector Reporter (open-telemetry#208) Author: Damien Mathieu <42@dmathieu.com> Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de> Co-authored-by: Florian Lehner <florian.lehner@elastic.co> Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co> * proc: handle nvidia kernel modules (open-telemetry#274) * README: provide new version of devfiler (open-telemetry#275) Author: Florian Lehner <florian.lehner@elastic.co> * Extract reporter data generation, and use pdata (open-telemetry#245) Author: Damien Mathieu <42@dmathieu.com> Co-authored-by: Florian Lehner <florian.lehner@elastic.co> Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co> * apmint: warn user about changes in the APM service (open-telemetry#269) Author: Florian Lehner <florian.lehner@elastic.co> Co-authored-by: Joel Höner <joel@elastic.co> * coredump: no need for full dump with bundled files (open-telemetry#213) Author: Timo Teräs <timo.teras@iki.fi> * Send executable path with every stack trace (open-telemetry#253) * Send thread name as ThreadNameKey not ProcessCommandKey (open-telemetry#265) Author: Christos Kalkanis <christos.kalkanis@elastic.co> * proc: Fix parsing Kernel Module lines where refcount is - (open-telemetry#263) Author: Frederic Branczyk <fbranczyk@gmail.com> * reporter: extend lifetime for cached elements (open-telemetry#260) Author: Florian Lehner <florian.lehner@elastic.co> * Reporter: allow extending samples with extra attributes (open-telemetry#237) Author: Joel Höner <joel@elastic.co> Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de>
* Bump golangci-lint to 1.63.4 (open-telemetry#311) Author: Tim Rühsen <tim.ruhsen@elastic.co> * CI: reduce boiler plate of environment (open-telemetry#312) * Consistent format of the eBPF code (open-telemetry#310) * Off CPU profiling (open-telemetry#196) * CI: Check for differences in the eBPF binary blobs (open-telemetry#305) * README: drop make target docker-image as pre requirement (open-telemetry#304) Signed-off-by: Florian Lehner <florian.lehner@elastic.co> * Setup collector receiver (open-telemetry#160) Author: Damien Mathieu <42@dmathieu.com> Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co> * Send process name as process.executable.name (/proc/PID/comm) (open-telemetry#298) Author: Christos Kalkanis <christos.kalkanis@elastic.co> Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co> * Remove host metadata collector (open-telemetry#299) Author: Damien Mathieu <42@dmathieu.com> * apmint: return error if Attach() fails (open-telemetry#271) * docker: build and push docker builder image (open-telemetry#297) Signed-off-by: Florian Lehner <florian.lehner@elastic.co> * Update golang.org/x/net to v0.33.0 (Fix CVE-2024-45338) (open-telemetry#294) Author: Tim Rühsen <tim.ruhsen@elastic.co> * metrics: update package documentation (open-telemetry#295) Signed-off-by: Florian Lehner <florian.lehner@elastic.co> * Fix pdata function table order (open-telemetry#286) Author: Tolya Korniltsev <korniltsev.anatoly@gmail.com> * Fix cross-compilation (open-telemetry#282) (open-telemetry#290) Author: Christos Kalkanis <christos.kalkanis@elastic.co> * Use clang-17 for building tracers (open-telemetry#270) Author: Mathieu Bressolle-Chataigner <mathieu@konvu.com> Co-authored-by: Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co> * Make the CollAgentAddr config optional in controller (open-telemetry#279) Author: Damien Mathieu <42@dmathieu.com> Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co> Co-authored-by: Florian Lehner <florian.lehner@elastic.co> * Remove unused type libpf.TraceAndCounts (open-telemetry#283) Author: Tim Rühsen <tim.ruhsen@elastic.co> * Collector Reporter (open-telemetry#208) Author: Damien Mathieu <42@dmathieu.com> Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de> Co-authored-by: Florian Lehner <florian.lehner@elastic.co> Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co> * proc: handle nvidia kernel modules (open-telemetry#274) * README: provide new version of devfiler (open-telemetry#275) Author: Florian Lehner <florian.lehner@elastic.co> * Extract reporter data generation, and use pdata (open-telemetry#245) Author: Damien Mathieu <42@dmathieu.com> Co-authored-by: Florian Lehner <florian.lehner@elastic.co> Co-authored-by: Christos Kalkanis <christos.kalkanis@elastic.co> * apmint: warn user about changes in the APM service (open-telemetry#269) Author: Florian Lehner <florian.lehner@elastic.co> Co-authored-by: Joel Höner <joel@elastic.co> * coredump: no need for full dump with bundled files (open-telemetry#213) Author: Timo Teräs <timo.teras@iki.fi> * Send executable path with every stack trace (open-telemetry#253) * Send thread name as ThreadNameKey not ProcessCommandKey (open-telemetry#265) Author: Christos Kalkanis <christos.kalkanis@elastic.co> * proc: Fix parsing Kernel Module lines where refcount is - (open-telemetry#263) Author: Frederic Branczyk <fbranczyk@gmail.com> * reporter: extend lifetime for cached elements (open-telemetry#260) Author: Florian Lehner <florian.lehner@elastic.co> * Reporter: allow extending samples with extra attributes (open-telemetry#237) Author: Joel Höner <joel@elastic.co> Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de>
This is a proposal to help reduce the code repetition in #208
It extracts the data generation into its own internal module, and switches from OTLP to pdata (which is an OTLP abstraction), so both reporters can rely on the same data generator.