jokersoft / sample-tracing-app

Sample app for testing generated traces

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sample Tracing App (Node.js + Opentelemetry Collector + Zipkin) with instrumentation examples

This sample app implements following flow: and allows to build/debug Opentelemetry tracing instrumentation.

Includes:

local run

Run containers:

docker compose build
docker compose up

(requires you to be authenticated in AWS cli)

Simulate API call chain (client -> server -> aws.s3.list):

curl localhost:3000/http/s3-list -v

To see traces in Zipkin UI

go to http://localhost:9411/zipkin/, press "RUN QUERY" button to see latest traces.

And check zipkin-ui.md for more details.

To see traces in Jaeger UI

go to http://localhost:16686 and search.

Links

http instrumentation

https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http

OpenTelemetry Collector Exporter for web and node

https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-trace-otlp-http

OpenTelemetry Collector Exporter for node with grpc

https://www.npmjs.com/package/@opentelemetry/exporter-collector-grpc

OpenTelemetry Protocol Specification

OTLP/HTTP

https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/otlp.md#otlpgrpc-default-port

B3 Header Propagation

https://www.npmjs.com/package/@opentelemetry/propagator-b3 https://github.com/openzipkin/b3-propagation https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-propagator-b3

TODO

About

Sample app for testing generated traces


Languages

Language:JavaScript 97.2%Language:Shell 1.4%Language:Dockerfile 1.4%