/
otel_tracer.hrl
49 lines (34 loc) · 1.57 KB
/
otel_tracer.hrl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
%% macros for tracing
%% register a tracer for an application with opentelemetry:register_application_tracer(AppName)
-define(current_tracer, opentelemetry:get_tracer(?MODULE)).
-define(current_span_ctx, otel_tracer:current_span_ctx()).
-define(start_span(SpanName),
otel_tracer:start_span(?current_tracer, SpanName, #{})).
-define(start_span(SpanName, StartOpts),
otel_tracer:start_span(?current_tracer, SpanName, StartOpts)).
-define(with_span(SpanName, StartOpts, Fun),
otel_tracer:with_span(?current_tracer, SpanName, StartOpts, Fun)).
-define(set_current_span(SpanCtx),
otel_tracer:set_current_span(SpanCtx)).
%% use tracer call to ensure the current span is overwritten with
%% an ended (`is_recording' set to `false') is put in the context
-define(end_span(),
otel_tracer:end_span()).
-define(end_span(SpanCtx),
otel_span:end_span(SpanCtx)).
-define(is_recording(),
otel_span:is_recording(?current_span_ctx)).
-define(set_attribute(Key, Value),
otel_span:set_attribute(?current_span_ctx, Key, Value)).
-define(set_attributes(Attributes),
otel_span:set_attributes(?current_span_ctx, Attributes)).
-define(add_event(Event),
otel_span:add_event(?current_span_ctx, Event)).
-define(add_events(Events),
otel_span:add_events(?current_span_ctx, Events)).
-define(add_links(Links),
otel_span:add_links(?current_span_ctx, Links)).
-define(set_status(Status),
otel_span:set_status(?current_span_ctx, Status)).
-define(update_name(Name),
otel_span:update_name(?current_span_ctx, Name)).