rust-metrics

Multi reporter metrics library (carbon, graphite, postgresql, prometheus)

  • 所有者: posix4e/rust-metrics
  • 平台:
  • 许可证: Other
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

This project is stable. New features will be aimed at https://github.com/brayniac/tic. We will only be taking fixes going forward.

rust-metrics

Linux Status
Kanban

Metrics are things you can use to safely & directly store metrics with little overhead. Metrics
can be attached to a registry and that registry can be collected across a system. This registry
also provides reporting services. Current reporters include:

Contact us on #rust-metrics on Mozilla IRC.

...
        let m = StdMeter::new();
        m.mark(

        let c = StdCounter::new();
        c.inc();

        let g = StdGauge::new();
        g.set(2);

        let mut h = Histogram::configure()
            .max_value(100)
            .precision(1)
            .build()
            .unwrap();

        h.increment_by(1, 1).unwrap();

        let mut reporter = CarbonReporter::new("test", "localhost:0".to_string(), "asd.asdf", 5);
        reporter.add("meter1", Metric::Meter(m.clone()));
        reporter.add("counter1", Metric::Counter(c.clone()));
        reporter.add("gauge1", Metric::Gauge(g.clone()));
	// Add a histogram with labels even though they ignored in this reporter
        reporter.addL("histogram", Metric::Histogram(h), Some(HashMap::new()));
        while ... {    c.inc()}
        reporter.stop();

Usage

Add this to your Cargo.toml:
push only

metrics =  { version="0.2.0" }

prometheus pull support

metrics =  { version="0.2.0", features=["prometheus"] }

And add this to your crate root:

extern crate metrics

Provided scripts in bin/

  • build_docker This builds the default docker image
  • generate_pb Generates the prometheus protocol buffer code
  • run_docker This will run the docker container once it's been built (or download the last one i pushed)
  • start_docker Use docker_compose to launch prometheus, carbon/graphite and clients which send them data
  • webserver_with_prometheus Starts a webserver which runs with a prometheus reporter
  • start_prometheus_example Use docker-compose to start a prometheus server & hook it up to webserver_with_prometheus
  • webserver_with_carbon Starts a webserver with a carbon reporter
  • start_carbon_example Use docker-compose to start graphite/carbon/whisper and hook it up to webserver_with_carbon

Many of these will only run if prometheus support is enabled

TBD

Local Development

    cargo build # to build the code
    cargo test # to run the tests

To use prometheus you will might need to read these directions

    cargo build --features "prometheus" # To build code with prometheus support

License

rust-metrics is primarily distributed under the terms of both the MIT license and the
Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.

Copyright (c) 2016 Alex Newman.

主要指标

概览
名称与所有者posix4e/rust-metrics
主编程语言Rust
编程语言Shell (语言数: 3)
平台
许可证Other
所有者活动
创建于2016-05-28 07:05:59
推送于2018-10-27 18:54:53
最后一次提交2018-10-27 11:54:52
发布数5
最新版本名称0.2.2 (发布于 )
第一版名称v0.0.2 (发布于 2015-09-03 14:59:58)
用户参与
星数99
关注者数4
派生数19
提交数310
已启用问题?
问题数27
打开的问题数5
拉请求数51
打开的拉请求数0
关闭的拉请求数8
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?