34 lines
1023 B
Erlang
34 lines
1023 B
Erlang
|
-module(opentelemetry_aws_xray_SUITE).
|
||
|
|
||
|
-compile(export_all).
|
||
|
-compile(nowarn_export_all).
|
||
|
|
||
|
-include_lib("common_test/include/ct.hrl").
|
||
|
-include_lib("stdlib/include/assert.hrl").
|
||
|
|
||
|
all() ->
|
||
|
[generate_trace_id_should_be_xray_compatible, generate_span_id_should_be_default].
|
||
|
|
||
|
generate_trace_id_should_be_xray_compatible(_Config) ->
|
||
|
MaxAge = 60 * 60 * 24 * 28,
|
||
|
MaxSkew = 60 * 5,
|
||
|
|
||
|
TraceId = otel_aws_xray_id_generator:generate_trace_id(),
|
||
|
EncodedTraceId = binary:encode_unsigned(TraceId),
|
||
|
|
||
|
EpochNow = os:system_time(second),
|
||
|
|
||
|
% The Trace id should have 128 bits (16 bytes)
|
||
|
?assertEqual(16, byte_size(EncodedTraceId)),
|
||
|
|
||
|
% The first 4 bytes is the epoch
|
||
|
Epoch = binary:decode_unsigned(binary:part(EncodedTraceId, 0, 4)),
|
||
|
Delta = EpochNow - Epoch,
|
||
|
|
||
|
?assertEqual(false, (Delta > MaxAge) or (Delta < -MaxSkew)).
|
||
|
|
||
|
generate_span_id_should_be_default(_Config) ->
|
||
|
SpanId = otel_aws_xray_id_generator:generate_span_id(),
|
||
|
|
||
|
?assertEqual(8, byte_size(binary:encode_unsigned(SpanId))).
|