Web Monitor

The web monitor is a read-only inspection service built on top of Reader. It provides:

  • a browser UI for snapshots and key inspection,
  • and lists all snapshots and current pointer, with the ability to switch between tracking the current snapshot or a fixed snapshot ID.

Start via CLI

cobble-cli web-monitor --config ./config.yaml --bind 127.0.0.1:8080

Then open http://127.0.0.1:8080/.

Embed in Rust

use cobble_web_monitor::{MonitorConfig, MonitorConfigSource, MonitorServer};

let mut server = MonitorServer::new(MonitorConfig {
    source: MonitorConfigSource::ConfigPath("./config.yaml".to_string()),
    bind_addr: "127.0.0.1:8080".to_string(),
    global_snapshot_id: None, // None = follow current global snapshot
    ..MonitorConfig::default()
})?;

let handle = server.serve()?;
println!("monitor at {}", handle.base_url());

UI showcase

Snapshot list and pointer tracking

You can choose to track the current global snapshot (default) or a fixed snapshot ID. The list shows all snapshots with their IDs and metadata.

snapshot list

Lookup

You can perform key lookups against the tracked snapshot.

lookup

Scan

You can perform range scans with optional prefix filtering.

scan

UI Build Notes

cobble-web-monitor embeds frontend assets during build. For backend-only builds:

COBBLE_WEB_MONITOR_SKIP_UI_BUILD=1 cargo build -p cobble-web-monitor

In this mode APIs still work; UI serves a fallback page.


Copyright © Cobble contributors. Distributed under the Apache-2.0 License.

This site uses Just the Docs, a documentation theme for Jekyll.