swarm-engine-core 0.1.6

Core types and orchestration for SwarmEngine
Documentation
//! Telemetry - Swarm Engine 観測層
//!
//! tracing Layer パターンによる観測データの配信。
//! Orchestrator は tracing マクロでイベントを発行するだけ。
//! UI や TUI などの Consumer は broadcast channel から受信するだけ。
//!
//! ## 設計思想
//!
//! - **本体のパフォーマンス維持**: Subscriber がなければオーバーヘッドほぼゼロ
//! - **疎結合**: UI がなくても本体は動作する
//! - **拡張性**: GUI/TUI/Prometheus など Consumer は自由に追加可能
//!
//! ## 使い方
//!
//! ```ignore
//! use swarm_engine_core::telemetry::{SwarmLayer, SwarmEvent, create_swarm_layer};
//! use tracing_subscriber::prelude::*;
//!
//! // Layer を作成
//! let (layer, tx, rx) = create_swarm_layer(1024);
//!
//! // tracing に登録
//! tracing_subscriber::registry()
//!     .with(layer)
//!     .with(tracing_subscriber::fmt::layer())
//!     .init();
//!
//! // 追加の Consumer は tx.subscribe() で Receiver を取得
//! let rx2 = tx.subscribe();
//! ```

mod event;
mod layer;

pub use event::{ManagerState, SwarmEvent, TickMetrics};
pub use layer::{create_swarm_layer, SwarmLayer};