Cyclic buffer telemetry exporter moved to use plug-in infrastructure - #1088
Merged
Merged
Conversation
|
👋 Hi alexanderbilk! Thank you for contributing to ai-dynamo/nixl. Your PR reviewers will review your contribution then trigger the CI to test your changes. 🚀 |
Signed-off-by: Aleksandr Bilkovskii <alexanderb@nvidia.com>
rakhmets
reviewed
Dec 8, 2025
brminich
reviewed
Dec 8, 2025
Signed-off-by: Aleksandr Bilkovskii <alexanderb@nvidia.com>
ovidiusm
reviewed
Dec 8, 2025
rakhmets
reviewed
Dec 8, 2025
Contributor
|
Please add a description to the PR, mentioning that the telemetry exporter based on shared memory buffer was added as a static plugin, and is also used as the default telemetry plugin. |
ColinNV
reviewed
Dec 8, 2025
ColinNV
reviewed
Dec 8, 2025
ColinNV
reviewed
Dec 8, 2025
ColinNV
reviewed
Dec 8, 2025
Signed-off-by: Aleksandr Bilkovskii <alexanderb@nvidia.com>
Signed-off-by: Aleksandr Bilkovskii <alexanderb@nvidia.com>
ovidiusm
reviewed
Dec 9, 2025
ovidiusm
reviewed
Dec 9, 2025
Signed-off-by: Aleksandr Bilkovskii <alexanderb@nvidia.com>
ovidiusm
previously approved these changes
Dec 9, 2025
Contributor
|
/build |
Contributor
|
/ok to test bfe3671 |
Contributor
|
/ok to test e6e371f |
Signed-off-by: Aleksandr Bilkovskii <alexanderb@nvidia.com>
Contributor
|
/ok to test 673bc58 |
Contributor
|
/build |
brminich
enabled auto-merge (squash)
December 9, 2025 20:46
brminich
previously approved these changes
Dec 9, 2025
…s not set Signed-off-by: Aleksandr Bilkovskii <alexanderb@nvidia.com>
auto-merge was automatically disabled
December 10, 2025 00:08
Head branch was pushed to by a user without write access
ovidiusm
approved these changes
Dec 10, 2025
Contributor
|
/build |
Contributor
|
/ok to test c344d6a |
ovidiusm
enabled auto-merge (squash)
December 10, 2025 00:15
iyastreb
pushed a commit
that referenced
this pull request
Jul 9, 2026
## What? Remove the unused `nixlTelemetry::buffer_` member and its unreachable destructor branch (the `if (buffer_)` flush/reset). Also drop the now-unneeded `#include "common/cyclic_buffer.h"` from `telemetry.h`, and add it directly to `telemetry_test.cpp`, which uses `sharedRingBuffer` and had been relying on the transitive include through `telemetry.h`. ## Why? The core `buffer_` member was live when telemetry was introduced (#562): `nixlTelemetry` itself owned the shared-memory ring buffer, pushed events to it, and flushed on destruction. #1088 moved the BUFFER sink into the plugin-based `nixlTelemetryBufferExporter` (which owns its own buffer) but left the core member and destructor branch orphaned. Since #1088 the core `buffer_` is never assigned, so it is always null and the destructor branch is dead code. Removing it keeps the core telemetry owner aligned with the current exporter model and avoids implying a shutdown flush that does not actually happen. Behavior-preserving: no change to event ordering, drop accounting, exporter error handling, BUFFER cyclic-ring behavior, or the periodic `flushPendingEvents()` task. ## How? - `src/core/telemetry/telemetry.h`: remove the `buffer_` member and the `common/cyclic_buffer.h` include. - `src/core/telemetry/telemetry.cpp`: remove the dead destructor branch; keep `#include "buffer_exporter.h"` (still needed for `telemetryDirVar`) and the shutdown ordering (disable task, stop/join pool, cancel timer). - `test/gtest/telemetry_test.cpp`: include `common/cyclic_buffer.h` directly. ## Testing - `ninja -C build` — clean build. - Full gtest suite: 111/111 passed, including all 17 `telemetryTest` cases. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved telemetry shutdown behavior to avoid extra work during teardown. * Added more resilient handling when background scheduling cannot be canceled, helping prevent shutdown-related issues. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Efraim Eygin <eeygin@nvidia.com>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introducing shared memory cyclic buffer telemetry exporter to work as static built-in plugin.
This telemetry exporter is a default choice in case no other exporter is specified