Elysia Tools

Browse tools, examples, visual explainers, and topic guides from one clear workspace.

Top Categories

Hubs

Language
ZHESPTRUFRDEEN

Elysia Tools

Navigation

Observability

Distributed Tracing Samples

Comprehensive distributed tracing examples using Jaeger, OpenTelemetry, and other modern observability tools for microservices architecture

Samples

Entries inside this sample collection

ConfigIntermediate

Jaeger Distributed Tracing Setup

Complete Jaeger deployment configuration with collectors, agents, and UI for end-to-end distributed tracing

Difficulty

6/10

Estimated time

20 min

Tags

jaeger, collector, agent, deployment, sampling, storage

config
# Jaeger Configuration File
# Complete setup for production distributed tracing

version: '3.8'

services:
  # Jaeger Collector
  jaeger-collector:
    image: jaegertracing/jaeger-collector:1.45
    environment:
      - SPAN_STORAGE_TYPE=elasticsearch
      - ES_SERVER_URLS=http://elasticsearch:9200
      - ES_USERNAME=elastic
      - ES_PASSWORD=changeme
      - ES_INDEX_PREFIX=jaeger
      - COLLECTOR_ZIPKIN_HOST_PORT=:9411
      - COLLECTOR_OTLP_ENABLED=true
    ports:
      - "14269:14269"
      - "14268:14268"
      - "14250:14250"
      - "9411:9411"
    depends_on:
      - elasticsearch

  # Jaeger Agent
  jaeger-agent:
    image: jaegertracing/jaeger-agent:1.45
    command: ["--reporter.grpc.host-port=jaeger-collector:14250"]
    ports:
      - "6831:6831/udp"
      - "6832:6832/udp"
    depends_on:
      - jaeger-collector

  # Jaeger Query Service
  jaeger-query:
    image: jaegertracing/jaeger-query:1.45
    environment:
      - SPAN_STORAGE_TYPE=elasticsearch
      - ES_SERVER_URLS=http://elasticsearch:9200
      - ES_USERNAME=elastic
      - ES_PASSWORD=changeme
      - ES_INDEX_PREFIX=jaeger
      - JAEGER_UI_CONFIG_JSON=/etc/jaeger-ui-config.json
    ports:
      - "16686:16686"
      - "16687:16687"
    volumes:
      - ./jaeger-ui-config.json:/etc/jaeger-ui-config.json
    depends_on:
      - elasticsearch

  # Elasticsearch Backend
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0
    environment:
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms1g -Xmx1g
      - xpack.security.enabled=false
    ports:
      - "9200:9200"
    volumes:
      - elasticsearch_data:/usr/share/elasticsearch/data

volumes:
  elasticsearch_data:
format
YAML
version
1.x
components
["collector","agent","query-service","ui"]
storage
elasticsearch
features
["sampling","compression","batch-processing"]
ConfigComplex

OpenTelemetry Auto-Instrumentation

OpenTelemetry auto-instrumentation configuration for Java, Python, Node.js, and Go applications with custom spans

Difficulty

7/10

Estimated time

25 min

Tags

opentelemetry, instrumentation, auto-instrument, telemetry, metrics, tracing

config
# OpenTelemetry Auto-Instrumentation Configuration
# Example configuration for Java applications

# Environment Variables
export OTEL_SERVICE_NAME=my-service
export OTEL_RESOURCE_ATTRIBUTES=service.name=my-service,service.version=1.0.0
export OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317
export OTEL_TRACES_SAMPLER=traceidratio
export OTEL_TRACES_SAMPLER_ARG=1.0

# Java Agent Configuration
-javaagent:/app/opentelemetry-javaagent.jar -Dotel.service.name=my-service -Dotel.resource.attributes=service.name=my-service,service.version=1.0.0 -Dotel.exporter.otlp.endpoint=http://otel-collector:4317 -Dotel.traces.sampler=traceidratio -Dotel.traces.sampler.arg=1.0 -Dotel.javaagent.extensions=io.opentelemetry.extension.noopapi.NoOpApiExtension

# Custom Span Creation (Java Example)
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer;

