Elysia Tools

在一个清晰的工作台里浏览工具、案例、可视化和主题指南。

热门分类

专题

语言
ZHESPTRUFRDEEN

Elysia Tools

导航

可观测性

分布式追踪示例

使用 Jaeger、OpenTelemetry 和其他现代可观测性工具的综合分布式追踪示例,适用于微服务架构

案例

这个案例集合中的条目

配置中等

Jaeger 分布式追踪配置

完整的 Jaeger 部署配置,包含收集器、代理和 UI,用于端到端分布式追踪

难度

6/10

预计时间

20 min

标签

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"]
配置复杂

OpenTelemetry 自动埋点

支持 Java、Python、Node.js 和 Go 应用的 OpenTelemetry 自动埋点配置,包含自定义 span

难度

7/10

预计时间

25 min

标签

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"]
文本中等

微服务请求流追踪

展示跨多个微服务的请求流示例分布式追踪,包含关联 ID 和上下文传播

难度

5/10

预计时间

10 min

标签

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
配置复杂

性能瓶颈检测

用于识别性能瓶颈的高级追踪配置,包含详细 span 属性和错误跟踪

难度

8/10

预计时间

30 min

标签

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"]
配置复杂

OpenTelemetry Collector 管道

用于处理、过滤和导出追踪到多个后端的 OpenTelemetry Collector 配置

难度

7/10

预计时间

25 min

标签

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"]
代码中等

跨服务上下文传播

使用 OpenTelemetry 上下文 API 和自定义头在微服务间传播上下文的实现示例

难度

6/10

预计时间

15 min

标签

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"]

工具

经常与该案例搭配使用的工具

相关内容

相关案例集合

相关内容

相关专题

工具使用指南

帮助搜索与理解工作流的案例说明

标题

分布式追踪示例

描述

使用 Jaeger、OpenTelemetry 和其他现代可观测性工具的综合分布式追踪示例,适用于微服务架构

概览

使用 Jaeger、OpenTelemetry 和其他现代可观测性工具的综合分布式追踪示例,适用于微服务架构

适用场景

  • Use this sample set when you want reference inputs for 分布式追踪示例.
  • Use it to preview output formats and compare related sample variants.

使用方式

  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.

常见用途

  • Jaeger 分布式追踪配置
  • OpenTelemetry 自动埋点
  • 微服务请求流追踪
  • 性能瓶颈检测
  • OpenTelemetry Collector 管道
  • 跨服务上下文传播

常见问题

What is included in 分布式追踪示例?

This page includes curated sample entries, related tools, and neighboring sample collections for 分布式追踪示例.

专题

药代动力学教学模型与结果核查

用于教学或 QA 的药代公式、模型假设和结果一致性核查,不提供用药剂量、诊断或临床建议。

专题

经典与现代密码工具

在安全的教学或 CTF 场景中比较可逆的经典变换与现代加密,并明确玩具密码不等于安全防护。

专题

文本前后缀与包裹符号批处理,整行整词一次到位

给文本行或词批量添加前后缀,为 SQL、配置和 Markdown 给每个值加引号或反引号包裹,并剥掉粘贴列表带来的编号、符号和装饰。

专题

数学与数字转换工作流

按清晰的精度检查流程转换计量单位、进制、分数、科学计数法、罗马数字以及字节/位数值。

首页
工具3201
案例593
可视化465
文件查看器103
专题233
标签333
图像、音频与视频657

图像、音频、视频处理、转换与优化工具

数学、日期与金融644

计算器、数值计算、日期逻辑、统计与金融工具

设计与颜色297

颜色、版式、图形、视觉样式与设计辅助工具

文本与写作209

写作、清洗、格式化、提取与文本分析工具

开发与 Web193

开发者工具、网络处理、Web 调试与自动化辅助工具

转换与编码175

格式、文件、压缩包、单位与编码转换工具

FLAC/WAV 无损音源疑点筛查与证据交付
自托管抽奖组件配置复核、嵌入测试与上线交付
Stripe 优惠码候选批次审核与本地导入预检
批量照片技术初筛、近重复复核与修图候选交付
界面截图结构化、人工校对与开发交付

© 2026 Elysia Tools. 保留所有权利。

文档价格关于我们服务条款隐私政策Cookie 政策联系我们

Format Conversion

YAML-JSON转换器

在YAML和JSON格式之间转换

Development

配置文件语义 Diff

比较 JSON、YAML、TOML 和 dotenv 配置,按键路径显示变化并忽略排序与格式噪声。

Data Processing

JSONata 查询转换工作室

预览 JSONata 风格查询与转换,支持多数据对比,并导出 JSON、CSV、YAML 或 Markdown。

Development

OpenAPI 转 Postman Collection

把 OpenAPI 3.x 或 Swagger 2.0 规范(JSON/YAML)转成可直接导入的 Postman Collection v2.1.0,含文件夹、变量、认证与示例响应。

Development

分布式追踪解码与瀑布图可视化

解析 Jaeger、Zipkin 或 OpenTelemetry 的 trace JSON,并以瀑布图展示 span 时序与异常节点

Format Conversion

WireGuard/OpenVPN 到 Clash 与 sing-box 配置桥接器

将粘贴的 WireGuard 或 OpenVPN 客户端文本转换为 Mihomo/Clash YAML 或 sing-box JSON,并报告密钥字段;请勿分享私钥

Format Conversion

TOML / INI / HCL / .env / Nix / dotenv / Kubernetes ConfigMap / Secret 配置格式桥

在 dotenv .env、TOML、INI、Java .properties、YAML、JSON、HCL(Terraform/Vagrant 原生语法)与 Nix 属性集之间转换配置,并可输出 Kubernetes ConfigMap / Secret 清单;保留 ${VAR} / {{var}} 模板占位符与 envsubst 风格插值、记录类型推断来源(string/int/float/bool/list)、HCL 块标签自动折叠为嵌套键,往返 diff 突出非等价设置(丢失键、类型变化、值改写),输出对 Kustomize 补丁友好的 YAML。

Development

API 延迟预算规划器

规划并可视化 API 延迟预算。输入 P99 目标(如 ≤ 300ms)和各阶段分配(DNS、TCP、TLS、TTFB、Processing、Network),查看实时瀑布图、预算占用和超标告警。可选粘贴 OpenTelemetry 或 Datadog trace,反推基于真实测量的分配建议。

监控与可观测性

Datadog 监控示例

全面的 Datadog 监控和可观测性配置示例,包括 APM、日志、指标和仪表板

监控

Grafana 高级应用示例

全面的 Grafana 示例,涵盖高级仪表板设计、告警配置、数据源集成和插件开发

DevOps

ELK Stack 日志分析示例

全面的 ELK Stack(Elasticsearch、Logstash、Kibana)示例,用于分布式系统中的日志聚合、处理和可视化

API 文档

OpenAPI/Swagger 示例

使用 OpenAPI 3.0 和 Swagger 规范的 RESTful 服务综合 API 文档示例

构建工具

Parcel 打包工具

Parcel零配置打包工具示例,包括项目设置、插件和高级配置

包管理器

pnpm 包管理器示例

快速、节省磁盘空间的包管理器示例,包括monorepo管理、工作区配置和高级工作流