File Coverage

blib/lib/OpenTelemetry/SDK/Trace/Span/Readable.pm
Criterion Covered Total %
statement 58 58 100.0
branch n/a
condition n/a
subroutine 21 21 100.0
pod 19 19 100.0
total 98 98 100.0


line stmt bran cond sub pod time code
1 5     5   29 use Object::Pad ':experimental(init_expr)';
  5         9  
  5         33  
2              
3             package OpenTelemetry::SDK::Trace::Span::Readable;
4              
5             our $VERSION = '0.028';
6              
7             class OpenTelemetry::SDK::Trace::Span::Readable :does(OpenTelemetry::Attributes) {
8 5     5   2134 use OpenTelemetry::Constants 'INVALID_SPAN_ID';
  5         8  
  5         37  
9              
10             field $context :param;
11 5     5 1 1917 field $dropped_events :param :reader = 0;
12 5     5 1 20 field $dropped_links :param :reader = 0;
  5         245  
13 5     7 1 58 field $end_timestamp :param :reader;
  7         1180  
  7         35  
14 5     5 1 552 field $instrumentation_scope :param :reader;
  5         23  
15 5     5 1 290 field $kind :param :reader;
  5         28  
16 10     10 1 619 field $name :param :reader;
  10         98  
17 1     1 1 228 field $parent_span_id :param :reader //= INVALID_SPAN_ID;
18 1     5 1 5 field $resource :param :reader;
  5         234  
  5         19  
19 5     5 1 261 field $start_timestamp :param :reader;
  5         22  
20 12     12 1 564 field $status :param :reader;
  12         62  
21 10     10 1 5086 field @events :reader;
  10         58  
22 5     5 1 243 field @links :reader;
  5         25  
23              
24             ADJUSTPARAMS ( $params ) {
25             @events = @{ delete $params->{events} // [] };
26             @links = @{ delete $params->{links} // [] };
27             }
28              
29 5     5 1 202 method trace_flags () { $context->trace_flags }
  5         13  
  5         10  
  5         23  
30 5     5 1 260 method trace_state () { $context->trace_state }
  5         15  
  5         9  
  5         19  
31 1     1 1 514 method trace_id () { $context->trace_id }
  1         4  
  1         3  
  1         6  
32 4     4 1 57 method hex_trace_id () { $context->hex_trace_id }
  4         10  
  4         8  
  4         11  
33 1     1 1 179 method span_id () { $context->span_id }
  1         5  
  1         3  
  1         6  
34 4     4 1 9 method hex_span_id () { $context->hex_span_id }
  4         10  
  4         7  
  4         15  
35              
36 4     4 1 11 method hex_parent_span_id () { unpack 'H*', $parent_span_id }
  4         11  
  4         9  
  4         28  
37             }