9 releases

0.4.1 Jun 28, 2023
0.4.0 Mar 16, 2023
0.3.2 Jan 24, 2023
0.3.1 Jan 21, 2022
0.2.1 Mar 10, 2021

#474 in Debugging

Download history 3/week @ 2024-11-20 1/week @ 2024-11-27 9/week @ 2024-12-04 20/week @ 2024-12-11 51/week @ 2025-01-08 8/week @ 2025-01-15 46/week @ 2025-01-22 44/week @ 2025-01-29 44/week @ 2025-02-05 53/week @ 2025-02-12 40/week @ 2025-02-19 47/week @ 2025-02-26

190 downloads per month

MIT/Apache

43KB
979 lines

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

~26MB
~493K SLoC