Skip to content

feat(performance): Add local profiling to vector#2

Open
connoryy wants to merge 33 commits intov0.49from
connor/local-vector-profiling
Open

feat(performance): Add local profiling to vector#2
connoryy wants to merge 33 commits intov0.49from
connor/local-vector-profiling

Conversation

@connoryy
Copy link
Owner

@connoryy connoryy commented Feb 26, 2026

Summary

Vector configuration

How did you test this PR?

Change Type

  • Bug fix
  • New feature
  • Non-functional (chore, refactoring, docs)
  • Performance

Is this a breaking change?

  • Yes
  • No

Does this PR include user facing changes?

  • Yes. Please add a changelog fragment based on our guidelines.
  • No. A maintainer will apply the no-changelog label to this PR.

References

Notes

  • Please read our Vector contributor resources.
  • Do not hesitate to use @vectordotdev/vector to reach out to us regarding this PR.
  • Some CI checks run only after we manually approve them.
    • We recommend adding a pre-push hook, please see this template.
    • Alternatively, we recommend running the following locally before pushing to the remote branch:
      • make fmt
      • make check-clippy (if there are failures it's possible some of them can be fixed with make clippy-fix)
      • make test
  • After a review is requested, please avoid force pushes to help us review incrementally.
    • Feel free to push as many commits as you want. They will be squashed into one before merging.
    • For example, you can run git merge origin master and git push.
  • If this PR introduces changes Vector dependencies (modifies Cargo.lock), please
    run make build-licenses to regenerate the license inventory and commit the changes (if any). More details here.

@connoryy connoryy changed the title Connor/local vector profiling Add local profiling to vector Feb 26, 2026
@connoryy connoryy changed the title Add local profiling to vector [feat] Add local profiling to vector Feb 27, 2026
@connoryy connoryy changed the title [feat] Add local profiling to vector feat: Add local profiling to vector Feb 27, 2026
@connoryy connoryy changed the title feat: Add local profiling to vector feat(performance): Add local profiling to vector Feb 27, 2026
@@ -0,0 +1,112 @@
# CLAUDE.md

Check failure

Code scanning / check-spelling

Check File Path Error

CLAUDE is not a recognized word. (check-file-path)
@@ -0,0 +1,112 @@
# CLAUDE.md

Check failure

Code scanning / check-spelling

Unrecognized Spelling Error

CLAUDE is not a recognized word. (unrecognized-spelling)
@@ -0,0 +1,112 @@
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Check failure

Code scanning / check-spelling

Unrecognized Spelling Error

claude is not a recognized word. (unrecognized-spelling)

Requires [`cargo-nextest`](https://nexte.st/) for `make test`. Use `TEST_LOG=vector=debug` for verbose test output.

## Formatting and Linting

Check failure

Code scanning / check-spelling

Unrecognized Spelling Error

Linting is not a recognized word. (unrecognized-spelling)
### Internal Telemetry (`src/internal_telemetry/`)

- **Allocation tracking** (`allocations/`): Per-component memory tracking via `GroupedTraceableAllocator` wrapping jemalloc. 256 allocation groups. Enabled with `allocation-tracing` feature.
- **Component probes** (`component_probes.rs`): `VECTOR_COMPONENT_LABELS` shared-memory array for bpftrace-based CPU profiling attribution. Enabled with `component-probes` feature. Uses a single `vector_register_component` uprobe at startup; runtime attribution is via atomic byte writes (no uprobes in hot path).

Check failure

Code scanning / check-spelling

Unrecognized Spelling Error

bpftrace is not a recognized word. (unrecognized-spelling)
### Internal Telemetry (`src/internal_telemetry/`)

- **Allocation tracking** (`allocations/`): Per-component memory tracking via `GroupedTraceableAllocator` wrapping jemalloc. 256 allocation groups. Enabled with `allocation-tracing` feature.
- **Component probes** (`component_probes.rs`): `VECTOR_COMPONENT_LABELS` shared-memory array for bpftrace-based CPU profiling attribution. Enabled with `component-probes` feature. Uses a single `vector_register_component` uprobe at startup; runtime attribution is via atomic byte writes (no uprobes in hot path).

Check failure

Code scanning / check-spelling

Unrecognized Spelling Error

uprobe is not a recognized word. (unrecognized-spelling)
### Internal Telemetry (`src/internal_telemetry/`)

- **Allocation tracking** (`allocations/`): Per-component memory tracking via `GroupedTraceableAllocator` wrapping jemalloc. 256 allocation groups. Enabled with `allocation-tracing` feature.
- **Component probes** (`component_probes.rs`): `VECTOR_COMPONENT_LABELS` shared-memory array for bpftrace-based CPU profiling attribution. Enabled with `component-probes` feature. Uses a single `vector_register_component` uprobe at startup; runtime attribution is via atomic byte writes (no uprobes in hot path).

Check failure

Code scanning / check-spelling

Unrecognized Spelling Error

uprobes is not a recognized word. (unrecognized-spelling)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant