Grafana Dashboard
SketchLog ships with a pre-configured Grafana Dashboard to help you visualize your high-performance stream metrics out-of-the-box.
Features
The dashboard includes visualisations for:
1. Ingestion Rate: Tracks sketchlog_total_events to monitor the throughput of your streaming data.
2. Latency Quantiles: Tracks sketchlog_latency using your chosen percentiles (default: 50th, 95th, 99th, and 99.9th percentiles) emitted from the embedded DDSketch.
3. Estimated Unique Elements: Visualizes sketchlog_unique_count generated by the embedded HyperLogLog structures.
4. Sketch Memory Footprint: Tracks sketchlog_memory_kb to showcase the bounded, predictable memory usage of the underlying probabilistic data structures.
Importing the Dashboard
You can find the dashboard template inside the repository at dashboards/sketchlog-overview.json.
- Prerequisite: Ensure you have configured the Prometheus Exporter to emit metrics.
- Open your Grafana instance.
- Navigate to Dashboards > Import.
- Click Upload JSON file and select the
sketchlog-overview.jsonfile from the repository, or copy/paste the JSON contents directly into the "Import via panel json" text box. - Click Load.
- At the top of the newly imported dashboard, click the dashboard settings (gear icon) and navigate to Variables. Ensure the
DS_PROMETHEUSvariable points to your correct Prometheus instance. - Save the dashboard.
[!NOTE] The template uses a fixed UID (
sketchlog-overview). If you already have a dashboard with this UID, re-importing this file will overwrite it in place.
Supported Metrics
For the dashboard to populate, your Prometheus instance must scrape the following metrics from the PrometheusExporter:
sketchlog_latency(Gauge, labeled byquantile)sketchlog_unique_count(Gauge)sketchlog_total_events(Counter)sketchlog_memory_kb(Gauge)
Note: The dashboard uses the job and instance labels automatically assigned by Prometheus during scraping to allow you to filter across different servers or applications.