本文へ移動
cccskills
無料GitHub で公開

distributed-tracing

Distributed tracing con OpenTelemetry: setup Go/TS/React/RN, Cloud Trace, Tempo, Datadog, sampling, correlación con logs.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcaneスター 3(GitHub 3 + cccskills 0)
連携ツールGoogle CloudDatadog

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Distributed Tracing — OpenTelemetry + Cloud Trace

Standard Educabot: OTel SDK + OTLP exporter → Google Cloud Trace (prod), Jaeger local (dev). Siempre OTLP para switchear backend sin tocar código.

Backends

BackendCuándo
Google Cloud TraceDefault (Cloud Run/GKE), factura por span
Grafana TempoSelf-host, budget-conscious, parea con Loki+Grafana
Datadog APMOrg con DD enterprise
HoneycombDebug complejo, high-cardinality BubbleUp
Jaeger OSSDev local / fallback

Setup por Stack

Go (Gin): InitTracing() con Cloud Trace exporter, resource attributes (service.name, deployment.environment), ParentBased(TraceIDRatioBased) sampler, TraceContext+Baggage propagator. Middleware: otelgin.Middleware("service-name"). HTTP client: otelhttp.NewTransport(). DB: otelsql.Open(). Custom span: tracer.Start(ctx, "op") + defer span.End() + span.SetAttributes() + span.RecordError().

Node/TS: NodeSDK con auto-instrumentations (disable fs). Import ANTES que cualquier otro require (--require ./dist/tracing.js). Resource: service.name + environment. Sampler: ParentBased(TraceIDRatioBased(0.1)) prod. Custom span: tracer.startActiveSpan() + try/catch/finally con span.end().

React web: WebTracerProvider + FetchInstrumentation con propagateTraceHeaderCorsUrls. Samplear 1-5% (tráfico browser enorme).

React Native: mismo approach que web, cuidado con bundle size y battery.

Propagación

HTTP: automático con otelhttp/auto-instrumentation (header traceparent). PubSub/Kafka: inject/extract manual en message attributes con MapCarrier.

Sampling

EntornoRateSampler
Dev/staging100%AlwaysSample
Prod10%TraceIDRatioBased(0.1) + ParentBased
Errores/latencia alta100%Tail-based (Collector)

Tail-based requiere OTel Collector intermedio con policies: errors (status_code ERROR), slow (threshold_ms 1000), random (10%).

Correlación con Logs

Incluir trace_id + span_id en cada log line. Cloud Logging: logging.googleapis.com/trace → link directo en Cloud Trace UI.

Errores & Attributes

span.RecordError(err) + span.SetStatus(codes.Error, msg). Attributes OK: user.id, tenant.id, result.count, http.route. NO: email, password, tokens, contenido libre, responses completas de DB.

Link con Bugsnag: incluir trace_id en metadata del error → saltar desde Bugsnag a Cloud Trace.

Anti-patterns

  • Sampling 100% en prod → factura explosiva
  • Sin propagation → spans huérfanos
  • PII en attributes
  • Spans demasiado finos (cada helper) → overhead + ruido
  • Sin correlación con logs
  • Olvidar span.End() → memory leak
  • log.Printf("took %dms") en vez de spans
  • Instrumentar manual lo que auto-instrumentation ya cubre
  • Exportar directo sin Collector → no hay tail sampling ni filtro PII
  • traceparent no propagado en PubSub/Kafka
  • AlwaysSample en React web prod

Checklist

  • SDK OTel inicializado antes de cualquier dependencia
  • service.name + deployment.environment como resource attributes
  • Propagator: TraceContext + Baggage
  • Sampler: ParentBased(TraceIDRatioBased), 10% prod, 100% dev
  • HTTP server middleware (otelgin / auto-instr)
  • HTTP client wrapped (otelhttp / auto-instr)
  • DB driver wrapped (otelsql / Prisma instr)
  • PubSub/Kafka: inject/extract manual de traceparent
  • Logs incluyen trace_id + span_id
  • span.RecordError + SetStatus(Error) en paths de error
  • Shutdown limpio en SIGTERM
  • Sin PII en attributes (grep email|password|token)
  • Frontend samplea <=5%
  • Collector intermedio para tail-sampling en prod

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

日本語の概要は準備中です。原文の説明を表示しています。

SebastianLuser/claude-code-arcane32026年10月27日 更新

SebastianLuser のスキルをすべて見る

このスキルの問題を報告する