Tracer tracer = OpenTelemetry.getGlobalTracer("my-service");
Span span = tracer.spanBuilder("custom-operation")
    .setAttribute("user.id", "12345")
    .setAttribute("operation.type", "business")
    .startSpan();

// Do work here...
span.end();
format
JSON
specification
OpenTelemetry
languages
["java","python","nodejs","go","dotnet"]
features
["auto-instrumentation","custom-spans","baggage","propagation"]
TextIntermediate

Microservices Request Flow Trace

Sample distributed trace showing request flow across multiple microservices with correlation IDs and context propagation

Difficulty

5/10

Estimated time

10 min

Tags

microservices, request-flow, correlation, context-propagation, span-tree

plaintext
{
  "trace_id": "550e8400-e29b-41d4-a716-446655440000",
  "spans": [
    {
      "trace_id": "550e8400-e29b-41d4-a716-446655440000",
      "span_id": "550e8400-e29b-41d4-a716-446655440001",
      "parent_span_id": null,
      "operation_name": "HTTP GET /api/orders",
      "service_name": "api-gateway",
      "start_time": 1701954645123000000,
      "end_time": 1701954645156000000,
      "duration_ms": 33,
      "tags": {
        "http.method": "GET",
        "http.url": "/api/orders",
        "http.status_code": "200",
        "component": "netty"
      },
      "logs": [
        {
          "timestamp": 1701954645140000000,
          "level": "info",
          "message": "Request authenticated successfully"
        }
      ]
    },
    {
      "trace_id": "550e8400-e29b-41d4-a716-446655440000",
      "span_id": "550e8400-e29b-41d4-a716-446655440002",
      "parent_span_id": "550e8400-e29b-41d4-a716-446655440001",
      "operation_name": "UserService.GetUser",
      "service_name": "user-service",
      "start_time": 1701954645130000000,
      "end_time": 1701954645145000000,
      "duration_ms": 15,
      "tags": {
        "user.id": "12345",
        "db.system": "postgresql",
        "operation.type": "query"
      }
    },
    {
      "trace_id": "550e8400-e29b-41d4-a716-446655440000",
      "span_id": "550e8400-e29b-41d4-a716-446655440003",
      "parent_span_id": "550e8400-e29b-41d4-a716-446655440001",
      "operation_name": "OrderService.GetOrders",
      "service_name": "order-service",
      "start_time": 1701954645132000000,
      "end_time": 1701954645152000000,
      "duration_ms": 20,
      "tags": {
        "user.id": "12345",
        "operation.type": "business"
      }
    }
  ]
}
format
JSON
services
["api-gateway","user-service","order-service","payment-service","notification-service"]
spanTypes
["http","database","cache","message-queue"]
complexity
multi-service
ConfigComplex

Performance Bottleneck Detection

Advanced tracing configuration for identifying performance bottlenecks with detailed span attributes and error tracking

Difficulty

8/10

Estimated time

30 min

Tags

performance, bottleneck, analysis, optimization, error-tracking, metrics

config
# Performance Analysis Configuration
# Example setup for performance bottleneck detection

# Custom Span Attributes
attributes:
  - database.query.duration
  - cache.hit_ratio
  - memory.usage
  - cpu.utilization

# Performance Thresholds
thresholds:
  slow_query: 100ms
  high_memory: 80%
  high_cpu: 90%

# Alert Configuration
alerts:
  - name: Slow Database Queries
    condition: span.duration > 100ms
    severity: warning
format
YAML
features
["span-attributes","error-tracking","slow-queries","memory-usage","cpu-profiling"]
alerts
["threshold-based","anomaly-detection"]
integrations
["prometheus","grafana"]
ConfigComplex

OpenTelemetry Collector Pipeline

OpenTelemetry Collector configuration for processing, filtering, and exporting traces to multiple backends

Difficulty

7/10

Estimated time

25 min

Tags

otel-collector, pipeline, processors, exporters, receivers

config
# OpenTelemetry Collector Configuration
receivers:
  otlp:
    protocols:
      grpc:
      http:

processors:
  memory_limiter:
    check_interval: 5s
    limit_mib: 512
  batch:
    timeout: 5s
    send_batch_size: 1024
  attributes:
    actions:
      - key: environment
        value: production
        action: insert

exporters:
  otlp/jaeger:
    endpoint: jaeger-collector:4317
    tls:
      insecure: true
  logging:
    loglevel: info

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [memory_limiter, batch, attributes]
      exporters: [otlp/jaeger, logging]
format
YAML
version
0.x
components
["receivers","processors","exporters","extensions"]
backends
["jaeger","zipkin","prometheus","elasticsearch"]
features
["batch-processing","sampling","filtering","transformation"]
CodeIntermediate

Cross-Service Context Propagation

Implementation example of context propagation between microservices using OpenTelemetry context API and custom headers

Difficulty

6/10

Estimated time

15 min

Tags

context-propagation, headers, cross-service, correlation, baggage

plaintext
// Context propagation across services (Node.js + OpenTelemetry)
import { context, propagation, trace } from '@opentelemetry/api'

const tracer = trace.getTracer('orders-service')

export async function handleIncomingRequest(req, res) {
  // Extract trace context from inbound HTTP headers
  const parentContext = propagation.extract(context.active(), req.headers)

  await context.with(parentContext, async () => {
    const span = tracer.startSpan('handle-order-request')

    try {
      span.setAttribute('http.route', req.url)
      span.setAttribute('service.name', 'orders-service')

      // Inject context when calling downstream service
      const headers = {}
      const spanContext = trace.setSpan(context.active(), span)
      propagation.inject(spanContext, headers)

      const response = await fetch('http://inventory-service/check', {
        method: 'POST',
        headers: {
          ...headers,
          'content-type': 'application/json'
        },
        body: JSON.stringify({ sku: req.body.sku, quantity: req.body.quantity })
      })

      if (!response.ok) {
        span.setAttribute('error', true)
        span.setAttribute('http.status_code', response.status)
      }

      res.status(200).json({ ok: true })
    } catch (error) {
      span.recordException(error)
      span.setAttribute('error', true)
      res.status(500).json({ ok: false })
    } finally {
      span.end()
    }
  })
}
format
JavaScript
apis
["@opentelemetry/api","@opentelemetry/sdk-node"]
concepts
["context","baggage","propagators","extract","inject"]
protocols
["http","grpc","messaging"]

Tools

Tools frequently paired with this sample

Related

Related sample collections

Related

Related workflows

Tool usage guide

Sample-focused context for search and workflow understanding

Title

Distributed Tracing Samples

Description

Comprehensive distributed tracing examples using Jaeger, OpenTelemetry, and other modern observability tools for microservices architecture

Overview

Comprehensive distributed tracing examples using Jaeger, OpenTelemetry, and other modern observability tools for microservices architecture

When to use

  • Use this sample set when you want reference inputs for Distributed Tracing Samples.
  • Use it to preview output formats and compare related sample variants.

How it works

  1. 1Open a sample entry to inspect the prepared example payload or asset.
  2. 2Compare it with related tools to understand how the workflow connects.

Use cases

  • Jaeger Distributed Tracing Setup
  • OpenTelemetry Auto-Instrumentation
  • Microservices Request Flow Trace
  • Performance Bottleneck Detection
  • OpenTelemetry Collector Pipeline
  • Cross-Service Context Propagation

FAQ

What is included in Distributed Tracing Samples?

This page includes curated sample entries, related tools, and neighboring sample collections for Distributed Tracing Samples.

Hub

Infer JSON Schema from Samples and Spreadsheets

Derive a reviewable JSON Schema draft from representative JSON samples or XLSX rows, then inspect types, requiredness, nulls, and outliers before treating it as a contract.

Hub

Observability Debugging from Logs, Traces, Webhooks, and JSON Payloads

Parse logs, decode traces, inspect webhook/API evidence, explore JSON payloads, and extract recurring patterns before writing an incident-ready debugging note.

Hub

PDF Signing, Stamping, and Distribution Tracing

Send PDFs you can prove are yours — redact sensitive content permanently before sealing, add a visible signature block and a PAdES certificate signature, stamp the document status, embed invisible per-recipient tracking IDs, and audit incoming signatures down the certificate chain.

Hub

