/otel-with-golang

OpenTelemetry in Go with Elastic APM

Primary LanguageGoApache License 2.0Apache-2.0

OpenTelemetry in Go with Elastic APM

This project showcase how to instrument a microservice written in Go using OpenTelemetry, to produce telemetry data (traces and metrics) to Elastic APM.

Run with the collector

Using this model, the Go application sends the traces and metrics to a collector that forwards them to Elastic APM.

docker compose -f run-with-collector.yaml up -d

Run without the collector

Using this model, the Go application sends the traces and metrics directly to Elastic APM.

docker compose -f run-without-collector.yaml up -d

Accessing Elastic APM

After executing the services you can reach the Elastic APM application in the following URL:

http://localhost:5601/app/apm

Manually executing the Go application

Once everything is running there will periodic requests being sent to the microservice so you don't need to issue any requests by yourself. However, if you want to do it anyway just execute:

curl -X GET http://localhost:8888/hello

License

This project is licensed under the Apache 2.0 License.