Skip to content

feat: memtable-backed span export and performance snapshot stores#70

Merged
reiase merged 2 commits intomainfrom
feature/probing
Apr 26, 2026
Merged

feat: memtable-backed span export and performance snapshot stores#70
reiase merged 2 commits intomainfrom
feature/probing

Conversation

@reiase
Copy link
Copy Markdown
Contributor

@reiase reiase commented Apr 26, 2026

  • Added probing-memtable and xxhash-rust as dependencies in Cargo.toml and Cargo.lock.
  • Introduced new modules: actor_store, members_store, metrics_store, performance_store, and span_store for enhanced actor and metrics management.
  • Implemented functionality for managing actor states and metrics snapshots using memory-mapped files.
  • Added a benchmark for measuring tracing overhead in benches/tracing_overhead.rs.
  • Updated existing actor context and mailbox to support linked tracing for better observability.

Overview:

Details:

Where should the reviewer start?

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

  • closes GitHub issue: #xxx

- Added `probing-memtable` and `xxhash-rust` as dependencies in `Cargo.toml` and `Cargo.lock`.
- Introduced new modules: `actor_store`, `members_store`, `metrics_store`, `performance_store`, and `span_store` for enhanced actor and metrics management.
- Implemented functionality for managing actor states and metrics snapshots using memory-mapped files.
- Added a benchmark for measuring tracing overhead in `benches/tracing_overhead.rs`.
- Updated existing actor context and mailbox to support linked tracing for better observability.
try:
r = await proxy.cascade(depth=depth + 1, origin=self.label)
results.append(r)
except Exception:
if proxy is not None:
try:
await proxy.cascade(depth=0, origin="external")
except Exception:

try:
await asyncio.Event().wait()
except asyncio.CancelledError:
burst_task.cancel()
try:
await burst_task
except asyncio.CancelledError:

ensure_tracing_for_span_capture()
except ImportError:
pass
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 26, 2026

Codecov Report

❌ Patch coverage is 75.70356% with 259 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/pulsing-actor/src/cluster/gossip.rs 30.66% 52 Missing ⚠️
crates/pulsing-actor/src/tracing/mod.rs 68.08% 45 Missing ⚠️
crates/pulsing-actor/src/span_store.rs 84.10% 31 Missing ⚠️
crates/pulsing-actor/src/system_actor/mod.rs 72.27% 28 Missing ⚠️
crates/pulsing-actor/src/transport/http2/client.rs 68.85% 19 Missing ⚠️
python/pulsing/integrations/probing.py 72.46% 19 Missing ⚠️
crates/pulsing-actor/src/system/mod.rs 82.55% 15 Missing ⚠️
crates/pulsing-actor/src/members_store.rs 59.37% 13 Missing ⚠️
crates/pulsing-actor/src/performance_store.rs 83.67% 8 Missing ⚠️
python/pulsing/core/__init__.py 72.72% 6 Missing ⚠️
... and 6 more
Files with missing lines Coverage Δ
crates/pulsing-actor/src/system/lifecycle.rs 89.39% <100.00%> (+0.24%) ⬆️
crates/pulsing-actor/src/system/resolve.rs 64.17% <100.00%> (+0.13%) ⬆️
crates/pulsing-actor/src/system/runtime.rs 67.61% <100.00%> (+4.57%) ⬆️
crates/pulsing-actor/src/system/spawn.rs 97.91% <100.00%> (+0.02%) ⬆️
crates/pulsing-actor/src/transport/http2/server.rs 62.19% <100.00%> (+0.86%) ⬆️
python/pulsing/core/remote.py 77.34% <100.00%> (+0.45%) ⬆️
python/pulsing/integrations/__init__.py 100.00% <100.00%> (ø)
crates/pulsing-actor/src/actor/mailbox.rs 89.09% <90.90%> (+0.07%) ⬆️
crates/pulsing-actor/src/actor/reference.rs 91.63% <93.18%> (+1.07%) ⬆️
crates/pulsing-actor/src/actor_store.rs 92.10% <92.10%> (ø)
... and 13 more

... and 17 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

- Updated `init_actor_memtable`, `init_members_memtable`, `init_metrics_memtable`, and `init_span_memtable` functions to use `Once` for single initialization, preventing race conditions during concurrent calls.
- Improved error handling for hash table creation failures, ensuring clearer logging of issues during initialization.
- Enhanced code readability by consolidating initialization logic across multiple stores.
@reiase reiase merged commit 3a24ad4 into main Apr 26, 2026
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants