#sqlite #metrics

metrics-sqlite

Library for providing SQLite backend for metrics

13 releases

new 0.5.3 Mar 11, 2026
0.5.1 Nov 6, 2025
0.4.1 Jun 28, 2023
0.4.0 Mar 16, 2023
0.2.1 Mar 10, 2021

#289 in Debugging

Download history 5/week @ 2025-11-19 54/week @ 2025-11-26 67/week @ 2025-12-03 38/week @ 2026-01-07 63/week @ 2026-01-14 97/week @ 2026-01-21 110/week @ 2026-01-28 129/week @ 2026-02-04 165/week @ 2026-02-11 138/week @ 2026-02-18 122/week @ 2026-02-25 145/week @ 2026-03-04

588 downloads per month

MIT/Apache

59KB
1.5K SLoC

SQLite Observer & Exporter for SQLite

Rust docs Crates.io

This provides a fairly simple SQLite powered backend for the metrics crate, useful for offline or desktop applications to gather metrics that can be easily queried afterwards.

Version 0.4 Notes

  • Now works with metrics 0.20.x
  • _register!() macros aren't required & don't do anything with this exporter currently
  • Unit/description now available via _describe!() macros metrics provides

Version 0.3 Notes

  • Now vacuums on setup which can incur a delay in being ready to record
  • Migration of database blows away 0.2 data unfortunately

Example

    let exporter = SqliteExporter::new(
        Duration::from_secs(30), // flush to sqlite on disk every 30s (or internal buffer limit)
        Some(Duration::from_secs(60 * 60 * 24 * 7)), // 60 sec * 60 min * 24 hours * 7 days
        "metrics.db",
    )
    .expect("Failed to create SqliteExporter");
    exporter
        .install()
        .expect("Failed to install SqliteExporter");

// use metrics macros etc.
metrics::gauge!("mykey", 1.0);

Dependencies

~41MB
~680K SLoC