9 releases
0.2.6 | Nov 13, 2023 |
---|---|
0.2.5 | Oct 3, 2020 |
0.2.4 | Jul 18, 2020 |
0.2.3 | Nov 10, 2018 |
0.0.0 | Sep 30, 2017 |
#390 in Debugging
Used in 2 crates
18KB
365 lines
mackerel-plugin-rs
ー Mackerel plugin helper library for Rust ー
Plugin samples
Plugins using this library.
Example
use mackerel_plugin::*;
use rand;
use std::collections::HashMap;
struct DicePlugin {}
impl Plugin for DicePlugin {
fn fetch_metrics(&self) -> Result<HashMap<String, f64>, String> {
Ok(HashMap::from([
("dice.d6".to_owned(), (rand::random::<u64>() % 6 + 1) as f64),
("dice.d20".to_owned(), (rand::random::<u64>() % 20 + 1) as f64),
]))
}
fn graph_definition(&self) -> Vec<Graph> {
vec![
graph! {
name: "dice",
label: "My Dice",
unit: "integer",
metrics: [
{ name: "d6", label: "Die 6" },
{ name: "d20", label: "Die 20" },
],
},
]
}
}
fn main() {
let plugin = DicePlugin {};
match plugin.run() {
Ok(_) => {},
Err(err) => {
eprintln!("mackerel-plugin-dice: {}", err);
std::process::exit(1);
}
}
}
Author
itchyny (https://github.com/itchyny)
License
This software is released under the MIT License, see LICENSE.
Dependencies
~1.3–2.2MB
~47K SLoC