
Chart | Data shape | Use when |
|---|---|---|
Scatter points and brush selection. | Use it when incidents require selecting a point range. | |
One capacity value in a bounded range. | Use it for critical status cards. | |
Service nodes and dependencies. | Use it for operational topology. | |
Highlighted error points. | Use it for outlier-heavy operational views. | |
Resource load matrix. | Use it for time and resource concentration. | |
3D point cloud of operational samples. | Use it for dense spatial monitoring views. | |
3D grid bars for operational values. | Use it for spatial operational demonstrations. | |
Trend with typed graphic callout. | Use it when dashboards need explanatory context. | |
Error values with threshold band. | Use it when alert ranges must be visible. | |
Event positions with value-coded marks. | Use it for compact event timeline rows. | |
Dense telemetry samples. | Use it for top-level operational dashboards. | |
Multidimensional status vector. | Use it for status summaries across dimensions. | |
Line chart with analysis actions. | Use it when charts need local analysis controls. | |
Traffic counts by category. | Use it for quick categorical traffic summaries. | |
Flow nodes and links. | Use it for request and process flow. | |
Region values with color scale. | Use it for geographic operations. | |
Connection lines with effect markers. | Use it for route and link movement. | |
Timeline control over chart state. | Use it for release-based dashboards. | |
Services ranked by a value. | Use it to focus on the largest contributors. | |
Daily uptime values. | Use it for long-term reliability summaries. |
use fission::prelude::*;
use fission::charts::{Axis, Chart, LineSeries};
pub struct MonitoringChart;
impl From<MonitoringChart> for Widget {
fn from(_: MonitoringChart) -> Widget {
Chart::new()
.title("Monitoring")
.x_axis(Axis::category(vec!["A", "B", "C"]))
.y_axis(Axis::value())
.series(vec![LineSeries::new("Series").data(vec![1.0, 2.0, 3.0]).into()])
.into()
}
}
Area | What to decide | How to verify |
|---|---|---|
Data shape | Keep source rows in typed Rust structs, then map them into the series type shown in the example. | Unit test the mapping separately from rendering. |
Options | Choose axes, legends, labels, animation, and interaction based on the user's task. | Add a screenshot test when changing visual behavior. |
Accessibility | Provide a clear title and adjacent summary text for important trends or outliers. | Inspect the generated semantics and make sure the chart is understandable without color alone. |
Failure handling | Render an empty, loading, or error state before constructing the chart if data is unavailable. | Test empty data, partial data, and failed fetches. |
Performance | Prefer summarized or windowed data for very large datasets; keep full raw history in the data layer. | Profile frame time and interaction latency with representative data volumes. |