Graph Database: Monitoring
Graph Database: Monitoring
Part of: Graph Database User Guide
Query Performance
use std::time::Instant;
// Time a querylet start = Instant::now();let result = executor.execute(&query).await?;let duration = start.elapsed();
println!("Query executed in {:?}", duration);println!("Returned {} rows", result.rows.len());Graph Statistics
let stats = storage.get_stats().await?;
println!("Graph Statistics:");println!(" Nodes: {}", stats.vertex_count);println!(" Edges: {}", stats.edge_count);println!(" Average degree: {:.2}", stats.edge_count as f64 / stats.vertex_count as f64);println!(" Memory usage: {} MB", stats.memory_usage_mb);println!(" Storage size: {} MB", stats.storage_size_mb);Memory Usage
use heliosdb_graph::utils::memory_usage;
let memory_stats = memory_usage();println!("Memory Statistics:");println!(" Resident: {} MB", memory_stats.resident_mb);println!(" Virtual: {} MB", memory_stats.virtual_mb);println!(" Heap: {} MB", memory_stats.heap_mb);Cache Metrics
let cache_stats = storage.get_cache_stats().await?;
println!("Cache Statistics:");println!(" Hit rate: {:.2}%", cache_stats.hit_rate * 100.0);println!(" Hits: {}", cache_stats.hits);println!(" Misses: {}", cache_stats.misses);println!(" Size: {} MB", cache_stats.size_mb);Slow Query Log
// Enable slow query loggingstorage.enable_slow_query_log(Duration::from_millis(100)).await?;
// Queries taking >100ms will be loggedMetrics Export (Prometheus)
use heliosdb_graph::metrics::PrometheusExporter;
let exporter = PrometheusExporter::new(storage);
// Export metrics to Prometheus formatlet metrics = exporter.export().await?;println!("{}", metrics);Navigation
- Previous: API Reference
- Next: Troubleshooting
- Index: Graph Database User Guide
Version: 6.5 Last Updated: November 17, 2025