Filename | /home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/Search/Elasticsearch/Util.pm |
Statements | Executed 89108 statements in 189ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
7008 | 3 | 3 | 64.7ms | 618ms | load_plugin | Search::Elasticsearch::Util::
4004 | 4 | 4 | 23.1ms | 23.1ms | parse_params | Search::Elasticsearch::Util::
2002 | 2 | 1 | 18.4ms | 73.9ms | is_compat | Search::Elasticsearch::Util::
7008 | 1 | 1 | 9.33ms | 9.33ms | CORE:subst (opcode) | Search::Elasticsearch::Util::
3003 | 3 | 2 | 8.78ms | 8.78ms | to_list | Search::Elasticsearch::Util::
1 | 1 | 1 | 611µs | 652µs | BEGIN@4 | Search::Elasticsearch::Util::
1 | 1 | 1 | 9µs | 699µs | BEGIN@3 | Search::Elasticsearch::Util::
1 | 1 | 1 | 8µs | 32µs | BEGIN@5 | Search::Elasticsearch::Util::
1 | 1 | 1 | 7µs | 26µs | BEGIN@6 | Search::Elasticsearch::Util::
1 | 1 | 1 | 7µs | 261µs | BEGIN@7 | Search::Elasticsearch::Util::
0 | 0 | 0 | 0s | 0s | new_error | Search::Elasticsearch::Util::
0 | 0 | 0 | 0s | 0s | throw | Search::Elasticsearch::Util::
0 | 0 | 0 | 0s | 0s | upgrade_error | Search::Elasticsearch::Util::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Search::Elasticsearch::Util; | ||||
2 | 1 | 300ns | $Search::Elasticsearch::Util::VERSION = '5.01'; | ||
3 | 2 | 23µs | 2 | 1.39ms | # spent 699µs (9+689) within Search::Elasticsearch::Util::BEGIN@3 which was called:
# once (9µs+689µs) by Search::Elasticsearch::BEGIN@5 at line 3 # spent 699µs making 1 call to Search::Elasticsearch::Util::BEGIN@3
# spent 689µs making 1 call to Moo::import |
4 | 2 | 175µs | 1 | 652µs | # spent 652µs (611+42) within Search::Elasticsearch::Util::BEGIN@4 which was called:
# once (611µs+42µs) by Search::Elasticsearch::BEGIN@5 at line 4 # spent 652µs making 1 call to Search::Elasticsearch::Util::BEGIN@4 |
5 | 2 | 21µs | 2 | 55µs | # spent 32µs (8+24) within Search::Elasticsearch::Util::BEGIN@5 which was called:
# once (8µs+24µs) by Search::Elasticsearch::BEGIN@5 at line 5 # spent 32µs making 1 call to Search::Elasticsearch::Util::BEGIN@5
# spent 24µs making 1 call to Exporter::import |
6 | 2 | 26µs | 2 | 44µs | # spent 26µs (7+18) within Search::Elasticsearch::Util::BEGIN@6 which was called:
# once (7µs+18µs) by Search::Elasticsearch::BEGIN@5 at line 6 # spent 26µs making 1 call to Search::Elasticsearch::Util::BEGIN@6
# spent 18µs making 1 call to Module::Runtime::import |
7 | 1 | 7µs | 1 | 253µs | # spent 261µs (7+253) within Search::Elasticsearch::Util::BEGIN@7 which was called:
# once (7µs+253µs) by Search::Elasticsearch::BEGIN@5 at line 18 # spent 253µs making 1 call to Sub::Exporter::__ANON__[Sub/Exporter.pm:337] |
8 | exports => [ qw( | ||||
9 | parse_params | ||||
10 | to_list | ||||
11 | load_plugin | ||||
12 | new_error | ||||
13 | throw | ||||
14 | upgrade_error | ||||
15 | is_compat | ||||
16 | ) | ||||
17 | ] | ||||
18 | 1 | 254µs | 1 | 261µs | }; # spent 261µs making 1 call to Search::Elasticsearch::Util::BEGIN@7 |
19 | |||||
20 | #=================================== | ||||
21 | # spent 8.78ms within Search::Elasticsearch::Util::to_list which was called 3003 times, avg 3µs/call:
# 1001 times (3.60ms+0s) by Search::Elasticsearch::Logger::LogAny::_build_trace_handle at line 25 of Search/Elasticsearch/Logger/LogAny.pm, avg 4µs/call
# 1001 times (3.30ms+0s) by Search::Elasticsearch::Role::CxnPool::__ANON__[/home/ss5/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/Search/Elasticsearch/Role/CxnPool.pm:33] at line 27 of Search/Elasticsearch/Role/CxnPool.pm, avg 3µs/call
# 1001 times (1.88ms+0s) by Search::Elasticsearch::Logger::LogAny::_build_log_handle at line 15 of Search/Elasticsearch/Logger/LogAny.pm, avg 2µs/call | ||||
22 | #=================================== | ||||
23 | 3003 | 22.7ms | grep {defined} ref $_[0] eq 'ARRAY' ? @{ $_[0] } : @_; | ||
24 | } | ||||
25 | |||||
26 | #=================================== | ||||
27 | # spent 23.1ms within Search::Elasticsearch::Util::parse_params which was called 4004 times, avg 6µs/call:
# 1001 times (7.63ms+0s) by Search::Elasticsearch::new at line 31 of Search/Elasticsearch.pm, avg 8µs/call
# 1001 times (6.14ms+0s) by Search::Elasticsearch::Role::Transport::tidy_request at line 29 of Search/Elasticsearch/Role/Transport.pm, avg 6µs/call
# 1001 times (5.02ms+0s) by Search::Elasticsearch::Cxn::Factory::BUILDARGS at line 15 of Search/Elasticsearch/Cxn/Factory.pm, avg 5µs/call
# 1001 times (4.29ms+0s) by Search::Elasticsearch::Role::Cxn::BUILDARGS at line 62 of Search/Elasticsearch/Role/Cxn.pm, avg 4µs/call | ||||
28 | #=================================== | ||||
29 | 4004 | 1.25ms | my $self = shift; | ||
30 | 4004 | 1.07ms | my %params; | ||
31 | 4004 | 3.90ms | if ( @_ % 2 ) { | ||
32 | 2002 | 1.43ms | throw( | ||
33 | "Param", | ||||
34 | 'Expecting a HASH ref or a list of key-value pairs', | ||||
35 | { params => \@_ } | ||||
36 | ) unless ref $_[0] eq 'HASH'; | ||||
37 | 2002 | 4.47ms | %params = %{ shift() }; | ||
38 | } | ||||
39 | else { | ||||
40 | 2002 | 4.17ms | %params = @_; | ||
41 | } | ||||
42 | 4004 | 28.9ms | return ( $self, \%params ); | ||
43 | } | ||||
44 | |||||
45 | #=================================== | ||||
46 | # spent 618ms (64.7+553) within Search::Elasticsearch::Util::load_plugin which was called 7008 times, avg 88µs/call:
# 6006 times (58.5ms+422ms) by Search::Elasticsearch::new at line 40 of Search/Elasticsearch.pm, avg 80µs/call
# 1001 times (6.16ms+128ms) by Search::Elasticsearch::Cxn::Factory::BUILDARGS at line 20 of Search/Elasticsearch/Cxn/Factory.pm, avg 134µs/call
# once (8µs+2.48ms) by Search::Elasticsearch::Role::Client::Direct::_build_namespace at line 149 of Search/Elasticsearch/Role/Client/Direct.pm | ||||
47 | #=================================== | ||||
48 | 7008 | 1.87ms | my ( $base, $spec ) = @_; | ||
49 | 7008 | 2.59ms | $spec ||= "+$base"; | ||
50 | 7008 | 20.5ms | 7008 | 4.39ms | return $spec if blessed $spec; # spent 4.39ms making 7008 calls to Scalar::Util::blessed, avg 626ns/call |
51 | |||||
52 | 7008 | 1.21ms | my ( $class, $version ); | ||
53 | 7008 | 2.86ms | if ( ref $spec eq 'ARRAY' ) { | ||
54 | ( $class, $version ) = @$spec; | ||||
55 | } | ||||
56 | else { | ||||
57 | 7007 | 1.45ms | $class = $spec; | ||
58 | } | ||||
59 | |||||
60 | 7008 | 24.0ms | 11014 | 192ms | unless ( $class =~ s/\A\+// ) { # spent 183ms making 4006 calls to Module::Runtime::compose_module_name, avg 46µs/call
# spent 9.33ms making 7008 calls to Search::Elasticsearch::Util::CORE:subst, avg 1µs/call |
61 | $class = compose_module_name( $base, $class ); | ||||
62 | } | ||||
63 | |||||
64 | 7008 | 46.8ms | 7008 | 357ms | $version ? use_module( $class, $version ) : use_module($class); # spent 357ms making 7008 calls to Module::Runtime::use_module, avg 51µs/call |
65 | } | ||||
66 | |||||
67 | #=================================== | ||||
68 | sub throw { | ||||
69 | #=================================== | ||||
70 | my ( $type, $msg, $vars ) = @_; | ||||
71 | die Search::Elasticsearch::Error->new( $type, $msg, $vars, 1 ); | ||||
72 | } | ||||
73 | |||||
74 | #=================================== | ||||
75 | sub new_error { | ||||
76 | #=================================== | ||||
77 | my ( $type, $msg, $vars ) = @_; | ||||
78 | return Search::Elasticsearch::Error->new( $type, $msg, $vars, 1 ); | ||||
79 | } | ||||
80 | |||||
81 | #=================================== | ||||
82 | sub upgrade_error { | ||||
83 | #=================================== | ||||
84 | my ( $error, $vars ) = @_; | ||||
85 | return | ||||
86 | ref($error) && $error->isa('Search::Elasticsearch::Error') | ||||
87 | ? $error | ||||
88 | : Search::Elasticsearch::Error->new( "Internal", $error, $vars || {}, | ||||
89 | 1 ); | ||||
90 | } | ||||
91 | |||||
92 | #=================================== | ||||
93 | # spent 73.9ms (18.4+55.5) within Search::Elasticsearch::Util::is_compat which was called 2002 times, avg 37µs/call:
# 1001 times (14.3ms+28.5ms) by Search::Elasticsearch::Role::Transport::BUILD at line 21 of Search/Elasticsearch/Role/Transport.pm, avg 43µs/call
# 1001 times (4.03ms+27.0ms) by Search::Elasticsearch::Role::Transport::BUILD at line 22 of Search/Elasticsearch/Role/Transport.pm, avg 31µs/call | ||||
94 | #=================================== | ||||
95 | 2002 | 990µs | my ( $attr, $one, $two ) = @_; | ||
96 | 2002 | 4.77ms | 2002 | 40.0ms | my $role # spent 40.0ms making 2001 calls to Moo::Role::does_role, avg 20µs/call
# spent 20µs making 1 call to Moo::Object::does |
97 | = $one->does('Search::Elasticsearch::Role::Is_Sync') | ||||
98 | ? 'Search::Elasticsearch::Role::Is_Sync' | ||||
99 | : 'Search::Elasticsearch::Role::Is_Async'; | ||||
100 | |||||
101 | 4004 | 13.3ms | 2002 | 15.5ms | return if eval { $two->does($role); }; # spent 15.5ms making 2002 calls to Moo::Role::does_role, avg 8µs/call |
102 | my $class = ref($two) || $two; | ||||
103 | die "$attr ($class) does not do $role"; | ||||
104 | } | ||||
105 | |||||
106 | 1 | 3µs | 1; | ||
107 | |||||
108 | # ABSTRACT: A utility class for internal use by Search::Elasticsearch | ||||
109 | |||||
110 | __END__ | ||||
# spent 9.33ms within Search::Elasticsearch::Util::CORE:subst which was called 7008 times, avg 1µs/call:
# 7008 times (9.33ms+0s) by Search::Elasticsearch::Util::load_plugin at line 60, avg 1µs/call |