Skip to content

Commit f5d121f

Browse files
committed
Move code from README into a basic example
1 parent d817cf7 commit f5d121f

File tree

2 files changed

+31
-49
lines changed

2 files changed

+31
-49
lines changed

README.md

+1-49
Original file line numberDiff line numberDiff line change
@@ -54,55 +54,7 @@ The crate provides the following types:
5454

5555
[msrv]: #supported-rust-versions
5656

57-
## Examples
58-
59-
### Basic Usage
60-
61-
```rust
62-
use opentelemetry::trace::TracerProvider as _;
63-
use opentelemetry_sdk::trace::TracerProvider;
64-
use opentelemetry_stdout as stdout;
65-
use tracing::{error, span};
66-
use tracing_subscriber::layer::SubscriberExt;
67-
use tracing_subscriber::Registry;
68-
69-
fn main() {
70-
// Create a new OpenTelemetry trace pipeline that prints to stdout
71-
let provider = TracerProvider::builder()
72-
.with_simple_exporter(stdout::SpanExporter::default())
73-
.build();
74-
let tracer = provider.tracer("readme_example");
75-
76-
// Create a tracing layer with the configured tracer
77-
let telemetry = tracing_opentelemetry::layer().with_tracer(tracer);
78-
79-
// Use the tracing subscriber `Registry`, or any other subscriber
80-
// that impls `LookupSpan`
81-
let subscriber = Registry::default().with(telemetry);
82-
83-
// Trace executed code
84-
tracing::subscriber::with_default(subscriber, || {
85-
// Spans will be sent to the configured OpenTelemetry exporter
86-
let root = span!(tracing::Level::TRACE, "app_start", work_units = 2);
87-
let _enter = root.enter();
88-
89-
error!("This event will be logged in the root span.");
90-
});
91-
}
92-
```
93-
94-
`Cargo.toml`
95-
```toml
96-
[dependencies]
97-
opentelemetry = "0.21"
98-
opentelemetry_sdk = "0.21"
99-
opentelemetry-stdout = { version = "0.2.0", features = ["trace"] }
100-
tracing = "0.1"
101-
tracing-opentelemetry = "0.22"
102-
tracing-subscriber = "0.3"
103-
```
104-
105-
### Visualization example
57+
## Visualizing traces with Jaeger
10658

10759
```console
10860
# Run a supported collector like jaeger in the background

examples/basic.rs

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
use opentelemetry::trace::TracerProvider as _;
2+
use opentelemetry_sdk::trace::TracerProvider;
3+
use opentelemetry_stdout as stdout;
4+
use tracing::{error, span};
5+
use tracing_subscriber::layer::SubscriberExt;
6+
use tracing_subscriber::Registry;
7+
8+
fn main() {
9+
// Create a new OpenTelemetry trace pipeline that prints to stdout
10+
let provider = TracerProvider::builder()
11+
.with_simple_exporter(stdout::SpanExporter::default())
12+
.build();
13+
let tracer = provider.tracer("readme_example");
14+
15+
// Create a tracing layer with the configured tracer
16+
let telemetry = tracing_opentelemetry::layer().with_tracer(tracer);
17+
18+
// Use the tracing subscriber `Registry`, or any other subscriber
19+
// that impls `LookupSpan`
20+
let subscriber = Registry::default().with(telemetry);
21+
22+
// Trace executed code
23+
tracing::subscriber::with_default(subscriber, || {
24+
// Spans will be sent to the configured OpenTelemetry exporter
25+
let root = span!(tracing::Level::TRACE, "app_start", work_units = 2);
26+
let _enter = root.enter();
27+
28+
error!("This event will be logged in the root span.");
29+
});
30+
}

0 commit comments

Comments
 (0)