Expand description
§bevy_fleet
A Bevy plugin that asynchronously publishes diagnostics, events, panics, machine info, and custom metrics to a configurable cloud endpoint.
This plugin integrates with Bevy’s built-in diagnostic system to collect telemetry data without custom interfaces.
§Features
- Async (off-game-thread) publishing
- Integration with Bevy’s diagnostic system
- Panic capture and reporting
- Machine/system information
- Configurable cloud endpoint
§Usage
use bevy::prelude::*;
use bevy::diagnostic::FrameTimeDiagnosticsPlugin;
use bevy_fleet::{FleetPlugin, FleetConfig};
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(FrameTimeDiagnosticsPlugin::default())
.add_plugins(FleetPlugin {
config: FleetConfig {
app_id: "my-app".to_string(),
aggregation_url: "https://fleet.example.com/api/v1/telemetry".to_string(),
enabled: true,
publish_interval_secs: 60,
..Default::default()
},
})
.run();Structs§
- Fleet
Config - Configuration for the Fleet plugin.
- Fleet
Diagnostic - Diagnostic information extracted from Bevy diagnostics
- Fleet
Event - A tracked event in the application.
- Fleet
Event Buffer - Buffer that retains Fleet events across frames until the publisher collects them.
- Fleet
Metric - Metric data extracted from Bevy diagnostics
- Fleet
Plugin - The Fleet plugin that can be added to a Bevy app
- GpuInfo
- GPU/Adapter information from WGPU
- Machine
Info - Machine/system information
- Otlp
Config - Configuration options specific to the OTLP exporter.
- Panic
Info - Panic information
- Session
Info - Session information for correlating metrics across a game session
- Session
Stats - Statistics tracked for the current session
Functions§
- forward_
serialized_ events - Serializes custom Bevy events into
FleetEvents so they can be consumed by Fleet.