Filename | /home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/Log/Any.pm |
Statements | Executed 22077 statements in 69.8ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
2003 | 3 | 2 | 64.9ms | 124ms | get_logger | Log::Any::
2003 | 1 | 1 | 5.56ms | 5.56ms | _get_proxy_class | Log::Any::
2003 | 1 | 1 | 2.64ms | 2.64ms | _manager | Log::Any::
1 | 1 | 1 | 661µs | 701µs | BEGIN@10 | Log::Any::
1 | 1 | 1 | 635µs | 887µs | BEGIN@11 | Log::Any::
2 | 1 | 1 | 12µs | 1.23ms | _export_to_caller | Log::Any::
1 | 1 | 1 | 10µs | 10µs | BEGIN@1 | CHI::Stats::
2 | 2 | 2 | 9µs | 1.24ms | import | Log::Any::
1 | 1 | 1 | 6µs | 7µs | BEGIN@2 | CHI::Stats::
1 | 1 | 1 | 5µs | 12µs | BEGIN@72 | Log::Any::
1 | 1 | 1 | 5µs | 12µs | BEGIN@63 | Log::Any::
1 | 1 | 1 | 5µs | 8µs | BEGIN@3.30 | CHI::Stats::
0 | 0 | 0 | 0s | 0s | set_adapter | Log::Any::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | 2 | 25µs | 1 | 10µs | # spent 10µs within CHI::Stats::BEGIN@1 which was called:
# once (10µs+0s) by CHI::Stats::BEGIN@5 at line 1 # spent 10µs making 1 call to CHI::Stats::BEGIN@1 |
2 | 2 | 12µs | 2 | 8µs | # spent 7µs (6+1) within CHI::Stats::BEGIN@2 which was called:
# once (6µs+1µs) by CHI::Stats::BEGIN@5 at line 2 # spent 7µs making 1 call to CHI::Stats::BEGIN@2
# spent 1µs making 1 call to strict::import |
3 | 2 | 28µs | 2 | 11µs | # spent 8µs (5+3) within CHI::Stats::BEGIN@3.30 which was called:
# once (5µs+3µs) by CHI::Stats::BEGIN@5 at line 3 # spent 8µs making 1 call to CHI::Stats::BEGIN@3.30
# spent 3µs making 1 call to warnings::import |
4 | |||||
5 | package Log::Any; | ||||
6 | |||||
7 | # ABSTRACT: Bringing loggers and listeners together | ||||
8 | 1 | 300ns | our $VERSION = '1.032'; | ||
9 | |||||
10 | 2 | 63µs | 1 | 701µs | # spent 701µs (661+39) within Log::Any::BEGIN@10 which was called:
# once (661µs+39µs) by CHI::Stats::BEGIN@5 at line 10 # spent 701µs making 1 call to Log::Any::BEGIN@10 |
11 | 1 | 4µs | 1 | 50µs | # spent 887µs (635+252) within Log::Any::BEGIN@11 which was called:
# once (635µs+252µs) by CHI::Stats::BEGIN@5 at line 19 # spent 50µs making 1 call to Exporter::import |
12 | require_dynamic | ||||
13 | detection_aliases | ||||
14 | detection_methods | ||||
15 | log_level_aliases | ||||
16 | logging_aliases | ||||
17 | logging_and_detection_methods | ||||
18 | logging_methods | ||||
19 | 1 | 188µs | 1 | 887µs | ); # spent 887µs making 1 call to Log::Any::BEGIN@11 |
20 | |||||
21 | # This is overridden in Log::Any::Test | ||||
22 | our $OverrideDefaultAdapterClass; | ||||
23 | our $OverrideDefaultProxyClass; | ||||
24 | |||||
25 | # singleton and accessor | ||||
26 | { | ||||
27 | 1 | 2µs | 1 | 3µs | my $manager = Log::Any::Manager->new(); # spent 3µs making 1 call to Log::Any::Manager::new |
28 | 2003 | 16.7ms | # spent 2.64ms within Log::Any::_manager which was called 2003 times, avg 1µs/call:
# 2003 times (2.64ms+0s) by Log::Any::get_logger at line 82, avg 1µs/call | ||
29 | } | ||||
30 | |||||
31 | 1 | 200ns | # spent 1.24ms (9µs+1.23) within Log::Any::import which was called 2 times, avg 621µs/call:
# once (4µs+1.23ms) by CHI::Stats::BEGIN@5 at line 5 of CHI/Stats.pm
# once (5µs+4µs) by Log::Any::Adapter::BEGIN@10 at line 10 of Log/Any/Adapter.pm | ||
32 | 2 | 500ns | my $class = shift; | ||
33 | 2 | 1µs | my $caller = caller(); | ||
34 | |||||
35 | 2 | 2µs | my @export_params = ( $caller, @_ ); | ||
36 | 2 | 8µs | 2 | 1.23ms | $class->_export_to_caller(@export_params); # spent 1.23ms making 2 calls to Log::Any::_export_to_caller, avg 616µs/call |
37 | } | ||||
38 | |||||
39 | # spent 1.23ms (12µs+1.22) within Log::Any::_export_to_caller which was called 2 times, avg 616µs/call:
# 2 times (12µs+1.22ms) by Log::Any::import at line 36, avg 616µs/call | ||||
40 | 2 | 300ns | my $class = shift; | ||
41 | 2 | 500ns | my $caller = shift; | ||
42 | |||||
43 | # Parse parameters passed to 'use Log::Any' | ||||
44 | 2 | 800ns | my $saw_log_param; | ||
45 | my @params; | ||||
46 | 2 | 2µs | while ( my $param = shift @_ ) { | ||
47 | 1 | 300ns | if ( $param eq '$log' ) { | ||
48 | 1 | 200ns | $saw_log_param = 1; # defer until later | ||
49 | 1 | 400ns | next; # singular | ||
50 | } | ||||
51 | else { | ||||
52 | push @params, $param, shift @_; # pairwise | ||||
53 | } | ||||
54 | } | ||||
55 | |||||
56 | 2 | 2µs | unless ( @params % 2 == 0 ) { | ||
57 | require Carp; | ||||
58 | Carp::croak("Argument list not balanced: @params"); | ||||
59 | } | ||||
60 | |||||
61 | # get logger if one was requested | ||||
62 | 2 | 4µs | if ($saw_log_param) { | ||
63 | 2 | 52µs | 2 | 20µs | # spent 12µs (5+7) within Log::Any::BEGIN@63 which was called:
# once (5µs+7µs) by CHI::Stats::BEGIN@5 at line 63 # spent 12µs making 1 call to Log::Any::BEGIN@63
# spent 7µs making 1 call to strict::unimport |
64 | 1 | 700ns | 1 | 1.22ms | my $proxy = $class->get_logger( category => $caller, @params ); # spent 1.22ms making 1 call to Log::Any::get_logger |
65 | 1 | 400ns | my $varname = "$caller\::log"; | ||
66 | 1 | 2µs | *$varname = \$proxy; | ||
67 | } | ||||
68 | } | ||||
69 | |||||
70 | # spent 124ms (64.9+59.5) within Log::Any::get_logger which was called 2003 times, avg 62µs/call:
# 1001 times (32.3ms+30.2ms) by Search::Elasticsearch::Logger::LogAny::_build_trace_handle at line 28 of Search/Elasticsearch/Logger/LogAny.pm, avg 62µs/call
# 1001 times (32.6ms+28.1ms) by Search::Elasticsearch::Logger::LogAny::_build_log_handle at line 18 of Search/Elasticsearch/Logger/LogAny.pm, avg 61µs/call
# once (13µs+1.21ms) by Log::Any::_export_to_caller at line 64 | ||||
71 | 2003 | 3.19ms | my ( $class, %params ) = @_; | ||
72 | 2 | 112µs | 2 | 19µs | # spent 12µs (5+7) within Log::Any::BEGIN@72 which was called:
# once (5µs+7µs) by CHI::Stats::BEGIN@5 at line 72 # spent 12µs making 1 call to Log::Any::BEGIN@72
# spent 7µs making 1 call to warnings::unimport |
73 | |||||
74 | 2003 | 5.72ms | 2003 | 5.56ms | my $proxy_class = $class->_get_proxy_class( delete $params{proxy_class} ); # spent 5.56ms making 2003 calls to Log::Any::_get_proxy_class, avg 3µs/call |
75 | my $category = | ||||
76 | 2003 | 2.67ms | defined $params{category} ? delete $params{'category'} : caller; | ||
77 | |||||
78 | 2003 | 1.10ms | if ( my $default = delete $params{'default_adapter'} ) { | ||
79 | $class->_manager->set_default( $category, $default ); | ||||
80 | } | ||||
81 | |||||
82 | 2003 | 8.33ms | 4006 | 11.2ms | my $adapter = $class->_manager->get_adapter( $category ); # spent 8.51ms making 2003 calls to Log::Any::Manager::get_adapter, avg 4µs/call
# spent 2.64ms making 2003 calls to Log::Any::_manager, avg 1µs/call |
83 | |||||
84 | 2003 | 3.96ms | 2003 | 18.3ms | require_dynamic($proxy_class); # spent 18.3ms making 2003 calls to Log::Any::Adapter::Util::require_dynamic, avg 9µs/call |
85 | 2003 | 14.5ms | 2003 | 24.5ms | return $proxy_class->new( # spent 24.5ms making 2003 calls to Log::Any::Proxy::new, avg 12µs/call |
86 | %params, adapter => $adapter, category => $category, | ||||
87 | ); | ||||
88 | } | ||||
89 | |||||
90 | # spent 5.56ms within Log::Any::_get_proxy_class which was called 2003 times, avg 3µs/call:
# 2003 times (5.56ms+0s) by Log::Any::get_logger at line 74, avg 3µs/call | ||||
91 | 2003 | 920µs | my ( $self, $proxy_name ) = @_; | ||
92 | 2003 | 924µs | return $Log::Any::OverrideDefaultProxyClass | ||
93 | if $Log::Any::OverrideDefaultProxyClass; | ||||
94 | 2003 | 11.4ms | return "Log::Any::Proxy" unless $proxy_name; | ||
95 | my $proxy_class = ( | ||||
96 | substr( $proxy_name, 0, 1 ) eq '+' | ||||
97 | ? substr( $proxy_name, 1 ) | ||||
98 | : "Log::Any::Proxy::$proxy_name" | ||||
99 | ); | ||||
100 | return $proxy_class; | ||||
101 | } | ||||
102 | |||||
103 | # For backward compatibility | ||||
104 | sub set_adapter { | ||||
105 | my $class = shift; | ||||
106 | Log::Any->_manager->set(@_); | ||||
107 | } | ||||
108 | |||||
109 | 1 | 3µs | 1; | ||
110 | |||||
111 | __END__ |