From 9d1b21d69ec663b0a7eeb8c4f4ccc31d74e2c546 Mon Sep 17 00:00:00 2001 From: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:17:21 -0400 Subject: [PATCH] [DOC] Add other attributes to trace structure doc (#4106) (cherry picked from commit 0172f4d8600530d4ba6e31dd99f5b03b796067b4) --- docs/sources/tempo/traceql/trace-structure.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/sources/tempo/traceql/trace-structure.md b/docs/sources/tempo/traceql/trace-structure.md index d4f8143f5b1..c91ff401c2c 100644 --- a/docs/sources/tempo/traceql/trace-structure.md +++ b/docs/sources/tempo/traceql/trace-structure.md @@ -33,15 +33,20 @@ The first four properties are *intrinsics*. They are fundamental to the span. *Attributes* are custom span metadata in the form of key-value pairs. -There are two types of attributes: **span attributes** and **resource attributes**. +There are four types of attributes: span attributes, resource attributes, event attributes, and link attributes. *Span attributes* are key-value pairs that contain metadata that you can use to annotate a span to carry information about the operation it's tracking. For example, in an eCommerce application, if a span tracks an operation that adds an item to a user’s shopping cart, the user ID, added item ID and cart ID can be captured and attached to the span as span attributes. -A *Resource attribute* represents information about an entity producing the span. +A *resource attribute* represents information about an entity producing the span. For example, a span created by a process running in a container deployed by Kubernetes could link a resource that specifies the cluster name, namespace, pod, and container name. Resource attributes are resource-related metadata (key-value pairs) that are describing the Resource. +An *event attribute* represents a unique point in the time during the span's duration. For more information, refer to [All about span events](https://grafana.com/blog/2024/08/15/all-about-span-events-what-they-are-and-how-to-query-them/#how-to-query-span-events-with-traceql) and [Span events](https://opentelemetry.io/docs/concepts/signals/traces/#span-events) in the OTEL documentation. + +A *link attribute* lets you query link data in a span. +A span link associates one span with one or more other spans that are a casual relationship. For more information on span links, refer to the [Span Links](https://opentelemetry.io/docs/concepts/signals/traces/#span-links) documentation in the Open Telemetry project. + The OpenTelemetry specification defines Semantic Attributes for Spans and for Resources. Semantic Span Attributes are a set of naming schemes for attributes shared across languages, frameworks, and runtimes. For more details, refer to [Trace Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/general/trace/) and [Resource Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/resource/).