You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**A lightweight Logging and Tracing observability solution for Rust, built with [Apache Arrow](https://arrow.apache.org), [Apache Parquet](https://parquet.apache.org) and [Apache DataFusion](https://datafusion.apache.org).**
9
9
10
10
> **Notice: this project is in the experimental stage and not production-ready. Use at your own risk.**
11
11
@@ -17,19 +17,9 @@ This project was inspired by [tracing](https://github.com/tokio-rs/tracing) and
17
17
18
18
-**duo-api** - a wire protocol for logging and tracing data. The wire format is defined using gRPC and protocol buffers.
19
19
-**duo-subscriber** - instrumentation for collecting logging and tracing data from a process and exposing it over the wire format. `duo-subscriber` crate in this repository contains an implementation of the instrumentation-side API as a [tracing-subscriber](https://crates.io/crates/tracing-subscriber)[Layer](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/layer/trait.Layer.html), for projects using Tokio and tracing.
20
-
-**duo-ui** - the web UI for duo. Currently, we just use the [jaeger-ui](https://github.com/jaegertracing/jaeger-ui) for tracing and have no UI for logging. The future repository is here: [duo-rs/duo-ui](https://github.com/duo-rs/duo-ui).
20
+
-**duo-ui** - the web UI for duo.
21
21
-**duo-server** - the aggregating server to collect tracing and logging data and interact with duo web UI.
22
22
23
-
## Why called duo?
24
-
25
-
Duo is mainly a musical terminology meaning a musical composition for two performers in which the performers have equal importance to the piece, often a composition involving two singers or two pianists.
26
-
27
-
The famous duo band is [Brooklyn Duo](https://www.youtube.com/c/BrooklynDuo), you can visit this video ([Canon in D (Pachelbel's Canon) - Cello & Piano](https://www.youtube.com/watch?v=Ptk_1Dc2iPY)) to learn more about them.
I personally think the logging and tracing have equal importance to observability, they are just like a duo band to help you diagnose your application.
32
-
33
23
## Get started
34
24
35
25
### Installation
@@ -78,7 +68,15 @@ async fn main() {
78
68
79
69
Run your application then check the http://127.0.0.1:3000 to see the tracing data.
80
70
81
-

71
+
### Logging UI
72
+
73
+

74
+
75
+
### Tracing UI
76
+
77
+
Currently trace view is based on [Jaeger UI](https://www.jaegertracing.io), we'll rewrite it with Svelte in the future.
78
+
79
+

82
80
83
81
## Roadmap
84
82
@@ -98,6 +96,16 @@ Run your application then check the http://127.0.0.1:3000 to see the tracing dat
98
96
99
97
-[ ] Support OpenTelemetry specification, aimed to be a lightweight OpenTelemetry backend.
100
98
99
+
## Why called duo?
100
+
101
+
Duo is mainly a musical terminology meaning a musical composition for two performers in which the performers have equal importance to the piece, often a composition involving two singers or two pianists.
102
+
103
+
The famous duo band is [Brooklyn Duo](https://www.youtube.com/c/BrooklynDuo), you can visit this video ([Canon in D (Pachelbel's Canon) - Cello & Piano](https://www.youtube.com/watch?v=Ptk_1Dc2iPY)) to learn more about them.
I personally think the logging and tracing have equal importance to observability, they are just like a duo band to help you diagnose your application.
108
+
101
109
## License
102
110
103
111
This project is licensed under the [MIT license](./LICENSE).
0 commit comments