Skip to main content

Module telemetry

Module telemetry 

Source
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§

SwarmLayer
Swarm イベントを配信する tracing Layer
TickMetrics
Tick ごとのメトリクス

Enums§

ManagerState
Manager の状態
SwarmEvent
Swarm Engine から発行されるイベント

Functions§

create_swarm_layer
SwarmLayer を作成して Sender を返すヘルパー