fix spec repo links to main branch (#1746)
This commit is contained in:
parent
91236f1cae
commit
fe24768521
|
|
@ -168,7 +168,7 @@ As with other OpenTelemetry clients, opentelemetry-dotnet follows the
|
||||||
[opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification).
|
[opentelemetry-specification](https://github.com/open-telemetry/opentelemetry-specification).
|
||||||
|
|
||||||
It's especially valuable to read through the [library
|
It's especially valuable to read through the [library
|
||||||
guidelines](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/library-guidelines.md).
|
guidelines](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/library-guidelines.md).
|
||||||
|
|
||||||
### Focus on Capabilities, Not Structure Compliance
|
### Focus on Capabilities, Not Structure Compliance
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ Here are the most commonly used components:
|
||||||
* [OpenTelemetry .NET SDK](./src/OpenTelemetry/README.md)
|
* [OpenTelemetry .NET SDK](./src/OpenTelemetry/README.md)
|
||||||
|
|
||||||
Here are the [instrumentation
|
Here are the [instrumentation
|
||||||
libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library):
|
libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library):
|
||||||
|
|
||||||
* [ASP.NET](./src/OpenTelemetry.Instrumentation.AspNet/README.md)
|
* [ASP.NET](./src/OpenTelemetry.Instrumentation.AspNet/README.md)
|
||||||
* [ASP.NET Core](./src/OpenTelemetry.Instrumentation.AspNetCore/README.md)
|
* [ASP.NET Core](./src/OpenTelemetry.Instrumentation.AspNetCore/README.md)
|
||||||
|
|
@ -47,7 +47,7 @@ libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/ma
|
||||||
* [SQL client](./src/OpenTelemetry.Instrumentation.SqlClient/README.md)
|
* [SQL client](./src/OpenTelemetry.Instrumentation.SqlClient/README.md)
|
||||||
|
|
||||||
Here are the [exporter
|
Here are the [exporter
|
||||||
libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#exporter-library):
|
libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#exporter-library):
|
||||||
|
|
||||||
* [Console](./src/OpenTelemetry.Exporter.Console/README.md)
|
* [Console](./src/OpenTelemetry.Exporter.Console/README.md)
|
||||||
* [In-memory](./src/OpenTelemetry.Exporter.InMemory/README.md)
|
* [In-memory](./src/OpenTelemetry.Exporter.InMemory/README.md)
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ Exporter to the `TracerProvider` as shown in the example [here](./Program.cs).
|
||||||
## Instrumentation Library
|
## Instrumentation Library
|
||||||
|
|
||||||
The [inspiration of the OpenTelemetry
|
The [inspiration of the OpenTelemetry
|
||||||
project](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/overview.md#instrumentation-libraries)
|
project](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#instrumentation-libraries)
|
||||||
is to make every library observable out of the box by having
|
is to make every library observable out of the box by having
|
||||||
them call OpenTelemetry API directly. However, many libraries will not have such
|
them call OpenTelemetry API directly. However, many libraries will not have such
|
||||||
integration, and as such there is a need for a separate library which would
|
integration, and as such there is a need for a separate library which would
|
||||||
|
|
@ -71,9 +71,9 @@ model.
|
||||||
|
|
||||||
A library which enables instrumentation for another library is called
|
A library which enables instrumentation for another library is called
|
||||||
[Instrumentation
|
[Instrumentation
|
||||||
Library](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library)
|
Library](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library)
|
||||||
and the library it instruments is called the [Instrumented
|
and the library it instruments is called the [Instrumented
|
||||||
Library](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumented-library).
|
Library](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumented-library).
|
||||||
If a given library has built-in instrumentation with OpenTelemetry, then
|
If a given library has built-in instrumentation with OpenTelemetry, then
|
||||||
instrumented library and instrumentation library will be the same.
|
instrumented library and instrumentation library will be the same.
|
||||||
|
|
||||||
|
|
@ -262,8 +262,8 @@ A demo sampler is shown [here](./MySampler.cs).
|
||||||
## References
|
## References
|
||||||
|
|
||||||
* [Exporter
|
* [Exporter
|
||||||
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#span-exporter)
|
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#span-exporter)
|
||||||
* [Processor
|
* [Processor
|
||||||
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#span-processor)
|
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#span-processor)
|
||||||
* [Sampler
|
* [Sampler
|
||||||
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#sampler)
|
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampler)
|
||||||
|
|
|
||||||
|
|
@ -47,12 +47,12 @@ Congratulations! You are now collecting traces using OpenTelemetry.
|
||||||
What does the above program do?
|
What does the above program do?
|
||||||
|
|
||||||
The program creates an `ActivitySource` which represents an [OpenTelemetry
|
The program creates an `ActivitySource` which represents an [OpenTelemetry
|
||||||
Tracer](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#tracer).
|
Tracer](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#tracer).
|
||||||
The `ActivitySource` instance is used to start an `Activity` which represents an
|
The `ActivitySource` instance is used to start an `Activity` which represents an
|
||||||
[OpenTelemetry
|
[OpenTelemetry
|
||||||
Span](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#span).
|
Span](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#span).
|
||||||
An OpenTelemetry
|
An OpenTelemetry
|
||||||
[TracerProvider](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#tracerprovider)
|
[TracerProvider](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#tracerprovider)
|
||||||
is configured to subscribe to the activities from the source
|
is configured to subscribe to the activities from the source
|
||||||
`MyCompany.MyProduct.MyLibrary`, and export it to `ConsoleExporter`.
|
`MyCompany.MyProduct.MyLibrary`, and export it to `ConsoleExporter`.
|
||||||
`ConsoleExporter` simply displays it on the console.
|
`ConsoleExporter` simply displays it on the console.
|
||||||
|
|
@ -66,9 +66,9 @@ is a somewhat unique implementation of the OpenTelemetry project, as parts of
|
||||||
the tracing API are incorporated directly into the .NET runtime itself. From a
|
the tracing API are incorporated directly into the .NET runtime itself. From a
|
||||||
high level, what this means is that the `Activity` and `ActivitySource` classes
|
high level, what this means is that the `Activity` and `ActivitySource` classes
|
||||||
from .NET runtime represent the OpenTelemetry concepts of
|
from .NET runtime represent the OpenTelemetry concepts of
|
||||||
[Span](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#span)
|
[Span](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#span)
|
||||||
and
|
and
|
||||||
[Tracer](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#tracer)
|
[Tracer](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#tracer)
|
||||||
respectively. Read
|
respectively. Read
|
||||||
[this](../../../src/OpenTelemetry.Api/README.md#introduction-to-opentelemetry-net-tracing-api)
|
[this](../../../src/OpenTelemetry.Api/README.md#introduction-to-opentelemetry-net-tracing-api)
|
||||||
to learn more.
|
to learn more.
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ namespace Utils.Messaging
|
||||||
Baggage.Current = parentContext.Baggage;
|
Baggage.Current = parentContext.Baggage;
|
||||||
|
|
||||||
// Start an activity with a name following the semantic convention of the OpenTelemetry messaging specification.
|
// Start an activity with a name following the semantic convention of the OpenTelemetry messaging specification.
|
||||||
// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/messaging.md#span-name
|
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/messaging.md#span-name
|
||||||
var activityName = $"{ea.RoutingKey} receive";
|
var activityName = $"{ea.RoutingKey} receive";
|
||||||
|
|
||||||
using (var activity = ActivitySource.StartActivity(activityName, ActivityKind.Consumer, parentContext.ActivityContext))
|
using (var activity = ActivitySource.StartActivity(activityName, ActivityKind.Consumer, parentContext.ActivityContext))
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ namespace Utils.Messaging
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Start an activity with a name following the semantic convention of the OpenTelemetry messaging specification.
|
// Start an activity with a name following the semantic convention of the OpenTelemetry messaging specification.
|
||||||
// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/messaging.md#span-name
|
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/messaging.md#span-name
|
||||||
var activityName = $"{RabbitMqHelper.TestQueueName} send";
|
var activityName = $"{RabbitMqHelper.TestQueueName} send";
|
||||||
|
|
||||||
using (var activity = ActivitySource.StartActivity(activityName, ActivityKind.Producer))
|
using (var activity = ActivitySource.StartActivity(activityName, ActivityKind.Producer))
|
||||||
|
|
|
||||||
|
|
@ -72,8 +72,8 @@ namespace Utils.Messaging
|
||||||
{
|
{
|
||||||
// These tags are added demonstrating the semantic conventions of the OpenTelemetry messaging specification
|
// These tags are added demonstrating the semantic conventions of the OpenTelemetry messaging specification
|
||||||
// See:
|
// See:
|
||||||
// * https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/messaging.md#messaging-attributes
|
// * https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/messaging.md#messaging-attributes
|
||||||
// * https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/messaging.md#rabbitmq
|
// * https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/messaging.md#rabbitmq
|
||||||
activity?.SetTag("messaging.system", "rabbitmq");
|
activity?.SetTag("messaging.system", "rabbitmq");
|
||||||
activity?.SetTag("messaging.destination_kind", "queue");
|
activity?.SetTag("messaging.destination_kind", "queue");
|
||||||
activity?.SetTag("messaging.destination", DefaultExchangeName);
|
activity?.SetTag("messaging.destination", DefaultExchangeName);
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ namespace OpenTelemetry
|
||||||
/// Baggage implementation.
|
/// Baggage implementation.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Spec reference: <a href="https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/baggage/api.md">Baggage API</a>.
|
/// Spec reference: <a href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/baggage/api.md">Baggage API</a>.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public readonly struct Baggage : IEquatable<Baggage>
|
public readonly struct Baggage : IEquatable<Baggage>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
* In order to align with the
|
* In order to align with the
|
||||||
[spec](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#set-status)
|
[spec](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status)
|
||||||
the `Status` (otel.status_code) tag (added on `Activity` using the `SetStatus`
|
the `Status` (otel.status_code) tag (added on `Activity` using the `SetStatus`
|
||||||
extension) will now be set as the `UNSET`, `OK`, or `ERROR` string
|
extension) will now be set as the `UNSET`, `OK`, or `ERROR` string
|
||||||
representation instead of the `0`, `1`, or `2` integer representation.
|
representation instead of the `0`, `1`, or `2` integer representation.
|
||||||
|
|
@ -142,7 +142,7 @@ Released 2020-08-28
|
||||||
5.0.0-preview.8.20407.11.
|
5.0.0-preview.8.20407.11.
|
||||||
* Removed `CorrelationContext` and added `Baggage`, an implementation of the
|
* Removed `CorrelationContext` and added `Baggage`, an implementation of the
|
||||||
[`Baggage
|
[`Baggage
|
||||||
API`](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/baggage/api.md)
|
API`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/baggage/api.md)
|
||||||
spec
|
spec
|
||||||
([#1106](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1106))
|
([#1106](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1106))
|
||||||
* Renamed `TraceContextFormat` to `TextMapPropagator`, `BaggageFormat` to
|
* Renamed `TraceContextFormat` to `TextMapPropagator`, `BaggageFormat` to
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,13 @@ namespace OpenTelemetry.Trace
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
|
/// Constants for semantic attribute names outlined by the OpenTelemetry specifications.
|
||||||
/// <see href="https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/README.md"/>.
|
/// <see href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/README.md"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static class SemanticConventions
|
internal static class SemanticConventions
|
||||||
{
|
{
|
||||||
// The set of constants matches the specification as of this commit.
|
// The set of constants matches the specification as of this commit.
|
||||||
// https://github.com/open-telemetry/opentelemetry-specification/tree/master/specification/trace/semantic_conventions
|
// https://github.com/open-telemetry/opentelemetry-specification/tree/master/specification/trace/semantic_conventions
|
||||||
// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/exceptions.md
|
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/exceptions.md
|
||||||
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
||||||
public const string AttributeNetTransport = "net.transport";
|
public const string AttributeNetTransport = "net.transport";
|
||||||
public const string AttributeNetPeerIp = "net.peer.ip";
|
public const string AttributeNetPeerIp = "net.peer.ip";
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ namespace OpenTelemetry.Trace
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Helper method that populates span properties from http status code according
|
/// Helper method that populates span properties from http status code according
|
||||||
/// to https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/http.md#status.
|
/// to https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#status.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="httpStatusCode">Http status code.</param>
|
/// <param name="httpStatusCode">Http status code.</param>
|
||||||
/// <returns>Resolved span <see cref="Status"/> for the Http status code.</returns>
|
/// <returns>Resolved span <see cref="Status"/> for the Http status code.</returns>
|
||||||
|
|
|
||||||
|
|
@ -33,11 +33,11 @@ their application/library. The API only surfaces necessary abstractions to
|
||||||
instrument an application/library. It does not address concerns like how
|
instrument an application/library. It does not address concerns like how
|
||||||
telemetry is exported to a specific telemetry backend, how to sample the
|
telemetry is exported to a specific telemetry backend, how to sample the
|
||||||
telemetry, etc. The API consists of [Tracing
|
telemetry, etc. The API consists of [Tracing
|
||||||
API](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md),
|
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md),
|
||||||
[Logging
|
[Logging
|
||||||
API](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/logs/overview.md),
|
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/overview.md),
|
||||||
[Metrics
|
[Metrics
|
||||||
API](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/metrics/api.md),
|
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md),
|
||||||
[Context and Propagation
|
[Context and Propagation
|
||||||
API](https://github.com/open-telemetry/opentelemetry-specification/tree/master/specification/context),
|
API](https://github.com/open-telemetry/opentelemetry-specification/tree/master/specification/context),
|
||||||
and a set of [semantic
|
and a set of [semantic
|
||||||
|
|
@ -46,9 +46,9 @@ conventions](https://github.com/open-telemetry/opentelemetry-specification/tree/
|
||||||
### Tracing API
|
### Tracing API
|
||||||
|
|
||||||
[Tracing
|
[Tracing
|
||||||
API](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md)
|
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md)
|
||||||
allows users to generate
|
allows users to generate
|
||||||
[Spans](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#span),
|
[Spans](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#span),
|
||||||
which represent a single operation within a trace. Spans can be nested to form a
|
which represent a single operation within a trace. Spans can be nested to form a
|
||||||
trace tree. Each trace contains a root span, which typically describes the
|
trace tree. Each trace contains a root span, which typically describes the
|
||||||
entire operation and, optionally one or more child-spans for its
|
entire operation and, optionally one or more child-spans for its
|
||||||
|
|
@ -64,7 +64,7 @@ API](https://docs.microsoft.com/dotnet/core/extensions/logging).
|
||||||
### Metrics API
|
### Metrics API
|
||||||
|
|
||||||
[Metrics
|
[Metrics
|
||||||
API](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/metrics/api.md)
|
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md)
|
||||||
allows users to capture measurements about the execution of a computer program
|
allows users to capture measurements about the execution of a computer program
|
||||||
at runtime. The Metrics API is designed to process raw measurements, generally
|
at runtime. The Metrics API is designed to process raw measurements, generally
|
||||||
with the intent to produce continuous summaries of those measurements.
|
with the intent to produce continuous summaries of those measurements.
|
||||||
|
|
@ -77,7 +77,7 @@ heavily. Please check the [Metric support plan](https://github.com/open-telemetr
|
||||||
|
|
||||||
.NET runtime had `Activity` class for a long time, which was meant to be used
|
.NET runtime had `Activity` class for a long time, which was meant to be used
|
||||||
for tracing purposes and represents the equivalent of the OpenTelemetry
|
for tracing purposes and represents the equivalent of the OpenTelemetry
|
||||||
[Span](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#span).
|
[Span](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#span).
|
||||||
OpenTelemetry .NET is reusing the existing `Activity` and associated classes to
|
OpenTelemetry .NET is reusing the existing `Activity` and associated classes to
|
||||||
represent the OpenTelemetry `Span`. This means, users can instrument their
|
represent the OpenTelemetry `Span`. This means, users can instrument their
|
||||||
applications/libraries to emit OpenTelemetry compatible traces by using just the
|
applications/libraries to emit OpenTelemetry compatible traces by using just the
|
||||||
|
|
@ -87,7 +87,7 @@ The `Activity` and associated classes are shipped as part of
|
||||||
`System.Diagnostics.DiagnosticSource` nuget package. Version 5.0.0 of this
|
`System.Diagnostics.DiagnosticSource` nuget package. Version 5.0.0 of this
|
||||||
package contains improvements to `Activity` class which makes it more closely
|
package contains improvements to `Activity` class which makes it more closely
|
||||||
aligned with OpenTelemetry [API
|
aligned with OpenTelemetry [API
|
||||||
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md).
|
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md).
|
||||||
|
|
||||||
Even though `Activity` enables all the scenarios OpenTelemetry supports, users
|
Even though `Activity` enables all the scenarios OpenTelemetry supports, users
|
||||||
who are already familiar with OpenTelemetry terminology may find it easy to
|
who are already familiar with OpenTelemetry terminology may find it easy to
|
||||||
|
|
@ -116,7 +116,7 @@ required only for the following scenarios:
|
||||||
you want to compare the differences.
|
you want to compare the differences.
|
||||||
2. Your library performs communication with other libraries/components, and want
|
2. Your library performs communication with other libraries/components, and want
|
||||||
to access
|
to access
|
||||||
[Propagators](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/context/api-propagators.md),
|
[Propagators](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/context/api-propagators.md),
|
||||||
to inject and extract context data. Some of the most common libraries
|
to inject and extract context data. Some of the most common libraries
|
||||||
requiring this include
|
requiring this include
|
||||||
[HttpClient](../OpenTelemetry.Instrumentation.Http/README.md),
|
[HttpClient](../OpenTelemetry.Instrumentation.Http/README.md),
|
||||||
|
|
@ -178,7 +178,7 @@ here as well.
|
||||||
It is highly recommended to check `activity.IsAllDataRequested`, before
|
It is highly recommended to check `activity.IsAllDataRequested`, before
|
||||||
populating any tags which are not readily available. `IsAllDataRequested` is
|
populating any tags which are not readily available. `IsAllDataRequested` is
|
||||||
the same as
|
the same as
|
||||||
[Span.IsRecording](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#isrecording)
|
[Span.IsRecording](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#isrecording)
|
||||||
and will be false when samplers decide to not record the activity, and this
|
and will be false when samplers decide to not record the activity, and this
|
||||||
can be used to avoid any expensive operation to retrieve tags.
|
can be used to avoid any expensive operation to retrieve tags.
|
||||||
|
|
||||||
|
|
@ -227,7 +227,7 @@ chose not to sample this activity.
|
||||||
|
|
||||||
`Activity` has a property called `ActivityKind` which represents
|
`Activity` has a property called `ActivityKind` which represents
|
||||||
OpenTelemetry
|
OpenTelemetry
|
||||||
[SpanKind](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#spankind).
|
[SpanKind](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#spankind).
|
||||||
The default value will be `Internal`. `StartActivity` allows passing the
|
The default value will be `Internal`. `StartActivity` allows passing the
|
||||||
`ActivityKind` while starting an `Activity`.
|
`ActivityKind` while starting an `Activity`.
|
||||||
|
|
||||||
|
|
@ -238,7 +238,7 @@ chose not to sample this activity.
|
||||||
2. Parent using `ActivityContext`
|
2. Parent using `ActivityContext`
|
||||||
|
|
||||||
`ActivityContext` represents the OpenTelemetry
|
`ActivityContext` represents the OpenTelemetry
|
||||||
[SpanContext](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#spancontext).
|
[SpanContext](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#spancontext).
|
||||||
While starting a new `Activity`, the currently active `Activity` is
|
While starting a new `Activity`, the currently active `Activity` is
|
||||||
automatically taken as the parent of the new activity being created.
|
automatically taken as the parent of the new activity being created.
|
||||||
`StartActivity` allows passing explicit `ActivityContext` to override this
|
`StartActivity` allows passing explicit `ActivityContext` to override this
|
||||||
|
|
@ -271,14 +271,14 @@ chose not to sample this activity.
|
||||||
3. Initial Tags
|
3. Initial Tags
|
||||||
|
|
||||||
`Tags` in `Activity` represents the OpenTelemetry [Span
|
`Tags` in `Activity` represents the OpenTelemetry [Span
|
||||||
Attributes](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#set-attributes).
|
Attributes](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-attributes).
|
||||||
Earlier sample showed the usage of `SetTag` method of `Activity` to add tags.
|
Earlier sample showed the usage of `SetTag` method of `Activity` to add tags.
|
||||||
Refer to the
|
Refer to the
|
||||||
[specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/common/common.md#attribute-and-label-naming)
|
[specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/common.md#attribute-and-label-naming)
|
||||||
for best practices on naming tags. It is also possible to provide an initial
|
for best practices on naming tags. It is also possible to provide an initial
|
||||||
set of tags during activity creation, as shown below. Tags provided at
|
set of tags during activity creation, as shown below. Tags provided at
|
||||||
activity creation are accessible for
|
activity creation are accessible for
|
||||||
[Samplers](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#sampler),
|
[Samplers](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampler),
|
||||||
whereas any tags added using `SetTag` are not available for samplers.
|
whereas any tags added using `SetTag` are not available for samplers.
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
|
|
@ -300,7 +300,7 @@ chose not to sample this activity.
|
||||||
|
|
||||||
Apart from the parent-child relation, activities can be linked using
|
Apart from the parent-child relation, activities can be linked using
|
||||||
`ActivityLinks` which represent the OpenTelemetry
|
`ActivityLinks` which represent the OpenTelemetry
|
||||||
[Links](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/overview.md#links-between-spans).
|
[Links](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#links-between-spans).
|
||||||
The linked activities must be provided during the creation time, as shown
|
The linked activities must be provided during the creation time, as shown
|
||||||
below.
|
below.
|
||||||
|
|
||||||
|
|
@ -335,7 +335,7 @@ chose not to sample this activity.
|
||||||
### Adding Events
|
### Adding Events
|
||||||
|
|
||||||
It is possible to [add
|
It is possible to [add
|
||||||
events](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#add-events)
|
events](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#add-events)
|
||||||
to `Activity` using the `AddEvent` method as shown below.
|
to `Activity` using the `AddEvent` method as shown below.
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
|
|
@ -348,7 +348,7 @@ corresponding overloads of `ActivityEvent`.
|
||||||
### Setting Status
|
### Setting Status
|
||||||
|
|
||||||
OpenTelemetry defines a concept called
|
OpenTelemetry defines a concept called
|
||||||
[Status](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#set-status)
|
[Status](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status)
|
||||||
to be associated with `Activity`. There is no `Status` class in .NET, and hence
|
to be associated with `Activity`. There is no `Status` class in .NET, and hence
|
||||||
`Status` is set to an `Activity` using the following special tags:
|
`Status` is set to an `Activity` using the following special tags:
|
||||||
|
|
||||||
|
|
@ -384,7 +384,7 @@ example usage of this shim.
|
||||||
|
|
||||||
[OpenTelemetry.API](https://www.nuget.org/packages/opentelemetry.api) must be
|
[OpenTelemetry.API](https://www.nuget.org/packages/opentelemetry.api) must be
|
||||||
used to access [Propagators
|
used to access [Propagators
|
||||||
API](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/context/api-propagators.md)
|
API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/context/api-propagators.md)
|
||||||
which defines how to extract and inject context across process boundaries. This
|
which defines how to extract and inject context across process boundaries. This
|
||||||
is typically required if you are not using any of the .NET communication
|
is typically required if you are not using any of the .NET communication
|
||||||
libraries which has instrumentations already available which does the
|
libraries which has instrumentations already available which does the
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ namespace OpenTelemetry.Trace
|
||||||
/// Sets the status of activity execution.
|
/// Sets the status of activity execution.
|
||||||
/// Activity class in .NET does not support 'Status'.
|
/// Activity class in .NET does not support 'Status'.
|
||||||
/// This extension provides a workaround to store Status as special tags with key name of otel.status_code and otel.status_description.
|
/// This extension provides a workaround to store Status as special tags with key name of otel.status_code and otel.status_description.
|
||||||
/// Read more about SetStatus here https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#set-status.
|
/// Read more about SetStatus here https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="activity">Activity instance.</param>
|
/// <param name="activity">Activity instance.</param>
|
||||||
/// <param name="status">Activity execution status.</param>
|
/// <param name="status">Activity execution status.</param>
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ using System.Diagnostics;
|
||||||
namespace OpenTelemetry.Trace
|
namespace OpenTelemetry.Trace
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A class that represents the span attributes. Read more here https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/common/common.md#attributes.
|
/// A class that represents the span attributes. Read more here https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/common.md#attributes.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>SpanAttributes is a wrapper around <see cref="ActivityTagsCollection"/> class.</remarks>
|
/// <remarks>SpanAttributes is a wrapper around <see cref="ActivityTagsCollection"/> class.</remarks>
|
||||||
public class SpanAttributes
|
public class SpanAttributes
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ namespace OpenTelemetry.Trace
|
||||||
/// Note: Status Description is only valid for <see
|
/// Note: Status Description is only valid for <see
|
||||||
/// cref="StatusCode.Error"/> Status and will be ignored for all other
|
/// cref="StatusCode.Error"/> Status and will be ignored for all other
|
||||||
/// <see cref="Trace.StatusCode"/> values. See the <a
|
/// <see cref="Trace.StatusCode"/> values. See the <a
|
||||||
/// href="https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#set-status">Status
|
/// href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status">Status
|
||||||
/// API</a> for details.
|
/// API</a> for details.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <param name="description">Description of the status.</param>
|
/// <param name="description">Description of the status.</param>
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ Released 2020-Nov-17
|
||||||
([#1540](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1540))
|
([#1540](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1540))
|
||||||
* Removed `ServiceName` from options available on the `AddJaegerExporter`
|
* Removed `ServiceName` from options available on the `AddJaegerExporter`
|
||||||
extension. It is not required by the
|
extension. It is not required by the
|
||||||
[specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk_exporters/jaeger.md).
|
[specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/jaeger.md).
|
||||||
([#1572](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1572))
|
([#1572](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1572))
|
||||||
|
|
||||||
## 0.8.0-beta.1
|
## 0.8.0-beta.1
|
||||||
|
|
|
||||||
|
|
@ -166,7 +166,7 @@ namespace OpenTelemetry.Exporter.Jaeger.Implementation
|
||||||
|
|
||||||
if (!jaegerTags.HasEvent)
|
if (!jaegerTags.HasEvent)
|
||||||
{
|
{
|
||||||
// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk_exporters/jaeger.md#events
|
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/jaeger.md#events
|
||||||
PooledList<JaegerTag>.Add(ref jaegerTags.Tags, new JaegerTag("event", JaegerTagType.STRING, vStr: timedEvent.Name));
|
PooledList<JaegerTag>.Add(ref jaegerTags.Tags, new JaegerTag("event", JaegerTagType.STRING, vStr: timedEvent.Name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -264,12 +264,12 @@ namespace OpenTelemetry.Exporter.Jaeger.Implementation
|
||||||
StatusCode? statusCode = StatusHelper.GetStatusCodeForTagValue(jaegerTag.VStr);
|
StatusCode? statusCode = StatusHelper.GetStatusCodeForTagValue(jaegerTag.VStr);
|
||||||
if (statusCode == StatusCode.Error)
|
if (statusCode == StatusCode.Error)
|
||||||
{
|
{
|
||||||
// Error flag: https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk_exporters/jaeger.md#error-flag
|
// Error flag: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/jaeger.md#error-flag
|
||||||
PooledList<JaegerTag>.Add(ref state.Tags, new JaegerTag(JaegerErrorFlagTagName, JaegerTagType.BOOL, vBool: true));
|
PooledList<JaegerTag>.Add(ref state.Tags, new JaegerTag(JaegerErrorFlagTagName, JaegerTagType.BOOL, vBool: true));
|
||||||
}
|
}
|
||||||
else if (!statusCode.HasValue || statusCode == StatusCode.Unset)
|
else if (!statusCode.HasValue || statusCode == StatusCode.Unset)
|
||||||
{
|
{
|
||||||
// Unset Status is not sent: https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk_exporters/jaeger.md#status
|
// Unset Status is not sent: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/jaeger.md#status
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ properties:
|
||||||
sent to the agent. (default `4096`).
|
sent to the agent. (default `4096`).
|
||||||
* `ProcessTags`: Which tags should be sent with telemetry.
|
* `ProcessTags`: Which tags should be sent with telemetry.
|
||||||
* `ExportProcessorType`: Whether the exporter should use
|
* `ExportProcessorType`: Whether the exporter should use
|
||||||
[Batch or Simple exporting processor](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#built-in-span-processors)
|
[Batch or Simple exporting processor](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#built-in-span-processors)
|
||||||
.
|
.
|
||||||
* `BatchExportProcessorOptions`: Configuration options for the batch exporter.
|
* `BatchExportProcessorOptions`: Configuration options for the batch exporter.
|
||||||
Only used if ExportProcessorType is set to Batch.
|
Only used if ExportProcessorType is set to Batch.
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ Released 2020-Nov-17
|
||||||
([#1528](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1528))
|
([#1528](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1528))
|
||||||
* Removed `ServiceName` from options available on the `AddOtlpExporter`
|
* Removed `ServiceName` from options available on the `AddOtlpExporter`
|
||||||
extension. It is not required by the
|
extension. It is not required by the
|
||||||
[specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/protocol/exporter.md#configuration-options).
|
[specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options).
|
||||||
([#1557](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1557))
|
([#1557](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1557))
|
||||||
|
|
||||||
## 0.8.0-beta.1
|
## 0.8.0-beta.1
|
||||||
|
|
@ -35,7 +35,7 @@ Released 2020-Nov-5
|
||||||
|
|
||||||
* `peer.service` tag is now added to outgoing spans (went not already specified)
|
* `peer.service` tag is now added to outgoing spans (went not already specified)
|
||||||
following the [Zipkin remote endpoint
|
following the [Zipkin remote endpoint
|
||||||
rules](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk_exporters/zipkin.md#remote-endpoint)
|
rules](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md#remote-endpoint)
|
||||||
([#1392](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1392))
|
([#1392](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1392))
|
||||||
* Added `ServiceName` to options available on the `AddOtlpExporter` extension
|
* Added `ServiceName` to options available on the `AddOtlpExporter` extension
|
||||||
([#1420](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1420))
|
([#1420](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1420))
|
||||||
|
|
|
||||||
|
|
@ -299,7 +299,7 @@ message Status {
|
||||||
string message = 2;
|
string message = 2;
|
||||||
|
|
||||||
// For the semantics of status codes see
|
// For the semantics of status codes see
|
||||||
// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#set-status
|
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status
|
||||||
enum StatusCode {
|
enum StatusCode {
|
||||||
// The default status.
|
// The default status.
|
||||||
STATUS_CODE_UNSET = 0;
|
STATUS_CODE_UNSET = 0;
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ You can configure the `OtlpExporter` through `OtlpExporterOptions` properties:
|
||||||
* `Headers`: Optional headers for the connection.
|
* `Headers`: Optional headers for the connection.
|
||||||
* `ChannelOptions`: gRPC channel options.
|
* `ChannelOptions`: gRPC channel options.
|
||||||
* `ExportProcessorType`: Whether the exporter should use
|
* `ExportProcessorType`: Whether the exporter should use
|
||||||
[Batch or Simple exporting processor](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#built-in-span-processors)
|
[Batch or Simple exporting processor](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#built-in-span-processors)
|
||||||
.
|
.
|
||||||
* `BatchExportProcessorOptions`: Configuration options for the batch exporter.
|
* `BatchExportProcessorOptions`: Configuration options for the batch exporter.
|
||||||
Only used if ExportProcessorType is set to Batch.
|
Only used if ExportProcessorType is set to Batch.
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ namespace OpenTelemetry.Exporter.Zipkin.Implementation
|
||||||
|
|
||||||
if (tagState.StatusCode == StatusCode.Error)
|
if (tagState.StatusCode == StatusCode.Error)
|
||||||
{
|
{
|
||||||
// Error flag rule from https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk_exporters/zipkin.md#status
|
// Error flag rule from https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md#status
|
||||||
PooledList<KeyValuePair<string, object>>.Add(
|
PooledList<KeyValuePair<string, object>>.Add(
|
||||||
ref tagState.Tags,
|
ref tagState.Tags,
|
||||||
new KeyValuePair<string, object>(
|
new KeyValuePair<string, object>(
|
||||||
|
|
@ -196,7 +196,7 @@ namespace OpenTelemetry.Exporter.Zipkin.Implementation
|
||||||
|
|
||||||
if (!this.StatusCode.HasValue || this.StatusCode == Trace.StatusCode.Unset)
|
if (!this.StatusCode.HasValue || this.StatusCode == Trace.StatusCode.Unset)
|
||||||
{
|
{
|
||||||
// Unset Status is not sent: https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk_exporters/zipkin.md#status
|
// Unset Status is not sent: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md#status
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -205,7 +205,7 @@ namespace OpenTelemetry.Exporter.Zipkin.Implementation
|
||||||
}
|
}
|
||||||
else if (key == SpanAttributeConstants.StatusDescriptionKey)
|
else if (key == SpanAttributeConstants.StatusDescriptionKey)
|
||||||
{
|
{
|
||||||
// Description is sent as `error` but only if StatusCode is Error. See: https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk_exporters/zipkin.md#status
|
// Description is sent as `error` but only if StatusCode is Error. See: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md#status
|
||||||
this.StatusDescription = strVal;
|
this.StatusDescription = strVal;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ You can configure the `ZipkinExporter` through
|
||||||
* `MaxPayloadSizeInBytes`: Maximum payload size - for .NET versions
|
* `MaxPayloadSizeInBytes`: Maximum payload size - for .NET versions
|
||||||
**other** than 4.5.2 (default 4096).
|
**other** than 4.5.2 (default 4096).
|
||||||
* `ExportProcessorType`: Whether the exporter should use
|
* `ExportProcessorType`: Whether the exporter should use
|
||||||
[Batch or Simple exporting processor](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#built-in-span-processors)
|
[Batch or Simple exporting processor](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#built-in-span-processors)
|
||||||
.
|
.
|
||||||
* `BatchExportProcessorOptions`: Configuration options for the batch exporter.
|
* `BatchExportProcessorOptions`: Configuration options for the batch exporter.
|
||||||
Only used if ExportProcessorType is set to Batch.
|
Only used if ExportProcessorType is set to Batch.
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ namespace OpenTelemetry.Instrumentation.AspNet.Implementation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// see the spec https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md
|
// see the spec https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/data-semantic-conventions.md
|
||||||
var path = requestValues.Path;
|
var path = requestValues.Path;
|
||||||
activity.DisplayName = path;
|
activity.DisplayName = path;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AspNet)
|
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AspNet)
|
||||||
|
|
||||||
This is an [Instrumentation
|
This is an [Instrumentation
|
||||||
Library](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library),
|
Library](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library),
|
||||||
which instruments [ASP.NET](https://docs.microsoft.com/aspnet/overview) and
|
which instruments [ASP.NET](https://docs.microsoft.com/aspnet/overview) and
|
||||||
collect telemetry about incoming web requests.
|
collect telemetry about incoming web requests.
|
||||||
|
|
||||||
|
|
@ -98,7 +98,7 @@ this.tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||||
|
|
||||||
It is important to note that this `Filter` option is specific to this
|
It is important to note that this `Filter` option is specific to this
|
||||||
instrumentation. OpenTelemetry has a concept of a
|
instrumentation. OpenTelemetry has a concept of a
|
||||||
[Sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#sampling),
|
[Sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampling),
|
||||||
and the `Filter` option does the filtering *before* the Sampler is invoked.
|
and the `Filter` option does the filtering *before* the Sampler is invoked.
|
||||||
|
|
||||||
### Enrich
|
### Enrich
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ namespace OpenTelemetry.Instrumentation.AspNetCore
|
||||||
/// Gets or sets a value indicating whether the exception will be recorded as ActivityEvent or not.
|
/// Gets or sets a value indicating whether the exception will be recorded as ActivityEvent or not.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/exceptions.md.
|
/// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/exceptions.md.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public bool RecordException { get; set; }
|
public bool RecordException { get; set; }
|
||||||
|
|
||||||
|
|
@ -57,7 +57,7 @@ namespace OpenTelemetry.Instrumentation.AspNetCore
|
||||||
/// Gets or sets a value indicating whether RPC attributes are added to an Activity when using Grpc.AspNetCore. Default is true.
|
/// Gets or sets a value indicating whether RPC attributes are added to an Activity when using Grpc.AspNetCore. Default is true.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/rpc.md.
|
/// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public bool EnableGrpcAspNetCoreSupport { get; set; } = true;
|
public bool EnableGrpcAspNetCoreSupport { get; set; } = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@ namespace OpenTelemetry.Instrumentation.AspNetCore.Implementation
|
||||||
var path = (request.PathBase.HasValue || request.Path.HasValue) ? (request.PathBase + request.Path).ToString() : "/";
|
var path = (request.PathBase.HasValue || request.Path.HasValue) ? (request.PathBase + request.Path).ToString() : "/";
|
||||||
activity.DisplayName = path;
|
activity.DisplayName = path;
|
||||||
|
|
||||||
// see the spec https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md
|
// see the spec https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/data-semantic-conventions.md
|
||||||
|
|
||||||
if (request.Host.Port == null || request.Host.Port == 80 || request.Host.Port == 443)
|
if (request.Host.Port == null || request.Host.Port == 80 || request.Host.Port == 443)
|
||||||
{
|
{
|
||||||
|
|
@ -317,7 +317,7 @@ namespace OpenTelemetry.Instrumentation.AspNetCore.Implementation
|
||||||
{
|
{
|
||||||
// The RPC semantic conventions indicate the span name
|
// The RPC semantic conventions indicate the span name
|
||||||
// should not have a leading forward slash.
|
// should not have a leading forward slash.
|
||||||
// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/rpc.md#span-name
|
// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md#span-name
|
||||||
activity.DisplayName = grpcMethod.TrimStart('/');
|
activity.DisplayName = grpcMethod.TrimStart('/');
|
||||||
|
|
||||||
activity.SetTag(SemanticConventions.AttributeRpcSystem, GrpcTagHelper.RpcSystemGrpc);
|
activity.SetTag(SemanticConventions.AttributeRpcSystem, GrpcTagHelper.RpcSystemGrpc);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AspNetCore)
|
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.AspNetCore)
|
||||||
|
|
||||||
This is an [Instrumentation
|
This is an [Instrumentation
|
||||||
Library](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library),
|
Library](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library),
|
||||||
which instruments [ASP.NET Core](https://docs.microsoft.com/aspnet/core) and
|
which instruments [ASP.NET Core](https://docs.microsoft.com/aspnet/core) and
|
||||||
collect telemetry about incoming web requests.
|
collect telemetry about incoming web requests.
|
||||||
This instrumentation also collects incoming gRPC requests using
|
This instrumentation also collects incoming gRPC requests using
|
||||||
|
|
@ -85,7 +85,7 @@ services.AddOpenTelemetryTracing(
|
||||||
|
|
||||||
It is important to note that this `Filter` option is specific to this
|
It is important to note that this `Filter` option is specific to this
|
||||||
instrumentation. OpenTelemetry has a concept of a
|
instrumentation. OpenTelemetry has a concept of a
|
||||||
[Sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#sampling),
|
[Sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampling),
|
||||||
and the `Filter` option does the filtering *before* the Sampler is invoked.
|
and the `Filter` option does the filtering *before* the Sampler is invoked.
|
||||||
|
|
||||||
### Enrich
|
### Enrich
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ namespace OpenTelemetry.Instrumentation.GrpcNetClient
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Helper method that populates span properties from RPC status code according
|
/// Helper method that populates span properties from RPC status code according
|
||||||
/// to https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/rpc.md#status.
|
/// to https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/rpc.md#status.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="statusCode">RPC status code.</param>
|
/// <param name="statusCode">RPC status code.</param>
|
||||||
/// <returns>Resolved span <see cref="Status"/> for the Grpc status code.</returns>
|
/// <returns>Resolved span <see cref="Status"/> for the Grpc status code.</returns>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.GrpcNetClient)
|
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.GrpcNetClient)
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.GrpcNetClient)
|
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.GrpcNetClient)
|
||||||
|
|
||||||
This is an [Instrumentation Library](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library)
|
This is an [Instrumentation Library](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library)
|
||||||
which instruments [Grpc.Net.Client](https://www.nuget.org/packages/Grpc.Net.Client)
|
which instruments [Grpc.Net.Client](https://www.nuget.org/packages/Grpc.Net.Client)
|
||||||
and collects telemetry about outgoing gRPC requests.
|
and collects telemetry about outgoing gRPC requests.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Http)
|
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.Http)
|
||||||
|
|
||||||
This is an
|
This is an
|
||||||
[Instrumentation Library](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library),
|
[Instrumentation Library](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library),
|
||||||
which instruments
|
which instruments
|
||||||
[System.Net.Http.HttpClient](https://docs.microsoft.com/dotnet/api/system.net.http.httpclient)
|
[System.Net.Http.HttpClient](https://docs.microsoft.com/dotnet/api/system.net.http.httpclient)
|
||||||
and
|
and
|
||||||
|
|
@ -105,7 +105,7 @@ using var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||||
|
|
||||||
It is important to note that this `Filter` option is specific to this
|
It is important to note that this `Filter` option is specific to this
|
||||||
instrumentation. OpenTelemetry has a concept of a
|
instrumentation. OpenTelemetry has a concept of a
|
||||||
[Sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#sampling),
|
[Sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampling),
|
||||||
and the `Filter` option does the filtering *before* the Sampler is invoked.
|
and the `Filter` option does the filtering *before* the Sampler is invoked.
|
||||||
|
|
||||||
### Enrich
|
### Enrich
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
activities created by the instrumentation.
|
activities created by the instrumentation.
|
||||||
* New setting on SqlClientInstrumentationOptions on .NET Core: `RecordException`
|
* New setting on SqlClientInstrumentationOptions on .NET Core: `RecordException`
|
||||||
can be set to instruct the instrumentation to record SqlExceptions as Activity
|
can be set to instruct the instrumentation to record SqlExceptions as Activity
|
||||||
[events](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/exceptions.md).
|
[events](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/exceptions.md).
|
||||||
([#1592](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1592))
|
([#1592](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1592))
|
||||||
|
|
||||||
## 1.0.0-rc1.1
|
## 1.0.0-rc1.1
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.SqlClient)
|
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.SqlClient)
|
||||||
|
|
||||||
This is an
|
This is an
|
||||||
[Instrumentation Library](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library),
|
[Instrumentation Library](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library),
|
||||||
which instruments
|
which instruments
|
||||||
[Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient)
|
[Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient)
|
||||||
and
|
and
|
||||||
|
|
@ -63,7 +63,7 @@ This instrumentation can be configured to change the default behavior by using
|
||||||
### Capturing 'db.statement'
|
### Capturing 'db.statement'
|
||||||
|
|
||||||
The `SqlClientInstrumentationOptions` class exposes several properties that can be
|
The `SqlClientInstrumentationOptions` class exposes several properties that can be
|
||||||
used to configure how the [`db.statement`](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/database.md#call-level-attributes)
|
used to configure how the [`db.statement`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md#call-level-attributes)
|
||||||
attribute is captured upon execution of a query.
|
attribute is captured upon execution of a query.
|
||||||
|
|
||||||
#### .NET Core - SetDbStatementForStoredProcedure and SetDbStatementForText
|
#### .NET Core - SetDbStatementForStoredProcedure and SetDbStatementForText
|
||||||
|
|
@ -73,12 +73,12 @@ and `SetDbStatementForText`. These properties control capturing of
|
||||||
`CommandType.StoredProcedure` and `CommandType.Text` respectively.
|
`CommandType.StoredProcedure` and `CommandType.Text` respectively.
|
||||||
|
|
||||||
`SetDbStatementForStoredProcedure` is _true_ by default and will set
|
`SetDbStatementForStoredProcedure` is _true_ by default and will set
|
||||||
[`db.statement`](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/database.md#call-level-attributes)
|
[`db.statement`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md#call-level-attributes)
|
||||||
attribute to the stored procedure command name.
|
attribute to the stored procedure command name.
|
||||||
|
|
||||||
`SetDbStatementForText` is _false_ by default (to prevent accidental capture of
|
`SetDbStatementForText` is _false_ by default (to prevent accidental capture of
|
||||||
sensitive data that might be part of the SQL statement text). When set to
|
sensitive data that might be part of the SQL statement text). When set to
|
||||||
`true`, the instrumentation will set [`db.statement`](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/database.md#call-level-attributes)
|
`true`, the instrumentation will set [`db.statement`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md#call-level-attributes)
|
||||||
attribute to the text of the SQL command being executed.
|
attribute to the text of the SQL command being executed.
|
||||||
|
|
||||||
To disable capturing stored procedure commands use configuration like below.
|
To disable capturing stored procedure commands use configuration like below.
|
||||||
|
|
@ -107,7 +107,7 @@ using var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||||
For .NET Framework, `SetDbStatementForStoredProcedure` and
|
For .NET Framework, `SetDbStatementForStoredProcedure` and
|
||||||
`SetDbStatementForText` are not available. Instead, a single `SetDbStatement`
|
`SetDbStatementForText` are not available. Instead, a single `SetDbStatement`
|
||||||
property should be used to control whether this instrumentation should set the
|
property should be used to control whether this instrumentation should set the
|
||||||
[`db.statement`](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/database.md#call-level-attributes)
|
[`db.statement`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md#call-level-attributes)
|
||||||
attribute to the text of the `SqlCommand` being executed. This could either be
|
attribute to the text of the `SqlCommand` being executed. This could either be
|
||||||
a name of a stored procedure or a full text of a `CommandType.Text` query.
|
a name of a stored procedure or a full text of a `CommandType.Text` query.
|
||||||
|
|
||||||
|
|
@ -195,7 +195,7 @@ get access to `SqlCommand` object.
|
||||||
### RecordException
|
### RecordException
|
||||||
|
|
||||||
This option, available on .NET Core only, can be set to instruct the instrumentation
|
This option, available on .NET Core only, can be set to instruct the instrumentation
|
||||||
to record SqlExceptions as Activity [events](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/exceptions.md).
|
to record SqlExceptions as Activity [events](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/exceptions.md).
|
||||||
|
|
||||||
The default value is `false` and can be changed by the code like below.
|
The default value is `false` and can be changed by the code like below.
|
||||||
|
|
||||||
|
|
@ -211,4 +211,4 @@ using var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||||
|
|
||||||
* [OpenTelemetry Project](https://opentelemetry.io/)
|
* [OpenTelemetry Project](https://opentelemetry.io/)
|
||||||
|
|
||||||
* [OpenTelemetry semantic conventions for database calls](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/database.md)
|
* [OpenTelemetry semantic conventions for database calls](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md)
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,7 @@ namespace OpenTelemetry.Instrumentation.SqlClient
|
||||||
/// Gets or sets a value indicating whether the exception will be recorded as ActivityEvent or not. Default value: False.
|
/// Gets or sets a value indicating whether the exception will be recorded as ActivityEvent or not. Default value: False.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/exceptions.md.
|
/// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/exceptions.md.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public bool RecordException { get; set; }
|
public bool RecordException { get; set; }
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ namespace OpenTelemetry.Instrumentation.StackExchangeRedis.Implementation
|
||||||
|
|
||||||
if (activity.IsAllDataRequested == true)
|
if (activity.IsAllDataRequested == true)
|
||||||
{
|
{
|
||||||
// see https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/semantic_conventions/database.md
|
// see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md
|
||||||
|
|
||||||
// Timing example:
|
// Timing example:
|
||||||
// command.CommandCreated; //2019-01-10 22:18:28Z
|
// command.CommandCreated; //2019-01-10 22:18:28Z
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.StackExchangeRedis)
|
[](https://www.nuget.org/packages/OpenTelemetry.Instrumentation.StackExchangeRedis)
|
||||||
|
|
||||||
This is an
|
This is an
|
||||||
[Instrumentation Library](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library),
|
[Instrumentation Library](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library),
|
||||||
which instruments
|
which instruments
|
||||||
[StackExchange.Redis](https://www.nuget.org/packages/StackExchange.Redis/)
|
[StackExchange.Redis](https://www.nuget.org/packages/StackExchange.Redis/)
|
||||||
and collects telemetry about outgoing calls to Redis.
|
and collects telemetry about outgoing calls to Redis.
|
||||||
|
|
|
||||||
|
|
@ -23,14 +23,14 @@ namespace OpenTelemetry
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Use SimpleExportProcessor.
|
/// Use SimpleExportProcessor.
|
||||||
/// Refer to the <a href="https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#simple-processor">
|
/// Refer to the <a href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#simple-processor">
|
||||||
/// specification</a> for more information.
|
/// specification</a> for more information.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Simple,
|
Simple,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Use BatchExportProcessor.
|
/// Use BatchExportProcessor.
|
||||||
/// Refer to <a href="https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#batching-processor">
|
/// Refer to <a href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#batching-processor">
|
||||||
/// specification</a> for more information.
|
/// specification</a> for more information.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Batch,
|
Batch,
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ implements the Tracing API, the Metrics API, and the Context API. Once a valid
|
||||||
SDK is installed and configured, all the OpenTelemetry API methods, which were
|
SDK is installed and configured, all the OpenTelemetry API methods, which were
|
||||||
no-ops without an SDK, will start emitting telemetry.
|
no-ops without an SDK, will start emitting telemetry.
|
||||||
This SDK also supports
|
This SDK also supports
|
||||||
[Logging](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/logs/overview.md)
|
[Logging](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/overview.md)
|
||||||
by integrating with
|
by integrating with
|
||||||
[ILogger](https://docs.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger).
|
[ILogger](https://docs.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger).
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@ and enable the SDK, when they install a particular exporter.
|
||||||
## Getting started with Logging
|
## Getting started with Logging
|
||||||
|
|
||||||
If you are new to
|
If you are new to
|
||||||
[logging](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/logs/overview.md),
|
[logging](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/overview.md),
|
||||||
it is recommended to follow [get started in 5
|
it is recommended to follow [get started in 5
|
||||||
minutes](../../docs/logs/getting-started/README.md) to get up and running with
|
minutes](../../docs/logs/getting-started/README.md) to get up and running with
|
||||||
logging integration with
|
logging integration with
|
||||||
|
|
@ -51,14 +51,14 @@ logging integration with
|
||||||
## Getting started with Tracing
|
## Getting started with Tracing
|
||||||
|
|
||||||
If you are new to
|
If you are new to
|
||||||
[traces](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md),
|
[traces](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md),
|
||||||
it is recommended to follow [get started in 5
|
it is recommended to follow [get started in 5
|
||||||
minutes](../../docs/trace/getting-started/README.md) to get up and running. The
|
minutes](../../docs/trace/getting-started/README.md) to get up and running. The
|
||||||
rest of this document explains various components of this OpenTelemetry SDK
|
rest of this document explains various components of this OpenTelemetry SDK
|
||||||
implementation.
|
implementation.
|
||||||
|
|
||||||
To start using OpenTelemetry for tracing, one must configure and build a valid
|
To start using OpenTelemetry for tracing, one must configure and build a valid
|
||||||
[`TracerProvider`](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#tracer-provider).
|
[`TracerProvider`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#tracer-provider).
|
||||||
|
|
||||||
Building a `TracerProvider` is done using `TracerProviderBuilder` which must be
|
Building a `TracerProvider` is done using `TracerProviderBuilder` which must be
|
||||||
obtained by calling `Sdk.CreateTracerProviderBuilder()`. `TracerProviderBuilder`
|
obtained by calling `Sdk.CreateTracerProviderBuilder()`. `TracerProviderBuilder`
|
||||||
|
|
@ -89,21 +89,21 @@ using var tracerProvider = Sdk.CreateTracerProviderBuilder().Build();
|
||||||
|
|
||||||
1. The list of `ActivitySource`s (aka Tracer) from which traces are collected.
|
1. The list of `ActivitySource`s (aka Tracer) from which traces are collected.
|
||||||
2. The list of instrumentations enabled via
|
2. The list of instrumentations enabled via
|
||||||
[InstrumentationLibrary](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/glossary.md#instrumentation-library).
|
[InstrumentationLibrary](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-library).
|
||||||
3. The list of
|
3. The list of
|
||||||
[Processors](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#span-processor)
|
[Processors](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#span-processor)
|
||||||
|
|
||||||
4. The
|
4. The
|
||||||
[Resource](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/resource/sdk.md)
|
[Resource](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md)
|
||||||
associated with the traces.
|
associated with the traces.
|
||||||
5. The
|
5. The
|
||||||
[Sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#sampler)
|
[Sampler](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampler)
|
||||||
to be used.
|
to be used.
|
||||||
|
|
||||||
### Activity Source
|
### Activity Source
|
||||||
|
|
||||||
`ActivitySource` denotes a
|
`ActivitySource` denotes a
|
||||||
[`Tracer`](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#tracer),
|
[`Tracer`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#tracer),
|
||||||
which is used to start activities. The SDK follows an explicit opt-in model for
|
which is used to start activities. The SDK follows an explicit opt-in model for
|
||||||
listening to activity sources. i.e, by default, it listens to no sources. Every
|
listening to activity sources. i.e, by default, it listens to no sources. Every
|
||||||
activity source which produce telemetry must be explicitly added to the tracer
|
activity source which produce telemetry must be explicitly added to the tracer
|
||||||
|
|
@ -137,7 +137,7 @@ using var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||||
|
|
||||||
While the OpenTelemetry API can be used to instrument any library manually,
|
While the OpenTelemetry API can be used to instrument any library manually,
|
||||||
[Instrumentation
|
[Instrumentation
|
||||||
Libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/overview.md#instrumentation-libraries)
|
Libraries](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#instrumentation-libraries)
|
||||||
are available for a lot of commonly used libraries. Such instrumentations can be
|
are available for a lot of commonly used libraries. Such instrumentations can be
|
||||||
added the tracer provider, by using the `AddInstrumentation` on the
|
added the tracer provider, by using the `AddInstrumentation` on the
|
||||||
`TracerProviderBuilder`. It is not required to attach the instrumentation to the
|
`TracerProviderBuilder`. It is not required to attach the instrumentation to the
|
||||||
|
|
@ -152,7 +152,7 @@ and also to learn about writing own instrumentations.
|
||||||
|
|
||||||
### Processor
|
### Processor
|
||||||
|
|
||||||
[Processors](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#span-processor)
|
[Processors](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#span-processor)
|
||||||
allows hooks for start and end of telemetry. If no processors are configured,
|
allows hooks for start and end of telemetry. If no processors are configured,
|
||||||
then traces are simply dropped by the SDK. `AddProcessor` method on
|
then traces are simply dropped by the SDK. `AddProcessor` method on
|
||||||
`TracerProviderBuilder` should be used to add a processor. There can be any
|
`TracerProviderBuilder` should be used to add a processor. There can be any
|
||||||
|
|
@ -190,14 +190,14 @@ to an exporter. For enriching purposes, one must write a custom processor, and
|
||||||
override the `OnStart` method with logic to enrich the telemetry. For exporting
|
override the `OnStart` method with logic to enrich the telemetry. For exporting
|
||||||
purposes, the SDK provides the following built-in processors:
|
purposes, the SDK provides the following built-in processors:
|
||||||
|
|
||||||
* [BatchExportProcessor<T>](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#batching-processor)
|
* [BatchExportProcessor<T>](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#batching-processor)
|
||||||
: This is an exporting processor which batches the telemetry before sending to
|
: This is an exporting processor which batches the telemetry before sending to
|
||||||
the configured exporter.
|
the configured exporter.
|
||||||
* [CompositeProcessor<T>](../../src/OpenTelemetry/CompositeProcessor.cs)
|
* [CompositeProcessor<T>](../../src/OpenTelemetry/CompositeProcessor.cs)
|
||||||
: This is a processor which can be composed from multiple processors. This is
|
: This is a processor which can be composed from multiple processors. This is
|
||||||
typically used to construct multiple processing pipelines, each ending with
|
typically used to construct multiple processing pipelines, each ending with
|
||||||
its own exporter.
|
its own exporter.
|
||||||
* [SimpleExportProcessor<T>](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#simple-processor)
|
* [SimpleExportProcessor<T>](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#simple-processor)
|
||||||
: This is an exporting processor which passes telemetry to the configured
|
: This is an exporting processor which passes telemetry to the configured
|
||||||
exporter without any batching.
|
exporter without any batching.
|
||||||
|
|
||||||
|
|
@ -209,7 +209,7 @@ logging, by supporting `Activity` and `LogRecord` respectively.*
|
||||||
|
|
||||||
### Resource
|
### Resource
|
||||||
|
|
||||||
[Resource](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/resource/sdk.md)
|
[Resource](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md)
|
||||||
is the immutable representation of the entity producing the telemetry. If no
|
is the immutable representation of the entity producing the telemetry. If no
|
||||||
`Resource` is explicitly configured, the default is to use a resource indicating
|
`Resource` is explicitly configured, the default is to use a resource indicating
|
||||||
this [Telemetry
|
this [Telemetry
|
||||||
|
|
@ -238,7 +238,7 @@ using var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||||
|
|
||||||
### Sampler
|
### Sampler
|
||||||
|
|
||||||
[Samplers](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#sampler)
|
[Samplers](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#sampler)
|
||||||
are used to control the noise and overhead introduced by OpenTelemetry by
|
are used to control the noise and overhead introduced by OpenTelemetry by
|
||||||
reducing the number of samples of traces collected and sent to the processors.
|
reducing the number of samples of traces collected and sent to the processors.
|
||||||
If no sampler is explicitly configured, the default is to use
|
If no sampler is explicitly configured, the default is to use
|
||||||
|
|
@ -275,7 +275,7 @@ using var tracerProvider = Sdk.CreateTracerProviderBuilder()
|
||||||
|
|
||||||
The OpenTelemetry API exposes a method to obtain the default propagator which is
|
The OpenTelemetry API exposes a method to obtain the default propagator which is
|
||||||
no-op, by default. This SDK replaces the no-op with a [composite
|
no-op, by default. This SDK replaces the no-op with a [composite
|
||||||
propagator](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/context/api-propagators.md#composite-propagator)
|
propagator](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/context/api-propagators.md#composite-propagator)
|
||||||
containing the Baggage Propagator and TraceContext propagator. This default
|
containing the Baggage Propagator and TraceContext propagator. This default
|
||||||
propagator can be overridden with the below snippet.
|
propagator can be overridden with the below snippet.
|
||||||
|
|
||||||
|
|
@ -348,5 +348,5 @@ content will be read.
|
||||||
## References
|
## References
|
||||||
|
|
||||||
* [OpenTelemetry Project](https://opentelemetry.io/)
|
* [OpenTelemetry Project](https://opentelemetry.io/)
|
||||||
* [OpenTelemetry Tracing SDK specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md)
|
* [OpenTelemetry Tracing SDK specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md)
|
||||||
* [OpenTelemetry Logging specification](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/logs/overview.md)
|
* [OpenTelemetry Logging specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/overview.md)
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ namespace OpenTelemetry.Resources
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Resource
|
public class Resource
|
||||||
{
|
{
|
||||||
// This implementation follows https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/resource/sdk.md
|
// This implementation follows https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="Resource"/> class.
|
/// Initializes a new instance of the <see cref="Resource"/> class.
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ namespace OpenTelemetry.Resources
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a <see cref="ResourceBuilder"/> instance with SDK defaults
|
/// Creates a <see cref="ResourceBuilder"/> instance with SDK defaults
|
||||||
/// added. See <a
|
/// added. See <a
|
||||||
/// href="https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/resource/semantic_conventions/">resource
|
/// href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/">resource
|
||||||
/// semantic conventions</a> for details.
|
/// semantic conventions</a> for details.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Created <see cref="ResourceBuilder"/>.</returns>
|
/// <returns>Created <see cref="ResourceBuilder"/>.</returns>
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@ namespace OpenTelemetry.Resources
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds resource attributes parsed from an environment variable to a
|
/// Adds resource attributes parsed from an environment variable to a
|
||||||
/// <see cref="ResourceBuilder"/> following the <a
|
/// <see cref="ResourceBuilder"/> following the <a
|
||||||
/// href="https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/resource/sdk.md#specifying-resource-information-via-an-environment-variable">Resource
|
/// href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md#specifying-resource-information-via-an-environment-variable">Resource
|
||||||
/// SDK</a>.
|
/// SDK</a>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="resourceBuilder"><see cref="ResourceBuilder"/>.</param>
|
/// <param name="resourceBuilder"><see cref="ResourceBuilder"/>.</param>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue