Skip to content

Rust metrics ported from dropwizard metrics

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

sunng87/metriki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metriki

Metriki is a rust library ported from Dropwizard Metrics.

Like Dropwizard Metrics, Metriki aggregates metrics on client-side and outputs limited amount data.

Quick Start

// create a timer to track the execution rate and latency of this function
// to use macros you will need to turn on `macros` feature of metriki_core
#[timed]
fn your_function() {
  // a function metered by a timer for its rate and latency
}

use metriki_core::global::global_registry;
use metriki_influxdb_reporter::InfluxDbReporterBuilder;

// by default, the timer is registered in this global_registry()
let registry = global_registry();

// start a reporter to send data into influxdb
InfluxDbReporterBuilder::default()
    .url("localhost:8086")
    .username(String::from("influxdbuser"))
    .password(String::from("yourpassword"))
    .database("db")
    .registry(registry.clone())
    .build()
    .unwrap()
    .start();

Components

Concepts

Metrics

  • Counter: a value that can be increased and decreased.
  • Meter: measures rate of an event.
  • Histogram: records distribution of data over time.
  • Timer: a combination of meter and histogram.
  • Gauge: a function that provides value when queried.

MetricsRegistry

An entrypoint and holder of all metrics.

MetricsSet

A trait to be implemented so that dynamic metrics can be added into registry. Metrics from the set are pulled into registry everytime when reporters and exporters pulling values from the registry.

Reporter

A component to report metric data periodically. Typically used for data sinks which has a push-model.

Exporter

A component to expose metric data to external queriers. Typically for pull based data sinks.

License

MIT/Apache-2.0

About

Rust metrics ported from dropwizard metrics

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages