https://github.com/rogercoll/telemetrygen-receiver
OpenTelemetry Collector receiver that generates Metrics, Logs and Traces at a given throughput
https://github.com/rogercoll/telemetrygen-receiver
Last synced: 2 months ago
JSON representation
OpenTelemetry Collector receiver that generates Metrics, Logs and Traces at a given throughput
- Host: GitHub
- URL: https://github.com/rogercoll/telemetrygen-receiver
- Owner: rogercoll
- Created: 2025-01-03T18:18:05.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-09T09:28:43.000Z (4 months ago)
- Last Synced: 2025-02-23T16:46:04.826Z (2 months ago)
- Language: Go
- Size: 96.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Telemetry Generator receiver
| Status | |
| ------------- |-----------|
| Stability | [development]: metrics |
| Distributions | [] |
| Issues | [](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Areceiver%2Ftelemetrygen) [](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Areceiver%2Ftelemetrygen) |
| [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@rogercoll](https://www.github.com/rogercoll) |[development]: https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/component-stability.md#development
The OpenTelemetry Telemetry Generator Receiver is a specialized OpenTelemetry receiver designed to generate metrics, logs, and traces at a user-defined throughput (in bytes per second for each signal). The number of total generated bytes is computed by encoding the telemetry to JSON. This receiver enables you to simulate realistic telemetry flows for testing, benchmarking, and validation purposes.
## How Telemetry Is Generated
The receiver utilizes pre-captured telemetry data from a typical OpenTelemetry Demo execution, which represents a diverse set of application scenarios and workloads. When generating telemetry, the receiver uses this base data, dynamically adjusting timestamps to match the current time. This approach ensures the generated telemetry retains the structure and content of authentic OpenTelemetry Demo data while appearing as though it were generated in real-time. The pre-captured telemetry is embedded in the receiver and can be found in [demo-data](./demo-data/).
## Sample configuration
```yaml
receivers:
telemetrygen:
metrics:
throughput: 1048576 # 1MB/s (1024*1024)
logs:
throughput: 1048576 # 1MB/s (1024*1024)
traces:
throughput: 1048576 # 1MB/s (1024*1024)
services:
randomized_name_count: 200processors:
exporters:
debug:
verbosity: detailedservice:
telemetry:
logs:
level: debug
pipelines:
metrics:
receivers: [telemetrygen]
processors:
exporters: [debug]
logs:
receivers: [telemetrygen]
processors:
exporters: [debug]
traces:
receivers: [telemetrygen]
processors:
exporters: [debug]
```