본문으로 건너뛰기
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 / 1,000자

이 양식은 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의 스킬 모두 보기

이 스킬의 문제 신고