Skip to content

Commit

Permalink
Merge branch 'main' into theletterf-follow-up-3767
Browse files Browse the repository at this point in the history
  • Loading branch information
theletterf authored Jan 30, 2024
2 parents b710cea + 162e6f5 commit e83dd07
Show file tree
Hide file tree
Showing 280 changed files with 801 additions and 437 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/scripts/update-registry-versions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ for yaml_file in ${FILES}; do
done;

# We use the sha1 over all version updates to uniquely identify the PR.
tag=$(echo body | sha1sum | awk '{print $1;}')
tag=$(echo "${body}" | sha1sum | awk '{print $1;}')
message="Auto-update registry versions (${tag})"
branch="opentelemetrybot/auto-update-registry-${tag}"

Expand Down
1 change: 1 addition & 0 deletions .textlintrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ rules:
# https://github.com/sapegin/textlint-rule-terminology/blob/ca36a645c56d21f27cb9d902b5fb9584030c59e3/index.js#L137-L142.
#
- ['3rd[- ]party', third-party]
- ['back end(s)?', 'backend$1']
- [cpp, C++]
- # dotnet|.net -> .NET, but NOT for strings like:
# - File extension: file.net
Expand Down
2 changes: 1 addition & 1 deletion content/en/blog/2022/apisix/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ resulting in a call chain consisting of two spans.
### Step 1: Deploy OpenTelemetry

The following uses `docker compose` as an example. For other deployments, see
[Getting Started](/docs/collector/getting-started/).
[Quick start](/docs/collector/quick-start/).

You can see the following command to deploy[^1]:

