Expand description
Telemetry - Swarm Engine 観測層
tracing Layer パターンによる観測データの配信。 Orchestrator は tracing マクロでイベントを発行するだけ。 UI や TUI などの Consumer は broadcast channel から受信するだけ。
§設計思想
- 本体のパフォーマンス維持: Subscriber がなければオーバーヘッドほぼゼロ
- 疎結合: UI がなくても本体は動作する
- 拡張性: GUI/TUI/Prometheus など Consumer は自由に追加可能
§使い方
ⓘ
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();Structs§
- Swarm
Layer - Swarm イベントを配信する tracing Layer
- Tick
Metrics - Tick ごとのメトリクス
Enums§
- Manager
State - Manager の状態
- Swarm
Event - Swarm Engine から発行されるイベント
Functions§
- create_
swarm_ layer - SwarmLayer を作成して Sender を返すヘルパー