{"id":26445608,"url":"https://github.com/cisco-open/test-telemetry-generator","last_synced_at":"2025-09-11T06:32:59.845Z","repository":{"id":64512479,"uuid":"533245099","full_name":"cisco-open/test-telemetry-generator","owner":"cisco-open","description":"OpenTelemetry data generator to simplify testing of your platform","archived":false,"fork":false,"pushed_at":"2024-09-03T22:35:28.000Z","size":488,"stargazers_count":18,"open_issues_count":8,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-30T16:02:24.608Z","etag":null,"topics":["data-generator","opentelemetry","testing-library"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cisco-open.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-06T09:09:14.000Z","updated_at":"2025-03-10T14:43:02.000Z","dependencies_parsed_at":"2024-02-08T02:35:23.135Z","dependency_job_id":"608670de-b3c7-4570-a56e-74da36190c96","html_url":"https://github.com/cisco-open/test-telemetry-generator","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/cisco-open/test-telemetry-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Ftest-telemetry-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Ftest-telemetry-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Ftest-telemetry-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Ftest-telemetry-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cisco-open","download_url":"https://codeload.github.com/cisco-open/test-telemetry-generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Ftest-telemetry-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274589549,"owners_count":25312971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-generator","opentelemetry","testing-library"],"created_at":"2025-03-18T11:19:45.083Z","updated_at":"2025-09-11T06:32:59.822Z","avatar_url":"https://github.com/cisco-open.png","language":"Java","funding_links":[],"categories":["Uncategorized","Synthetic Data Generators"],"sub_categories":["Uncategorized","Application Simulators"],"readme":"# test-telemetry-generator\n\n![GitHub](https://img.shields.io/github/license/cisco-open/test-telemetry-generator)\n\n[![Java CI with Gradle](https://github.com/cisco-open/test-telemetry-generator/actions/workflows/gradle.yml/badge.svg)](https://github.com/cisco-open/test-telemetry-generator/actions/workflows/gradle.yml)\n![GitHub last commit](https://img.shields.io/github/last-commit/cisco-open/test-telemetry-generator)\n![Open Issues](https://img.shields.io/github/issues/cisco-open/test-telemetry-generator)\n\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/cisco-open/test-telemetry-generator)\n\n## Purpose\n\n[OpenTelemetry](https://opentelemetry.io/) is an open source collection of tools, APIs and SDKs which can be used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software's performance and behavior. If you are working on platforms that are built to ingest OpenTelemetry (OTel) data and have a need to provide OTel data as input to your platform services for testing or otherwise, either you can actually configure OTel collectors on your infrastructure to export the telemetry data (adding to your infra costs), or you will have to write code to generate hardcoded OTel packets. The issue with the former approach is that you do not know what data (metrics/logs/traces) is being actually sent and the latter would result in long term maintainability issues.  \n\nThe test-telemetry-generator tries to solve this requirement by acting like an OpenTelemetry exporter which can generate and export OpenTelemetry data without actually monitoring anything. It provides a relatively readable and flexible way of specifying the telemetry data to be generated via YAML files which can be easily modified at any stage to tune the output OTel data without changing your code at all.  \n\nAlthough we can see that the key users of this tool would be test-engineers but this can be used by developers to perform quick checks on their platform and sales engineers to demo the platforms without having to write a lot of code or setting up OTel exporters on actual infra.\n\nThe telemetry is generated using [release 0.18.0 of the OpenTelemetry protos](https://github.com/open-telemetry/opentelemetry-proto/releases/tag/v0.18.0). \n\n***\n\n## How to use\n\nThis tools can be added to your code as a dependency or executed from the command-line. The repository [wiki](https://github.com/cisco-open/test-telemetry-generator/wiki) will help in understanding how to set up the pre-requisites and consume this tool as per your requirements.\n\n***\n\n## Quickstart\n\nFor a quick start with a basic setup you can download the [latest fat-jar](https://github.com/cisco-open/test-telemetry-generator/releases/download/latest/test-telemetry-generator-otel-proto-0.18.0-fatjar.jar) and [example definitions](./example-definitions/) and put them all into one directory. We recommend that you start with the [simple example definitions](./example-definitions/simple/).\n\nYou can do all of that in the command line using [curl](https://curl.se/) like the following:\n\n```shell\nmkdir my-test-telemetry\ncd my-test-telemetry\nversion=v23.7.0\ncurl -O -L https://github.com/cisco-open/test-telemetry-generator/releases/download/${version}/test-telemetry-generator-otel-proto-${version}-fatjar.jar\ncurl -O https://raw.githubusercontent.com/cisco-open/test-telemetry-generator/master/example-definitions/simple/resource-definition.yaml\ncurl -O https://raw.githubusercontent.com/cisco-open/test-telemetry-generator/master/example-definitions/simple/trace-definition.yaml\ncurl -O https://raw.githubusercontent.com/cisco-open/test-telemetry-generator/master/example-definitions/cli-target-rest.yaml\n```\n\nYour `my-test-telemetry` directory should now contain the following files:\n\n```shell\n$ ls\ncli-target-rest.yaml  resource-definition.yaml  test-telemetry-generator-otel-proto-0.18.0-fatjar.jar  trace-definition.yaml\n```\n\nNext, open the `cli-target-rest.yml` with an editor of your choice and set the `restURL` to your OTLP HTTP endpoint. For example, if you use an [OpenTelemetry\nCollector](https://opentelemetry.io/docs/collector/) running on `localhost` with an `otlp` receiver listening on port `4318`, update your target config to look like the following:\n\n```yaml\nauthMode: \"none\"\n# Set authmode to 'basic' and uncomment username \u0026 password if you need authentication\n# username: \"your-username\"\n# password: \"your-password\"\nrestURL:\n  baseURL: \"http://localhost:4318\"\n  metricsPath: \"/v1/metrics\"\n  logsPath: \"/v1/logs\"\n  tracesPath: \"/v1/traces\"\n```\n\nFinally, start the test-telemetry-generator:\n\n```shell\njava -jar test-telemetry-generator-otel-proto-0.18.0-fatjar.jar -r resource-definition.yaml -s trace-definition.yaml -t cli-target-rest.yaml\n```\n\nIf all goes well, you should see test-telemetry-generator printing out some logs for you:\n\n```text\n...\n10:10:08.525 [main] INFO  i.o.c.g.t.t.dto.Traces - 6jz87jHycn1T7hIE7c7zfKWnsIIBTAwI: Initializing 6 trace trees\n10:10:08.530 [main] INFO  i.o.c.g.t.t.TracesGenerator - 6jz87jHycn1T7hIE7c7zfKWnsIIBTAwI: Initializing 6 trace generator threads\n...\n```\n\nYou now have a working setup from which you can build your own telemetry test environment. Update the definition files to your needs and read the [wiki](https://github.com/cisco-open/test-telemetry-generator/wiki) to learn more.\n\n***\n\n## Docker image\n```text\n# Clone the repo and from the repo root\n# Build fat JAR\n./gradlew clean build fatJar -x test\n# Prepare definition YAML/JSON files and store them in the ./definitions directory\n# Build docker file\ndocker build . -t test_telemetry_generator:local\n# Run the container\ndocker run -v HOST_DEFINITIONS_PATH:/definitions test_telemetry_generator:local\n```\n\n## Support\n\nWe are continuously improving the tool and adding more feature support. Please see the [open issues](https://github.com/cisco-open/test-telemetry-generator/issues) to see the list of planned items and feel free to open a new issue in case something that you'd like to see is missing.\n\n***\n\n## Contributors\n\nBuilt with :heart: by and with the support of:  \n\n* [Severin Neumann](https://github.com/svrnm)\n* [Ashish Tyagi](https://github.com/ashish-tyagi)\n* [Aarushi Singh](https://github.com/AarushiSingh09)\n* [Manpreet Singh](https://github.com/preet-dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcisco-open%2Ftest-telemetry-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcisco-open%2Ftest-telemetry-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcisco-open%2Ftest-telemetry-generator/lists"}