Expand Down
4 changes: 2 additions & 2 deletions content/en/blog/2022/k8s-otel-expose/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,8 @@ in this setup are mentioned in brackets.
[v1.2.1] installed.
- A Kubernetes [v1.23.3] edge cluster to create a test cluster. Using
[Kind](https://kind.sigs.k8s.io/) is recommended.
- Installed [OpenTelemetry Operator](/docs/collector/getting-started) [v0.58.0]
on both ends.
- Installed [OpenTelemetry Operator](/docs/kubernetes/operator/) [v0.58.0] on
both ends.
- Installed [Jaeger Operator](https://www.jaegertracing.io/docs/1.37/operator/)
[v1.37.0] on your public cluster.
- Installed [cert-manager](https://cert-manager.io/) [v1.9.1] on your public
Expand Down
2 changes: 1 addition & 1 deletion content/en/blog/2023/k8s-runtime-observability/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -472,5 +472,5 @@ are available from the Tracetest repository.
- [Traces For Kubernetes System Components](https://kubernetes.io/docs/concepts/cluster-administration/system-traces/)
- [Tracing on ContainerD](https://github.com/containerd/containerd/blob/main/docs/tracing.md)
- [Kubernetes: Tools for Monitoring Resources](https://kubernetes.io/docs/tasks/debug/debug-cluster/resource-usage-monitoring/)
- [Getting Started with OTel Collector](/docs/collector/getting-started/)
- [OTel Collector quick start](/docs/collector/quick-start/)
- [Boosting Kubernetes container runtime observability with OpenTelemetry](https://kubernetes.io/blog/2022/12/01/runtime-observability-opentelemetry/)
9 changes: 4 additions & 5 deletions content/en/docs/collector/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Collector
description: Vendor-agnostic way to receive, process and export telemetry data.
aliases: [collector/about]
cascade:
vers: 0.92.0
vers: 0.93.0
weight: 10
---

Expand Down Expand Up @@ -48,10 +48,9 @@ it allows your service to offload data quickly and the collector can take care
of additional handling like retries, batching, encryption or even sensitive data
filtering.

It is also easier to [setup a collector](./getting-started) than you might
think: the default OTLP exporters in each language assume a local collector
endpoint, so if you launch a collector it will automatically start receiving
telemetry.
It is also easier to [setup a collector](quick-start) than you might think: the
default OTLP exporters in each language assume a local collector endpoint, so if
you launch a collector it will automatically start receiving telemetry.

## Status and releases

Expand Down
93 changes: 0 additions & 93 deletions content/en/docs/collector/getting-started.md

This file was deleted.

7 changes: 3 additions & 4 deletions content/en/docs/collector/management.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ deployment at scale.
To get the most out of this page you should know how to install and configure
the collector. These topics are covered elsewhere:

- [Getting Started][otel-collector-getting-started] to understand how to install
the OpenTelemetry Collector.
- [Quick Start](/docs/collector/quick-start/) to understand how to install the
OpenTelemetry Collector.
- [Configuration][otel-collector-configuration] for how to configure the
OpenTelemetry Collector, setting up telemetry pipelines.

Expand Down Expand Up @@ -217,8 +217,7 @@ otelcol_receiver_refused_metric_points{receiver="prometheus/own_metrics",service
- [What is OpAMP & What is BindPlane][opamp-bindplane]

[otel-collector]: /docs/collector/
[otel-collector-getting-started]: /docs/collector/getting-started
[otel-collector-configuration]: /docs/collector/configuration
[otel-collector-configuration]: /docs/collector/configuration/
[opamp-spec]:
https://github.com/open-telemetry/opamp-spec/blob/main/specification.md
[opamp-in-otel-collector]:
Expand Down
144 changes: 144 additions & 0 deletions content/en/docs/collector/quick-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
---
title: Quick start
cSpell:ignore: docker dokey dpkg okey telemetrygen
description: Setup and collect telemetry in minutes!
aliases: [getting-started]
weight: 1
cSpell:ignore: gobin
---

<!-- markdownlint-disable ol-prefix blanks-around-fences -->

The OpenTelemetry Collector receives [traces](/docs/concepts/signals/traces/),
[metrics](/docs/concepts/signals/metrics/), and
[logs](/docs/concepts/signals/logs/), processes the telemetry, and exports it to
a wide variety of observability backends using its components. For a conceptual
overview of the Collector, see [Collector](/docs/collector).

You are going to learn to do the following in less than five minutes:

- Set up and run the OpenTelemetry Collector.
- Send telemetry and see it processed by the Collector.

## Prerequisites

Make sure that your developer environment has the following. This page assumes
that you're using `bash`. Adapt configuration and commands as necessary for your
preferred shell.

- [Go](https://go.dev/) 1.20 or higher
- [`GOBIN` environment variable][gobin] is set; if unset, initialize it
appropriately, for example[^1]:
```sh
export GOBIN=${GOBIN:-$(go env GOPATH)/bin}
```

[^1]:
For more information, see
[Your first program](https://go.dev/doc/code#Command).

## Set up the environment

1. Pull in the OpenTelemetry Collector Docker image:

```sh
docker pull otel/opentelemetry-collector:{{% param vers %}}
```

2. Install the [telemetrygen] utility:

```sh
go install github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen@latest
```

This utility can simulate a client generating [traces], [metrics], and
[logs].

## Generate and collect telemetry

3. Launch the Collector:

```sh
docker run \
-p 127.0.0.1:4317:4317 \
-p 127.0.0.1:55679:55679 \
otel/opentelemetry-collector:{{% param vers %}} \
2>&1 | tee collector-output.txt # Optionally tee output for easier search later
```

4. In a separate terminal window, generate a few sample traces:

```sh
$GOBIN/telemetrygen traces --otlp-insecure --traces 3
```

Among the output generated by the utility, you should see a confirmation that
traces were generated:

```text
2024-01-16T14:33:15.692-0500 INFO traces/worker.go:99 traces generated {"worker": 0, "traces": 3}
2024-01-16T14:33:15.692-0500 INFO traces/traces.go:58 stop the batch span processor
```

For an easier time seeing relevant output you can filter it:

```sh
$GOBIN/telemetrygen traces --otlp-insecure \
--traces 3 2>&1 | grep -E 'start|traces|stop'
```

5. In the terminal window running the Collector container, you should see trace
ingest activity similar to what is shown in the following example:

```console
$ grep -E '^Span|(ID|Name|Kind|time|Status \w+)\s+:' ./collector-output.txt
Span #0
Trace ID : f30faffbde5fcf71432f89da1bf7bc14
Parent ID : 6f1ff7f9cf4ec1c7
ID : 8d1e820c1ac57337
Name : okey-dokey
Kind : Server
Start time : 2024-01-16 14:13:54.585877 +0000 UTC
End time : 2024-01-16 14:13:54.586 +0000 UTC
Status code : Unset
Status message :
Span #1
Trace ID : f30faffbde5fcf71432f89da1bf7bc14
Parent ID :
ID : 6f1ff7f9cf4ec1c7
Name : lets-go
Kind : Client
Start time : 2024-01-16 14:13:54.585877 +0000 UTC
End time : 2024-01-16 14:13:54.586 +0000 UTC
Status code : Unset
Status message :
...
```

6. Open <http://localhost:55679/debug/tracez> and select one of the samples in
the table to see the traces you've just generated.

7. After you are done, shutdown the Collector container, for example, using
<kbd>Control-C</kbd>.

## Next steps

In this tutorial you've started the OpenTelemetry Collector and sent telemetry
to it. As next steps, consider doing the following:

- Explore different ways to [install the Collector](../installation/).
- Learn about the different modes of the Collector in
[Deployment Methods](../deployment/).
- Familiarize yourself with the Collector
[configuration](/docs/collector/configuration) files and structure.
- Explore available components in the
[registry](/ecosystem/registry/?language=collector).
- Learn how to
[build a custom Collector with the OpenTelemetry Collector Builder (OCB)](/docs/collector/custom-collector/).

[gobin]: https://pkg.go.dev/cmd/go#hdr-Environment_variables
[logs]: /docs/concepts/signals/logs/
[metrics]: /docs/concepts/signals/metrics/
[telemetrygen]:
https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/cmd/telemetrygen
[traces]: /docs/concepts/signals/traces/
4 changes: 2 additions & 2 deletions content/en/docs/concepts/signals/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: A measurement captured at runtime
A **metric** is a **measurement** of a service captured at runtime. The moment
of capturing a measurements is known as a **metric event**, which consists not
only of the measurement itself, but also the time at which it was captured and
associated metadata.
associated metadata.d

Application and request metrics are important indicators of availability and
performance. Custom metrics can provide insights into how availability
Expand Down Expand Up @@ -36,7 +36,7 @@ Providers.
## Metric Exporter

Metric Exporters send metric data to a consumer. This consumer can be standard
output for debugging and development-time, the OpenTelemetry Collector, or any
output for debugging during development, the OpenTelemetry Collector, or any
open source or vendor backend of your choice.

## Metric Instruments
Expand Down
3 changes: 2 additions & 1 deletion content/en/docs/demo/services/_index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
---
title: Services
aliases: [service_table, service-table]
cSpell:ignore: loadgenerator
---

View [Service Graph](../architecture/) to visualize request flows.
To visualize request flows, see the [Service Diagram](../architecture/).

| Service | Language | Description |
| ----------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
Expand Down
10 changes: 5 additions & 5 deletions content/en/docs/kubernetes/operator/automatic.md
Original file line number Diff line number Diff line change
Expand Up @@ -361,11 +361,11 @@ spec:

#### Excluding auto-instrumentation {#python-excluding-auto-instrumentation}

By default the Python auto-instrumentation will detect the packages in your
Python service and instrument anything it can. This makes instrumentation easy,
but can result in too much or unwanted data. If there are any packages you do
not want to instrument, you can set the `OTEL_PYTHON_DISABLED_INSTRUMENTATIONS`
environment variable
By default, the Python auto-instrumentation ships with
[many instrumentation libraries](https://github.com/open-telemetry/opentelemetry-operator/blob/main/autoinstrumentation/python/requirements.txt).
This makes instrumentation easy, but can result in too much or unwanted data. If
there are any packages you do not want to instrument, you can set the
`OTEL_PYTHON_DISABLED_INSTRUMENTATIONS` environment variable.

```yaml
apiVersion: opentelemetry.io/v1alpha1
Expand Down
Loading

0 comments on commit e83dd07

Please sign in to comment.