Telemetry generator for OpenTelemetry
This utility simulates a client generating traces, metrics, and logs. It is useful for testing and demonstration purposes.
Installing
To install the latest version run the following command:
go install github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen@latest
Check the go install
reference to install specific versions.
Running
First, you'll need an OpenTelemetry Collector to receive the telemetry data. Follow the project's instructions for a detailed setting up guide. The following configuration file should be sufficient:
config.yaml:
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
processors:
batch:
exporters:
debug:
verbosity: detailed
service:
pipelines:
logs:
receivers: [otlp]
processors: [batch]
exporters: [debug]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [debug]
traces:
receivers: [otlp]
processors: [batch]
exporters: [debug]
Starting OpenTelemetry collector via docker:
docker run -p 4317:4317 -v $(pwd)/config.yaml:/etc/otelcol-contrib/config.yaml ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.86.0
Other options for running the collector are documented here https://opentelemetry.io/docs/collector/getting-started/
Once the OpenTelemetry Collector instance is up and running, run telemetrygen
for your desired telemetry:
Traces
telemetrygen traces --otlp-insecure --duration 5s
Or, to generate a specific number of traces:
telemetrygen traces --otlp-insecure --traces 1
Check telemetrygen traces --help
for all the options.
Logs
telemetrygen logs --duration 5s --otlp-insecure
Metrics
telemetrygen metrics --duration 5s --otlp-insecure