You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[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]>
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/).
109
109
110
110
### Query
111
111
@@ -204,7 +204,7 @@ but if it can also send OpenTelemetry proto if `Accept: application/protobuf` is
204
204
### Search
205
205
206
206
The Tempo Search API finds traces based on span and process attributes (tags and values). Note that search functionality is **not** available on
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.
210
210
@@ -221,11 +221,11 @@ The URL query parameters support the following values:
-`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.
229
229
-`minDuration = (go duration value)`
230
230
Optional. Find traces with at least this duration. Duration values are of the form `10s` for 10 seconds, `100ms`, `30m`, etc.
231
231
-`maxDuration = (go duration value)`
@@ -234,7 +234,7 @@ The URL query parameters support the following values:
234
234
**Parameters supported for all searches**
235
235
236
236
-`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).
238
238
-`start = (unix epoch seconds)`
239
239
Optional. Along with `end` define a time range from which traces should be returned.
240
240
-`end = (unix epoch seconds)`
@@ -544,7 +544,7 @@ Parameters:
544
544
545
545
This endpoint retrieves all discovered values and their data types for the given TraceQL identifier.
546
546
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.
548
548
549
549
#### Example
550
550
@@ -600,7 +600,7 @@ Parameters:
600
600
#### Filtered tag values
601
601
602
602
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).
604
604
If provided, the tag values returned by the API are filtered to only return values seen on spans matching your filter parameters.
605
605
606
606
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
658
658
659
659
#### Instant
660
660
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.
662
663
663
664
The parameters are identical to the range version except there is no `step`.
664
665
@@ -732,14 +733,14 @@ This is usually used at the time of scaling down a cluster.
732
733
### Usage metrics
733
734
734
735
{{< 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).
736
737
{{< /admonition >}}
737
738
738
739
```
739
740
GET /usage_metrics
740
741
```
741
742
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)
743
744
744
745
Example:
745
746
```
@@ -786,7 +787,7 @@ GET /metrics-generator/ring
786
787
787
788
Displays a web page with the metrics-generator hash ring status, including the state, health, and last heartbeat time of each metrics-generator.
788
789
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).
790
791
791
792
For more information, refer to [consistent hash ring](http://grafana.com/docs/tempo/<TEMPO_VERSION>/operations/manage-advanced-systems/consistent_hash_ring/).
| `.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`. |
157
157
| `.key` | Key name. |
158
158
| `.value` | Value with TraceQL underlying type. |
159
159
| `.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 |
Copy file name to clipboardExpand all lines: docs/sources/tempo/api_docs/pushing-spans-with-http.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,13 @@ pushing spans with HTTP/JSON from a Bash script using the [OpenTelemetry](https:
13
13
14
14
## Before you begin
15
15
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.
17
17
18
18
To use this procedure, you need to have Docker and `docker compose` installed.
19
19
20
-
21
20
## Start Tempo using the quick start
22
21
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.
24
23
25
24
## Push spans with OTLP
26
25
@@ -98,7 +97,7 @@ Multiple the milliseconds value by 1,000,000 to turn it into nanoseconds. You ca
98
97
99
98
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).
100
99
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.
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
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.
13
35
14
36
Distributed tracing visualizes the lifecycle of a request as it passes through a set of applications.
15
37
For more information about traces, refer to [Introduction to traces](https://grafana.com/docs/tempo/<TEMPO_VERSION>/introduction/).
16
38
17
39
Getting started with Tempo is follows these basic steps.
18
40
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.
20
42
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.
22
44
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.
24
46
25
47
{{< admonition type="note" >}}
26
48
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
57
79
Tracing pipelines are optional since most clients can send directly to Tempo.
58
80
The pipelines become more critical the larger and more robust your tracing system is.
59
81
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
61
83
within the same cluster (in Kubernetes) to quickly offload traces from the application and forward them to
62
84
a storage backend.
63
85
Alloy also abstracts features like trace batching to a remote trace backend store, including retries on write failures.
64
86
65
87
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).
67
89
68
90
{{< admonition type="note" >}}
69
91
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.
If you are interested in instrumentation, see [Tempo instrumentation]({{< relref "./instrumentation" >}}).
19
+
If you are interested in instrumentation, refer to [Tempo instrumentation](./instrumentation).
20
20
21
21
## Docker Compose
22
22
@@ -27,22 +27,22 @@ Some of the examples include:
27
27
- Trace discovery with Loki
28
28
- Basic Grafana Alloy/OpenTelemetry Setup
29
29
- Various Backends (S3/GCS/Azure)
30
-
-[K6 with Traces]({{< relref "./docker-example" >}})
30
+
-[K6 with Traces](./docker-example)
31
31
This is a great place to get started with Tempo and learn about various trace discovery flows.
32
32
33
33
## Helm
34
34
35
35
The Helm [example](https://github.com/grafana/tempo/tree/main/example/helm) shows a complete microservice based deployment.
36
36
There are monolithic mode and microservices examples.
37
37
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.
39
39
40
40
## Tanka
41
41
42
42
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.
43
43
There are monolithic mode and microservices examples.
44
44
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/).
46
46
47
47
## Introduction to Metrics, Logs and Traces example
0 commit comments