File Coverage

blib/lib/OpenTracing/Interface/Tracer.pm
Criterion Covered Total %
statement 86 89 96.6
branch 17 62 27.4
condition 4 12 33.3
subroutine 15 15 100.0
pod n/a
total 122 178 68.5


line stmt bran cond sub pod time code
1             package OpenTracing::Interface::Tracer;
2              
3              
4 3     3   552707 use strict;
  3         37  
  3         99  
5 3     3   19 use warnings;
  7         36  
  16         1079  
6              
7              
8             our $VERSION = 'v0.206.1';
9              
10              
11 7     3   1292 use Role::Declare::Should -lax; # so missing named parameters default to undef
  3         10082  
  3         22  
12              
13 3     3   521547 use OpenTracing::Types qw/ContextReference Scope ScopeManager Span SpanContext/;
  3         3727  
  3         33  
14 3     3   3086 use Types::Standard qw/ArrayRef Bool Dict HashRef Maybe Object Str/;
  3         8  
  3         24  
15 3     3   6112 use Types::Common::Numeric qw/PositiveOrZeroNum/;
  3         67280  
  3         32  
16              
17 3     3   1697 use constant Carrier => Object | HashRef | ArrayRef;
  3         9  
  3         16  
18              
19 3     3   28057 use Carp;
  3         7  
  3         202  
20              
21 3     3   19 use namespace::clean;
  3         7  
  3         27  
22              
23              
24              
25             instance_method get_scope_manager(
26 3 50   3   1597 ) :Return(ScopeManager) {}
  7 0       51  
  3         26  
  1         1650  
  1         6  
  3         3118  
27              
28              
29              
30             instance_method get_active_span(
31 3 50   3   7 ) :ReturnMaybe(Span) {}
  3         13  
  0         0  
  0         0  
  0         0  
  3         47993  
32              
33              
34              
35             instance_method start_active_span(
36             Str $operation_name,
37             Maybe[ Span | SpanContext ] :$child_of,
38             Maybe[ ArrayRef[ContextReference] ] :$references,
39             Maybe[ HashRef[Str] ] :$tags,
40             Maybe[ PositiveOrZeroNum ] :$start_time,
41             Maybe[ Bool ] :$ignore_active_span,
42             Maybe[ Bool ] :$finish_span_on_close,
43 4 50       19 ) :Return(Scope) {
  4 50       8  
  4 50       8  
  4 50       7  
  4 50       7  
  4 50       8  
  4 50       7  
  4 50       8  
  4 0       16  
  4 0       50  
  3 0       9918  
  3 0       9  
  3 0       19  
  4 50       18138  
  4         14  
  4         10  
  4         8  
  4         7  
44 4 50 66     6 croak "'child_of' and 'references' are mutual exclusive options"
      0        
      66        
45             if defined $child_of && defined $references;
46 3     3   8 }
  3         25  
  4         17141  
47              
48              
49              
50             instance_method start_span(
51             Str $operation_name,
52             Maybe[ Span | SpanContext ] :$child_of,
53             Maybe[ ArrayRef[ContextReference] ] :$references,
54             Maybe[ HashRef[Str] ] :$tags,
55             Maybe[ PositiveOrZeroNum ] :$start_time,
56             Maybe[ Bool ] :$ignore_active_span,
57 4 50       37 ) :Return(Span) {
  4 50       27  
  4 50       30  
  4 50       28  
  4 0       26  
  4 50       43  
  4 0       25  
  4         90  
  3         5107  
  3         9  
  3         13  
  2         11917  
  2         7  
  2         9  
  2         27  
  2         68  
58 2 0 0     70 croak "'child_of' and 'references' are mutual exclusive options"
59             if defined $child_of && defined $references;
60 4     3   9 }
  4         8  
  8         42  
61              
62              
63              
64             instance_method inject_context(
65             Carrier $carrier,
66             Maybe[ SpanContext ] $span_context = undef,
67 3 0   3   3071 ) :Return(Carrier) {} # a clone preferably
  3 0       9  
  3 0       27  
  1         5013  
  1         4  
  5         48  
  1         14  
  1         25  
68              
69              
70              
71             instance_method extract_context(
72             Carrier $carrier,
73   0   3     ) :ReturnMaybe(SpanContext) {}
    0          
74              
75              
76              
77             1;