1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-01-22 03:38:42 +02:00
Sam Xie dbfc75817a
Use docker compose in otel collector example (#5244)
* Remove k8s files

* Add docker compose file

* Update endpoint in main.go

* Update README to use docker compose

* Update CHANGELOG

* Add Shutting down section for cleanup steps

* Replace logging exporter with debug exporter

---------

Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2024-05-02 07:44:54 -07:00
..

OpenTelemetry Collector Traces 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.

Shutting down

To shut down and clean the example, run

docker compose down