• Home
  • Extend Dynatrace
  • Send data to Dynatrace with OpenTelemetry
  • OpenTelemetry traces
  • Trace concepts

Trace concepts

Within traces, there are a few more details that add to a good implementation with OpenTelemetry. Not all of them are self-explanatory, so we recommend having a look at the pages within this section to learn more about different trace concepts.

Span kind

Span kind describes the relationship between the span, its parents, and its children in a trace. You can assign a span kind to a span at span start. There span kinds are: Client, Server, Internal, Producer, or Consumer

Context propagation

Context propagation enables the transfer of information between data sources, for example, it will help connect traces that share the same ID to form one distributed trace through multiple services. In the case of HTTP for example, information is passed between services via HTTP headers.

Manual and automatic instrumentation

An application can be instrumented with OpenTelemetry either automatically or manually. While manual instrumentation gives you more options for customization, automatic instrumentation is easier to set up and maintain.

Data capture and privacy

OpenTelemetry does not have a concept of privacy. While Dynatrace automatically captures all OpenTelemetry resource and span attributes, only those attribute values with their related keys in the allow-list are stored and displayed in the Dynatrace web UI.

Exceptions and error handling

Exceptions and error handling face unique requirements in OpenTelemetry, most of all because its data is seen as non-essential. It would be more acceptable to lose e.g., your trace data, than the functionality in your application.