Как спроектировать distributed tracing system на Go?

Senior
92 просмотров
AFK Offer AI

Каждый запрос получает trace ID, каждый hop — span ID. Span: operation name, start/end time, tags, parent span ID. Сбор: HTTP header propagation (traceparent), gRPC metadata. Reporter шлёт spans в collector (через UDP/gRPC). Collector агрегирует, хранит в Elasticsearch/ClickHouse. UI: waterfall view. Go: OpenTelemetry SDK, context propagation через context.Context.

Следующий вопрос

Какие основные паттерны unsafe.Pointer в Go?