Skip to content

dorsal-lab/opentelemetry-c-replayer

Repository files navigation

OTel replayer

Reads all opentelemetry-c CTF traces and send them to an OTel collector using OTLP for GRPC.

Architecture

This repository provides configurations for an OpenTelemetry collector with Jaeger, Zipkin and Prometheus observability backends. The picture below shows how components are connected. Arrows represent how data flows.

Replayer Architecture

  • First, you need to have userspace CTF traces generated using the opentelemetry-c project.
  • replayer.py can read traces directly from the CTF traces folder and send telemetry data to the OpenTelemetry collector.
  • The collector will automatically forward data to Jaeger, Loki and VictoriaMetrics observability backends.
  • Those three telemetry backends have been added as a data source in Grafana

Setup and run the replayer

Setup the collector and observability backends

docker-compose up -d

After this :

Run the replayer

docker build -t opentelemetry-c-replayer .
docker run -it --net=host -v /path/to/ctf/traces:/ctf-traces opentelemetry-c-replayer -i /ctf-traces -e http://localhost:4317

If you wish to run the replayer locally without using docker :

pip install "poetry==1.1.14"
poetry config virtualenvs.create false --local
poetry install
python3 src/replayer.py -i path/to/ctf/traces -e http://localhost:4317

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published