File Coverage

blib/lib/OpenTracing/Interface/Span.pm
Criterion Covered Total %
statement 21 21 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 28 28 100.0


line stmt bran cond sub pod time code
1             package OpenTracing::Interface::Span;
2              
3 3     3   572692 use strict;
  3         37  
  3         93  
4 3     3   42 use warnings;
  3         6  
  3         192  
5              
6              
7             our $VERSION = '0.20';
8              
9              
10 3     3   1460 use Role::MethodReturns;
  3         446861  
  3         22  
11              
12 3     3   24017 use OpenTracing::Types qw/SpanContext/;
  3         4297  
  3         37  
13 3     3   1582 use Types::Standard qw/ Str Value HashRef ArrayRef/;
  3         9  
  3         18  
14 3     3   5025 use Types::Common::Numeric qw/PositiveNum/;
  3         67155  
  3         36  
15              
16 3     3   2832 use namespace::clean;
  3         20749  
  3         30  
17              
18              
19             around get_context => instance_method ( ) {
20            
21             returns( SpanContext,
22             $original->( $instance => ( ) )
23             )
24            
25             };
26              
27              
28              
29             around overwrite_operation_name => instance_method ( Str $operation_name ) {
30            
31             returns_self( $instance,
32             $original->( $instance => ( $operation_name ) )
33             )
34            
35             };
36              
37              
38              
39             around finish => instance_method ( @time_stamps ) {
40            
41             ( ArrayRef[PositiveNum, 0, 1 ] )->assert_valid( \@time_stamps );
42             #
43             # a bit narly construct, but otherwise we might have accidently introduced
44             # `undef` as an argument, where there used to be none!
45            
46             returns_self( $instance,
47             $original->( $instance => ( @time_stamps ) )
48             )
49            
50             };
51              
52              
53              
54             around set_tag => instance_method ( Str $key, Value $value ) {
55            
56             returns_self( $instance,
57             $original->( $instance => ( $key, $value ) )
58             )
59            
60             };
61              
62              
63              
64             around log_data => instance_method ( @log_data ) {
65            
66             ( HashRef[ Value ] )->assert_valid( { @log_data } );
67            
68             returns_self( $instance,
69             $original->( $instance => ( @log_data ) )
70             )
71            
72             };
73              
74              
75              
76             around set_baggage_item => instance_method ( Str $key, Value $value, ) {
77            
78             returns_self( $instance,
79             $original->( $instance => ( $key, $value ) )
80             )
81            
82             };
83              
84              
85              
86             around get_baggage_item => instance_method ( Str $key ) {
87            
88             returns_maybe ( Value,
89             $original->( $instance => ( $key ) )
90             )
91            
92             };
93              
94              
95              
96             1;