Nginx OTel module.

This commit is contained in:
Pavel Pautov 2022-11-29 00:17:12 -08:00 committed by dplotnikov-f5
parent a0389d8296
commit 3430e85c34
8 changed files with 1042 additions and 0 deletions

25
src/trace_context.hpp Normal file
View file

@ -0,0 +1,25 @@
#pragma once
#include <opentelemetry/trace/trace_id.h>
#include <opentelemetry/trace/span_id.h>
#include <opentelemetry/sdk/trace/random_id_generator.h>
#include "str_view.hpp"
struct TraceContext {
opentelemetry::trace::TraceId traceId;
opentelemetry::trace::SpanId spanId;
bool sampled;
StrView state;
static TraceContext generate(bool sampled, TraceContext parent = {})
{
opentelemetry::sdk::trace::RandomIdGenerator idGen;
return {parent.traceId.IsValid() ?
parent.traceId : idGen.GenerateTraceId(),
idGen.GenerateSpanId(),
sampled,
parent.state};
}
};