Go to file
Deirdre Connolly bde1a50315 Remove extra new lines 2021-10-08 23:56:20 -04:00
.github Merge branch 'main' into experiment/name-parts 2020-11-13 13:26:42 -05:00
assets upsize splash logo to better fit 2020-10-27 09:52:29 -04:00
metrics core: fix unit binary vs decimal wonkiness 2020-11-16 17:53:36 -05:00
metrics-benchmark wip 2020-11-12 23:23:32 -05:00
metrics-exporter-prometheus Remove extra new lines 2021-10-08 23:56:20 -04:00
metrics-exporter-tcp more doc fixes 2020-10-28 22:51:27 -04:00
metrics-macros collapse from_owned_parts/from_hybrid_parts into from_parts 2020-11-15 15:49:05 -05:00
metrics-observer get changelog stuff in place 2020-10-24 10:54:55 -04:00
metrics-tracing-context collapse from_owned_parts/from_hybrid_parts into from_parts 2020-11-15 15:49:05 -05:00
metrics-util fix concurrent writer/uninitialized memory bug with AtomicBucket 2020-11-16 18:45:15 -05:00
.editorconfig refactor: next-generation metrics (#80) 2020-09-26 22:26:39 -04:00
.gitignore refactor: next-generation metrics (#80) 2020-09-26 22:26:39 -04:00
CODE_OF_CONDUCT.md Small UI tweak to the CoC. 2019-04-24 08:09:13 -04:00
COPYRIGHT wip 2020-11-12 23:23:32 -05:00
Cargo.toml deps: update to tokio 0.3 2020-11-19 14:22:16 -08:00
LICENSE Initial workspace config + metrics-core. 2019-03-26 08:41:12 -04:00
README.md woops 2020-10-27 10:04:56 -04:00
netlify.toml try putting docs on netlify 2020-10-28 20:59:03 -04:00
release.toml refactor: next-generation metrics (#80) 2020-09-26 22:26:39 -04:00

README.md

Metrics - High-performance, protocol-agnostic instrumentation

Code of Conduct MIT licensed Documentation Discord chat last-commit-badge contributors-badge

code of conduct

NOTE: All conversations and contributions to this project shall adhere to the Code of Conduct.

what's it all about?

Running applications in production can be hard when you don't have insight into what the application is doing. We're lucky to have so many good system monitoring programs and services to show us how our servers are performing, but we still have to do the work of instrumenting our applications to gain deep insight into their behavior and performance.

metrics makes it easy to instrument your application to provide real-time insight into what's happening. It provides a number of practical features that make it easy for library and application authors to start collecting and exporting metrics from their codebase.

why would I collect metrics?

Some of the most common scenarios for collecting metrics from an application:

  • see how many times a codepath was hit
  • track the time it takes for a piece of code to execute
  • expose internal counters and values in a standardized way

Importantly, this works for both library authors and application authors. If the libraries you use are instrumented, you unlock the power of being able to collect those metrics in your application for free, without any extra configuration. Everyone wins, and learns more about their application performance at the end of the day.

project layout

The Metrics project provides a number of crates for both library and application authors.

If you're a library author, you'll only care about using metrics to instrument your library. If you're an application author, you'll likely also want to instrument your application, but you'll care about "exporters" as a means to take those metrics and ship them somewhere for analysis.

Overall, this repository is home to the following crates:

contributing

We're always looking for users who have thoughts on how to make metrics better, or users with interesting use cases. Of course, we're also happy to accept code contributions for outstanding feature requests! 😀

We'd love to chat about any of the above, or anything else, really! You can find us over on Discord.