Skip to content

Commit b842605

Browse files
[release-v2.7] [DOC] Update link mounting for Tempo get started and API docs (#4679)
* [DOC] Update link mounting for Tempo get started and API docs (#4664) * Update gRPC compressiong admonition * Update links for mounting doc * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Jack Baldry <[email protected]> * Update reference links for install content * Fix shared files and references * Fix broken links and refs * Apply suggestions from code review * Apply suggestions from code review * Update docs/sources/tempo/getting-started/tempo-in-grafana.md Co-authored-by: Jack Baldry <[email protected]> --------- Co-authored-by: Jack Baldry <[email protected]> (cherry picked from commit bc6a54c) * Update docs/sources/tempo/api_docs/_index.md --------- Co-authored-by: Kim Nylander <[email protected]>
1 parent 35cf980 commit b842605

File tree

8 files changed

+81
-56
lines changed

8 files changed

+81
-56
lines changed

docs/sources/tempo/api_docs/_index.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ Agent, OpenTelemetry Collector, or Jaeger Agent.
105105
| Jaeger | gRPC | [Link](https://www.jaegertracing.io/docs/latest/apis/#span-reporting-apis) |
106106
| Zipkin | HTTP | [Link](https://zipkin.io/zipkin-api/) |
107107

108-
For information on how to use the Zipkin endpoint with curl (for debugging purposes), refer to [Pushing spans with HTTP]({{< relref "./pushing-spans-with-http" >}}).
108+
For information on how to use the Zipkin endpoint with curl (for debugging purposes), refer to [Pushing spans with HTTP](https://grafana.com/docs/tempo/<TEMPO_VERSION>/api_docs/pushing-spans-with-http/).
109109

110110
### Query
111111

@@ -204,7 +204,7 @@ but if it can also send OpenTelemetry proto if `Accept: application/protobuf` is
204204
### Search
205205

206206
The Tempo Search API finds traces based on span and process attributes (tags and values). Note that search functionality is **not** available on
207-
[v2 blocks]({{< relref "../configuration/parquet#choose-a-different-block-format" >}}).
207+
[v2 blocks](https://grafana.com/docs/tempo/<TEMPO_VERSION>/configuration/parquet/#choose-a-different-block-format).
208208

209209
When performing a search, Tempo does a massively parallel search over the given time range, and takes the first N results. Even identical searches differs due to things like machine load and network latency. TraceQL follows the same behavior.
210210

@@ -221,11 +221,11 @@ The URL query parameters support the following values:
221221

222222
**Parameters for TraceQL Search**
223223

224-
- `q = (TraceQL query)`: Url encoded [TraceQL query]({{< relref "../traceql" >}}).
224+
- `q = (TraceQL query)`: URL encoded [TraceQL query](../traceql).
225225

226226
**Parameters for Tag Based Search**
227227

228-
- `tags = (logfmt)`: logfmt encoding of any span-level or process-level attributes to filter on. The value is matched as a case-insensitive substring. Key-value pairs are separated by spaces. If a value contains a space, it should be enclosed within double quotes.
228+
- `tags = (logfmt)`: `logfmt` encoding of any span-level or process-level attributes to filter on. The value is matched as a case-insensitive substring. Key-value pairs are separated by spaces. If a value contains a space, it should be enclosed within double quotes.
229229
- `minDuration = (go duration value)`
230230
Optional. Find traces with at least this duration. Duration values are of the form `10s` for 10 seconds, `100ms`, `30m`, etc.
231231
- `maxDuration = (go duration value)`
@@ -234,7 +234,7 @@ The URL query parameters support the following values:
234234
**Parameters supported for all searches**
235235

236236
- `limit = (integer)`
237-
Optional. Limit the number of search results. Default is 20, but this is configurable in the querier. Refer to [Configuration]({{< relref "../configuration#querier" >}}).
237+
Optional. Limit the number of search results. Default is 20, but this is configurable in the querier. Refer to [Configuration](https://grafana.com/docs/tempo/<TEMPO_VERSION>/configuration/#querier).
238238
- `start = (unix epoch seconds)`
239239
Optional. Along with `end` define a time range from which traces should be returned.
240240
- `end = (unix epoch seconds)`
@@ -544,7 +544,7 @@ Parameters:
544544
545545
This endpoint retrieves all discovered values and their data types for the given TraceQL identifier.
546546
The endpoint is available in the query frontend service in a microservices deployment, or the Tempo endpoint in a monolithic mode deployment. This endpoint is similar to `/api/search/tag/<tag>/values` but operates on TraceQL identifiers and types.
547-
Refer to [TraceQL]({{< relref "../traceql" >}}) documentation for more information.
547+
Refer to [TraceQL](../traceql) documentation for more information.
548548
549549
#### Example
550550
@@ -600,7 +600,7 @@ Parameters:
600600
#### Filtered tag values
601601
602602
You can pass an optional URL query parameter, `q`, to your request.
603-
The `q` parameter is a URL-encoded [TraceQL query]({{< relref "../traceql" >}}).
603+
The `q` parameter is a URL-encoded [TraceQL query](../traceql).
604604
If provided, the tag values returned by the API are filtered to only return values seen on spans matching your filter parameters.
605605
606606
Queries can be incomplete: for example, `{ resource.cluster = }`.
@@ -658,7 +658,8 @@ GET /api/metrics/query_range?q={resource.service.name="myservice"} | min_over_ti
658658
659659
#### Instant
660660
661-
The instant version of the metrics API is similar to the range version, but instead returns a single value for the query. This version is useful when you don't need the granularity of a full time-series, but instead want a total sum, or single value computed across the whole time range.
661+
The instant version of the metrics API is similar to the range version, but instead returns a single value for the query.
662+
This version is useful when you don't need the granularity of a full time-series, but instead want a total sum, or single value computed across the whole time range.
662663
663664
The parameters are identical to the range version except there is no `step`.
664665
@@ -732,14 +733,14 @@ This is usually used at the time of scaling down a cluster.
732733
### Usage metrics
733734
734735
{{< admonition type="note" >}}
735-
This endpoint is only available when one or more usage trackers are enabled in [the distributor]({{< relref "../configuration#distributor" >}}).
736+
This endpoint is only available when one or more usage trackers are enabled in [the distributor](https://grafana.com/docs/tempo/<TEMPO_VERSION>/configuration/#distributor).
736737
{{< /admonition >}}
737738
738739
```
739740
GET /usage_metrics
740741
```
741742
742-
Special metrics scrape endpoint that provides per-tenant metrics on ingested data. Per-tenant grouping rules are configured in [the per-tenant overrides]({{< relref "../configuration#overrides" >}})
743+
Special metrics scrape endpoint that provides per-tenant metrics on ingested data. Per-tenant grouping rules are configured in [the per-tenant overrides](https://grafana.com/docs/tempo/<TEMPO_VERSION>/configuration/#overrides)
743744
744745
Example:
745746
```
@@ -786,7 +787,7 @@ GET /metrics-generator/ring
786787
787788
Displays a web page with the metrics-generator hash ring status, including the state, health, and last heartbeat time of each metrics-generator.
788789
789-
This endpoint is only available when the metrics-generator is enabled. Refer to [metrics-generator]({{< relref "../configuration#metrics-generator" >}}).
790+
This endpoint is only available when the metrics-generator is enabled. Refer to [metrics-generator](https://grafana.com/docs/tempo/<TEMPO_VERSION>/configuration/#metrics-generator).
790791
791792
For more information, refer to [consistent hash ring](http://grafana.com/docs/tempo/<TEMPO_VERSION>/operations/manage-advanced-systems/consistent_hash_ring/).
792793

docs/sources/tempo/api_docs/metrics-summary.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ If you want something faster than typing these queries out in Explore's code mod
4848

4949
## Activate metrics summary
5050

51-
To enable the (deprecated) metrics summary API, you must turn on the local blocks processor in the metrics generator.
51+
To enable the deprecated) metrics summary API, you must turn on the local blocks processor in the metrics generator.
5252
Be aware that the generator uses considerably more resources, including disk space, if it's enabled:
5353

5454
```yaml
@@ -121,7 +121,7 @@ message TraceQLStatic {
121121
The response is returned as JSON following [standard protobuf->JSON mapping rules](https://protobuf.dev/programming-guides/proto3/#json).
122122

123123
{{< admonition type="note" >}}
124-
The `uint64` fields cannot be fully expressed by JSON numeric values so the fields are serialized as strings.
124+
The `uint64` fields can't be fully expressed by JSON numeric values so the fields are serialized as strings.
125125
{{< /admonition >}}
126126

127127
Example:
@@ -152,8 +152,8 @@ Example:
152152
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
153153
| `summaries` | The list of metrics per group. |
154154
| `.spanCount` | Number of spans in this group. |
155-
| `.errorSpanCount` | Number of spans with `status`=`error`. (This field will not be present if the value is `0`.) |
156-
| `.series` | The unique values for this group. A key/value pair will be returned for each entry in `groupBy`. |
155+
| `.errorSpanCount` | Number of spans with `status`=`error`. (This field isn't present if the value is `0`.) |
156+
| `.series` | The unique values for this group. A key/value pair is returned for each entry in `groupBy`. |
157157
| `.key` | Key name. |
158158
| `.value` | Value with TraceQL underlying type. |
159159
| `.type` | Data type `enum`` defined [here](https://github.com/grafana/tempo/blob/main/pkg/traceql/enum_statics.go#L8) (This field will not be present if the value is `0`.) <br/>0 = `nil`<br/>3 = `integer`<br/> 4 = `float` <br/> 5 = `string`<br/> 6 = `bool`<br/> 7 = `duration`<br/> 8 = span status<br/> 9 = span kind |

docs/sources/tempo/api_docs/pushing-spans-with-http.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,13 @@ pushing spans with HTTP/JSON from a Bash script using the [OpenTelemetry](https:
1313

1414
## Before you begin
1515

16-
This procedure uses an example Docker Compose setup to run Tempo, so you do not need an existing installation. The Docker image also includes a Grafana container which will allow us to visualize traces.
16+
This procedure uses an example Docker Compose setup to run Tempo, so you don't need an existing installation. The Docker image also includes a Grafana container which lets you visualize traces.
1717

1818
To use this procedure, you need to have Docker and `docker compose` installed.
1919

20-
2120
## Start Tempo using the quick start
2221

23-
Use the instructions in the [Quick start for Tempo documentation]({{< relref "../getting-started/docker-example" >}}) to start a local instance of Tempo and Grafana.
22+
Use the instructions in the [Quick start for Tempo documentation](https://grafana.com/docs/tempo/<TEMPO_VERSION>/getting-started/docker-example/) to start a local instance of Tempo and Grafana.
2423

2524
## Push spans with OTLP
2625

@@ -98,7 +97,7 @@ Multiple the milliseconds value by 1,000,000 to turn it into nanoseconds. You ca
9897

9998
The easiest way to get the trace is to execute a simple curl command to Tempo. The returned format is [OTLP](https://github.com/open-telemetry/opentelemetry-proto/blob/main/opentelemetry/proto/trace/v1/trace.proto).
10099

101-
1. Replace the trace ID in the `curl` command with the trace ID that was generated from the push. This information is is in the data that's sent with the `curl`. You could use Grafana’s Explorer page to find this, as shown in the previous section.
100+
1. Replace the trace ID in the `curl` command with the trace ID that was generated from the push. This information is in the data that's sent with the `curl`. You could use Grafana’s Explorer page to find this, as shown in the previous section.
102101

103102
```bash
104103
curl http://localhost:3200/api/v2/traces/5b8efff798038103d269b633813fc700
@@ -110,7 +109,7 @@ The easiest way to get the trace is to execute a simple curl command to Tempo. T
110109

111110
### Use TraceQL to search for a trace
112111

113-
Alternatively, you can also use [TraceQL]({{< relref "../traceql" >}}) to search for the trace that was pushed.
112+
Alternatively, you can also use [TraceQL](../traceql) to search for the trace that was pushed.
114113
You can search by using the unique trace attributes that were set:
115114

116115
```bash
@@ -127,8 +126,9 @@ curl -G -s http://localhost:3200/api/search --data-urlencode 'q={ .service.name
127126

128127
## Spans from everything
129128

130-
Tracing is not limited to enterprise languages with complex frameworks. As you can see it's easy to store and track events from your js, python or bash scripts.
131-
You can use Tempo/distributed tracing today to trace CI pipelines, long running bash processes, python data processing flows, or anything else
129+
Tracing isn't limited to enterprise languages with complex frameworks.
130+
As you can see, it's easy to store and track events from your js, python or bash scripts.
131+
You can use Tempo and distributed tracing today to trace CI pipelines, long running bash processes, python data processing flows, or anything else
132132
you can think of.
133133

134134
Happy tracing!

docs/sources/tempo/getting-started/_index.md

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,48 @@
11
---
2-
title: Get started with Grafana Tempo
2+
title: Get started
33
menuTitle: Get started
44
description: Learn about Tempo architecture, concepts, and first steps.
55
weight: 200
66
aliases:
77
- /docs/tempo/getting-started
8+
refs:
9+
examples:
10+
- pattern: /docs/tempo/
11+
destination: https://grafana.com/docs/tempo/<TEMPO_VERSION>/getting-started/example-demo-app/
12+
- pattern: /docs/enterprise-traces/
13+
destination: https://grafana.com/docs/enterprise-traces/<ENTERPRISE_TRACES_VERSION>/setup/
14+
setup:
15+
- pattern: /docs/tempo/
16+
destination: https://grafana.com/docs/tempo/<TEMPO_VERSION>/setup/
17+
- pattern: /docs/enterprise-traces/
18+
destination: https://grafana.com/docs/enterprise-traces/<ENTERPRISE_TRACES_VERSION>/setup/
19+
deploy:
20+
- pattern: /docs/tempo/
21+
destination: https://grafana.com/docs/tempo/<TEMPO_VERSION>/setup/deployment/
22+
- pattern: /docs/enterprise-traces/
23+
destination: https://grafana.com/docs/enterprise-traces/<ENTERPRISE_TRACES_VERSION>/setup/hardware-requirements/
24+
configure-alloy:
25+
- pattern: /docs/tempo/
26+
destination: https://grafana.com/docs/tempo/<TEMPO_VERSION>/configuration/grafana-alloy/
27+
- pattern: /docs/enterprise-traces/
28+
destination: https://grafana.com/docs/enterprise-traces/<ENTERPRISE_TRACES_VERSION>/setup/set-up-get-tenants/
829
---
930

10-
# Get started with Grafana Tempo
31+
# Get started
1132

1233
Grafana Tempo is an open source, easy-to-use, and high-scale distributed tracing backend. Tempo lets you search for traces, generate metrics from spans, and link your tracing data with logs and metrics.
34+
Grafana Tempo also powers Grafana Cloud Traces and Grafana Enterprise Traces.
1335

1436
Distributed tracing visualizes the lifecycle of a request as it passes through a set of applications.
1537
For more information about traces, refer to [Introduction to traces](https://grafana.com/docs/tempo/<TEMPO_VERSION>/introduction/).
1638

1739
Getting started with Tempo is follows these basic steps.
1840

19-
First, check out the [examples](https://grafana.com/docs/tempo/<TEMPO_VERSION>/getting-started/example-demo-app/) for ideas on how to get started with Tempo.
41+
First, check out the [examples](ref:examples) for ideas on how to get started.
2042

21-
Next, review the [Setup documentation](https://grafana.com/docs/tempo/<TEMPO_VERSION>/setup/) for step-by-step instructions for setting up Tempo and creating a test application.
43+
Next, review the [Setup documentation](ref:setup) for step-by-step instructions.
2244

23-
Tempo offers different deployment options, depending on your needs. Refer to the [plan your deployment](https://grafana.com/docs/tempo/<TEMPO_VERSION>/setup/deployment/) section for more information.
45+
Tempo offers different deployment options, depending on your needs. Refer to the [plan your deployment](ref:deploy) section for more information.
2446

2547
{{< admonition type="note" >}}
2648
Grafana Alloy is already set up to use Tempo.
@@ -57,13 +79,13 @@ offloads spans from your application, buffers them, and forwards them to a backe
5779
Tracing pipelines are optional since most clients can send directly to Tempo.
5880
The pipelines become more critical the larger and more robust your tracing system is.
5981

60-
Grafana Alloy is a service that is deployed close to the application, either on the same node or
82+
Grafana Alloy is a service that's deployed close to the application, either on the same node or
6183
within the same cluster (in Kubernetes) to quickly offload traces from the application and forward them to
6284
a storage backend.
6385
Alloy also abstracts features like trace batching to a remote trace backend store, including retries on write failures.
6486

6587
To learn more about Grafana Alloy and how to set it up for tracing with Tempo,
66-
refer to [Grafana Alloy configuration for tracing](https://grafana.com/docs/tempo/<TEMPO_VERSION>/configuration/grafana-alloy/).
88+
refer to [Grafana Alloy configuration for tracing](ref:configure-alloy).
6789

6890
{{< admonition type="note" >}}
6991
The [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector) / [Jaeger Agent](https://www.jaegertracing.io/docs/latest/deployment/) can also be used at the agent layer.

docs/sources/tempo/getting-started/example-demo-app.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ The following examples show various deployment and configuration options using t
1313

1414
For more information about Tempo setup and configuration, see:
1515

16-
* [Set up Tempo]({{< relref "../setup" >}})
17-
* [Tempo configuration]({{< relref "../configuration" >}})
16+
* [Set up Tempo](../setup)
17+
* [Tempo configuration](../configuration)
1818

19-
If you are interested in instrumentation, see [Tempo instrumentation]({{< relref "./instrumentation" >}}).
19+
If you are interested in instrumentation, refer to [Tempo instrumentation](./instrumentation).
2020

2121
## Docker Compose
2222

@@ -27,22 +27,22 @@ Some of the examples include:
2727
- Trace discovery with Loki
2828
- Basic Grafana Alloy/OpenTelemetry Setup
2929
- Various Backends (S3/GCS/Azure)
30-
- [K6 with Traces]({{< relref "./docker-example" >}})
30+
- [K6 with Traces](./docker-example)
3131
This is a great place to get started with Tempo and learn about various trace discovery flows.
3232

3333
## Helm
3434

3535
The Helm [example](https://github.com/grafana/tempo/tree/main/example/helm) shows a complete microservice based deployment.
3636
There are monolithic mode and microservices examples.
3737

38-
To install Tempo on Kubernetes, use the [Deploy on Kubernetes using Helm](/docs/helm-charts/tempo-distributed/next/) procedure.
38+
To install Tempo on Kubernetes, use the [Deploy on Kubernetes using Helm](https://grafana.com/docs/helm-charts/tempo-distributed/next/) procedure.
3939

4040
## Tanka
4141

4242
To view an example of a complete microservice-based deployment, this [Jsonnet based example](https://github.com/grafana/tempo/tree/main/example/tk) shows a complete microservice based deployment.
4343
There are monolithic mode and microservices examples.
4444

45-
To learn how to set up a Tempo cluster, see [Deploy on Kubernetes with Tanka]({{< relref "../setup/tanka" >}}).
45+
To learn how to set up a Tempo cluster, see [Deploy on Kubernetes with Tanka](../setup/tanka/).
4646

4747
## Introduction to Metrics, Logs and Traces example
4848

0 commit comments

Comments
 (0)