60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
# Getting Started with OpenTelemetry .NET in 5 Minutes
|
|
|
|
First, download and install the [.NET Core
|
|
SDK](https://dotnet.microsoft.com/download) on your computer.
|
|
|
|
Create a new console application and run it:
|
|
|
|
```sh
|
|
dotnet new console --output getting-started
|
|
cd getting-started
|
|
dotnet run
|
|
```
|
|
|
|
You should see the following output:
|
|
|
|
```text
|
|
Hello World!
|
|
```
|
|
|
|
Install the
|
|
[OpenTelemetry.Exporter.Console](../../../src/OpenTelemetry.Exporter.Console/README.md)
|
|
package:
|
|
|
|
```sh
|
|
dotnet add package OpenTelemetry.Exporter.Console -v 0.4.0-beta.2
|
|
```
|
|
|
|
Update the `Program.cs` file with the code from [Program.cs](./Program.cs):
|
|
|
|
Run the application again (using `dotnet run`) and you should see the trace
|
|
output from the console.
|
|
|
|
```text
|
|
Activity.Id: 00-8389584945550f40820b96ce1ceb9299-745239d26e408342-01
|
|
Activity.ParentId: 00-8389584945550f40820b96ce1ceb9299-0000000000000000-00
|
|
Activity.DisplayName: SayHello
|
|
Activity.Kind: Internal
|
|
Activity.StartTime: 2020-08-12T15:59:10.4461835Z
|
|
Activity.Duration: 00:00:00.0066039
|
|
Activity.TagObjects:
|
|
foo: 1
|
|
bar: Hello, World!
|
|
baz: [1, 2, 3]
|
|
```
|
|
|
|
Congratulations! You are now collecting traces using OpenTelemetry.
|
|
|
|
What does the above program do?
|
|
|
|
The program creates an `ActivitySource` which represents an [OpenTelemetry
|
|
Tracer](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#tracer).
|
|
The `ActivitySource` instance is used to start an `Activity` which represents an
|
|
[OpenTelemetry
|
|
Span](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#span).
|
|
An OpenTelemetry
|
|
[TracerProvider](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#tracerprovider)
|
|
is configured to subscribe to the activities from the source
|
|
`MyCompany.MyProduct.MyLibrary`, and export it to `ConsoleExporter`.
|
|
`ConsoleExporter` simply displays it on the console.
|