1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-30 21:20:04 +02:00
opentelemetry-go/example/otel-collector
2024-07-30 21:33:29 +02:00
..
docker-compose.yaml chore(deps): update otel/opentelemetry-collector-contrib docker tag to v0.106.0 (#5654) 2024-07-30 09:03:59 -07:00
go.mod chore(deps): update google.golang.org/genproto/googleapis/api digest to b1a4ccb (#5655) 2024-07-30 21:33:29 +02:00
go.sum chore(deps): update google.golang.org/genproto/googleapis/api digest to b1a4ccb (#5655) 2024-07-30 21:33:29 +02:00
main.go Update example instrumentation names (#5612) 2024-07-12 11:53:18 -07:00
otel-collector.yaml Use docker compose in otel collector example (#5244) 2024-05-02 07:44:54 -07:00
prometheus.yaml Use docker compose in otel collector example (#5244) 2024-05-02 07:44:54 -07:00
README.md [chore] example/otel-collector: Fix README title (#5404) 2024-05-22 15:23:37 +02:00

OpenTelemetry Collector Example

This example illustrates how to export trace and metric data from the OpenTelemetry-Go SDK to the OpenTelemetry Collector. From there, we bring the trace data to Jaeger and the metric data to Prometheus The complete flow is:

                                          -----> Jaeger (trace)
App + SDK ---> OpenTelemetry Collector ---|
                                          -----> Prometheus (metrics)

Prerequisites

You will need Docker Compose V2 installed for this demo.

Deploying to docker compose

This command will bring up the OpenTelemetry Collector, Jaeger, and Prometheus, and expose the necessary ports for you to view the data.

docker compose up -d

Running the code

You can find the complete code for this example in the main.go file. To run it, ensure you have a somewhat recent version of Go (preferably >= 1.13) and do

go run main.go

The example simulates an application, hard at work, computing for ten seconds then finishing.

Viewing instrumentation data

Now the exciting part! Let's check out the telemetry data generated by our sample application

Jaeger UI

The Jaeger UI is available at http://localhost:16686. Navigate there in your favorite web-browser to view the generated traces.

Prometheus

The Prometheus UI is available at http://localhost:9090. Navigate there in your favorite web-browser to view the generated metrics, for instance, testapp_run_total.

Shutting down

To shut down and clean the example, run

docker compose down