mirror of
https://github.com/actix/examples
synced 2024-12-18 00:13:57 +01:00
25 lines
921 B
Markdown
25 lines
921 B
Markdown
# Telemetry Workshop Solution
|
|
|
|
## Overview
|
|
|
|
A solution to the capstone project at the end of [Mainmatter's telemetry workshop](https://github.com/mainmatter/rust-telemetry-workshop).
|
|
|
|
As stated in the exercise brief, this example will:
|
|
|
|
- Configure a `tracing` subscriber that exports data to both Honeycomb and stdout, in JSON format;
|
|
- Configure a suitable panic hook;
|
|
- Configure a `metric` recorder that exposes metric data at `/metrics`~~, using a different port than your API endpoints~~ (this example shows how to use the existing HTTP server);
|
|
- Add one or more middleware that:
|
|
- Create a top-level INFO span for each incoming request;
|
|
- Track the number of concurrent requests using a gauge;
|
|
- Track request duration using a histogram;
|
|
- Track the number of handled requests
|
|
- All metrics should include success/failure as a label.
|
|
|
|
## Usage
|
|
|
|
```console
|
|
$ cd tracing/mainmatter-workshop
|
|
$ cargo run
|
|
```
|