---
title: "Stage 1, Instrument: where spans come from | Grafana Labs"
description: "How an application is made to emit spans, and why most teams use OpenTelemetry."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

## Stage 1, Instrument: where spans come from

A trace has to start somewhere. Before your application can produce spans, it needs code that watches its work and records each unit of that work as a span. Adding that code or tooling is called **instrumentation**.

## Most teams instrument with OpenTelemetry

You don’t have to write that recording code by hand. Most teams instrument with **OpenTelemetry**, an open, vendor-neutral standard for generating traces, and other signals, from application code. Because it’s a shared standard rather than one vendor’s format, the traces it produces work with many backends, not just one.

## Setting it up comes later

This journey doesn’t instrument an application. Choosing how to instrument your code and wiring it up is part of setup, covered in the separate setup journey and the instrumentation documentation. Here, you only need to know that spans come from an instrumented application at the start of the pipeline.
