Expand description
Distributed Telemetry - Three-component architecture
- DatabaseScanner (Rust): Local MemTable operations, scans with child stream merging
- DistributedTelemetryActor (Python): Orchestrates children, wraps DatabaseScanner
- QueryEngine (Rust): DataFusion query execution, creates ports, collects results
Data flows directly Rust-to-Rust via PortRef for efficiency.
Re-exports§
pub use database_scanner::DatabaseScanner;pub use pyspy_table::PySpyDump;pub use pyspy_table::PySpyFrame;pub use pyspy_table::PySpyLocalVariable;pub use pyspy_table::PySpyStackTrace;pub use query_engine::QueryEngine;
Modules§
- database_
scanner - DatabaseScanner - Local MemTable operations, scans with child stream merging
- pyspy_
table - DataFusion table schemas for py-spy stack trace data.
- query_
engine - QueryEngine - DataFusion query execution, creates ports, collects results
Structs§
- Entity
Dispatcher - Dispatches entity lifecycle events to Arrow RecordBatches.
- Query
Response - Response message for streaming query results. Sent directly over Rust PortRef for efficiency. Completion is signaled by the scan endpoint returning, not via a message.
- Record
Batch Sink - Buffers tracing events and produces Arrow RecordBatches.
Functions§
- get_
flush_ count - Get the total number of batches flushed by counting sinks.
- register_
python_ bindings - reset_
flush_ count - Reset the flush counter to zero. Useful for tests.
Type Aliases§
- Flush
Callback - Callback function type for flushing RecordBatches. Takes ownership of the RecordBatch. The callback should handle empty batches by creating the table with the schema but not appending the empty data.