Self-Hosted Giveaway Widget Review and Embed Handoff

Review giveaway configuration, merchant response samples, contrast and responsive layouts, then hand off identified widget files with browser acceptance evidence.

Home
Tools3201
Samples593
Visualizations465
Viewers103
Hubs233
Tags333
Images, Audio & Video657

Image, audio, and video processing, conversion, and optimization tools

Math, Date & Finance644

Calculators, numerics, date logic, statistics, and finance tools

Design & Color297

Color, layout, graphics, visual styling, and design helper tools

Text & Writing209

Writing, cleanup, formatting, extraction, and text analysis tools

Developer & Web193

Developer utilities, networking, web debugging, and automation helpers

Conversion & Encoding175

Format, file, archive, unit, and encoding conversion tools

FLAC/WAV Source Screening and Evidence Handoff
Self-Hosted Giveaway Widget Review and Embed Handoff
Stripe Promo Code Batch Review and Import Preflight
Batch Photo Culling Review and Editing Shortlist Handoff
UI Screenshot Structure Review and Development Handoff

© 2026 Elysia Tools. All rights reserved.

DocsPricingAboutTerms of ServicePrivacy PolicyCookiesContact

Format Conversion

YAML-JSON Converter

Convert between YAML and JSON formats

Development

Config File Semantic Diff

Compare JSON, YAML, TOML, and dotenv configurations by key path while ignoring ordering and formatting noise.

Data Processing

JSONata Query & Transform Studio

Preview JSONata-style queries and transformations, compare results across sample payloads, and export the transformed output as JSON, CSV, YAML, or Markdown

Development

OpenAPI to Postman Collection

Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON/YAML) into an importable Postman Collection v2.1.0 with folders, variables, auth and example responses.

Development

Distributed Trace Decoder & Waterfall Visualizer

Decode Jaeger, Zipkin, or OpenTelemetry trace JSON and render span timing, dependencies, and error hotspots as an interactive waterfall report

Format Conversion

WireGuard/OpenVPN to Clash and sing-box Config Bridge

Convert pasted WireGuard or OpenVPN client text into Mihomo/Clash YAML or sing-box JSON with secret-field diagnostics; do not share private keys

Format Conversion

TOML / INI / HCL / .env / Nix / dotenv ⇄ Kubernetes ConfigMap & Secret Config Format Bridge

Convert configuration files between dotenv .env, TOML, INI, Java .properties, YAML, JSON, HCL (Terraform/Vagrant native syntax) and Nix attribute sets, and emit Kubernetes ConfigMap or Secret manifests. Template placeholders (${VAR}, {{var}}, envsubst) are preserved verbatim, type inference provenance (string/int/float/bool/list) is tracked, HCL block labels fold into nested keys, and a round-trip diff calls out non-equivalent settings — dropped keys, re-typed values and rewrites — instead of coercing them silently.

Development

API Latency Budget Planner

Plan and visualise an API latency budget. Enter a P99 target (e.g. ≤ 300ms) and per-stage allocations (DNS, TCP, TLS, TTFB, Processing, Network) to see a live waterfall, budget utilisation, and over-budget warnings. Optionally paste an OpenTelemetry or Datadog trace to reverse-engineer a measured allocation.

Monitoring & Observability

Datadog Monitoring Samples

Comprehensive Datadog monitoring and observability configuration examples including APM, logs, metrics, and dashboards

Monitoring

Grafana Advanced Application Samples

Comprehensive Grafana samples covering advanced dashboard design, alerting configurations, data source integrations, and plugin development

DevOps

ELK Stack Log Analysis Samples

Comprehensive ELK Stack (Elasticsearch, Logstash, Kibana) samples for log aggregation, processing, and visualization in distributed systems

API Documentation

OpenAPI/Swagger Samples

Comprehensive API documentation examples using OpenAPI 3.0 and Swagger specifications for RESTful services

Build Tools

Parcel Bundler Samples

Parcel zero-configuration bundler examples including project setup, plugins, and advanced configuration

Package Managers

pnpm Package Manager Samples

Fast, disk space efficient package manager examples including monorepo management, workspace configuration, and advanced workflows