← Index
NYTProf Performance Profile   « line view »
For flows_to_es.pl
  Run on Mon May 9 23:27:59 2016
Reported on Mon May 9 23:28:09 2016

Filename/opt/flows/lib/lib/perl5/Search/Elasticsearch/Cxn/HTTPTiny.pm
StatementsExecuted 35 statements in 725µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11110.1ms11.3msSearch::Elasticsearch::Cxn::HTTPTiny::::BEGIN@8Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@8
11120µs103µsSearch::Elasticsearch::Cxn::HTTPTiny::::_build_handleSearch::Elasticsearch::Cxn::HTTPTiny::_build_handle
11116µs326µsSearch::Elasticsearch::Cxn::HTTPTiny::::BEGIN@3Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@3
1119µs194µsSearch::Elasticsearch::Cxn::HTTPTiny::::BEGIN@9Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@9
1117µs44µsSearch::Elasticsearch::Cxn::HTTPTiny::::__ANON__[:3]Search::Elasticsearch::Cxn::HTTPTiny::__ANON__[:3]
1112µs2µsSearch::Elasticsearch::Cxn::HTTPTiny::::CORE:qrSearch::Elasticsearch::Cxn::HTTPTiny::CORE:qr (opcode)
0000s0sSearch::Elasticsearch::Cxn::HTTPTiny::::error_from_textSearch::Elasticsearch::Cxn::HTTPTiny::error_from_text
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Search::Elasticsearch::Cxn::HTTPTiny;
21400ns$Search::Elasticsearch::Cxn::HTTPTiny::VERSION = '2.02';
3461µs3672µs
# spent 44µs (7+37) within Search::Elasticsearch::Cxn::HTTPTiny::__ANON__[/opt/flows/lib/lib/perl5/Search/Elasticsearch/Cxn/HTTPTiny.pm:3] which was called: # once (7µs+37µs) by import::into at line 34 of Import/Into.pm # spent 326µs (16+309) within Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@3 which was called: # once (16µs+309µs) by Module::Runtime::require_module at line 3
use Moo;
# spent 326µs making 1 call to Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@3 # spent 309µs making 1 call to Moo::import # spent 37µs making 1 call to strictures::import
411µs113.3mswith 'Search::Elasticsearch::Role::Cxn::HTTP',
# spent 13.3ms making 1 call to Moo::with
5 'Search::Elasticsearch::Role::Cxn',
6 'Search::Elasticsearch::Role::Is_Sync';
7
83158µs211.3ms
# spent 11.3ms (10.1+1.24) within Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@8 which was called: # once (10.1ms+1.24ms) by Module::Runtime::require_module at line 8
use HTTP::Tiny 0.043 ();
# spent 11.3ms making 1 call to Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@8 # spent 14µs making 1 call to UNIVERSAL::VERSION
92391µs2379µs
# spent 194µs (9+185) within Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@9 which was called: # once (9µs+185µs) by Module::Runtime::require_module at line 9
use namespace::clean;
# spent 194µs making 1 call to Search::Elasticsearch::Cxn::HTTPTiny::BEGIN@9 # spent 185µs making 1 call to namespace::clean::import
10
1116µs12µsmy $Cxn_Error = qr/ Connection.(?:timed.out|re(?:set|fused))
# spent 2µs making 1 call to Search::Elasticsearch::Cxn::HTTPTiny::CORE:qr
12 | connect:.timeout
13 | Host.is.down
14 | No.route.to.host
15 | temporarily.unavailable
16 /x;
17
18#===================================
19sub perform_request {
20#===================================
212800ns my ( $self, $params ) = @_;
2224µs2271µs my $uri = $self->build_uri($params);
# spent 271µs making 2 calls to Search::Elasticsearch::Role::Cxn::HTTP::build_uri, avg 136µs/call
2322µs my $method = $params->{method};
24
252400ns my %args;
2621µs if ( defined $params->{data} ) {
27 $args{content} = $params->{data};
28 $args{headers}{'Content-Type'} = $params->{mime_type};
29 }
30
3126µs2169µs my $handle = $self->handle;
# spent 169µs making 2 calls to Search::Elasticsearch::Cxn::HTTPTiny::handle, avg 85µs/call
32214µs354µs $handle->timeout( $params->{timeout} || $self->request_timeout );
# spent 53µs making 2 calls to HTTP::Tiny::timeout, avg 26µs/call # spent 2µs making 1 call to Search::Elasticsearch::Role::Cxn::request_timeout
33
34211µs44.39ms my $response = $handle->request( $method, "$uri", \%args );
# spent 4.39ms making 2 calls to HTTP::Tiny::request, avg 2.19ms/call # spent 4µs making 2 calls to URI::__ANON__[URI.pm:24], avg 2µs/call
35
36228µs286µs return $self->process_response(
# spent 86µs making 2 calls to Search::Elasticsearch::Cxn::HTTPTiny::process_response, avg 43µs/call
37 $params, # request
38 $response->{status}, # code
39 $response->{reason}, # msg
40 $response->{content}, # body
41 $response->{headers} # headers
42 );
43}
44
45#===================================
46sub error_from_text {
47#===================================
48 local $_ = $_[2];
49 return
50 /[Tt]imed out/ ? 'Timeout'
51 : /Unexpected end of stream/ ? 'ContentLength'
52 : /SSL connection failed/ ? 'SSL'
53 : /$Cxn_Error/ ? 'Cxn'
54 : 'Request';
55}
56
57#===================================
58
# spent 103µs (20+83) within Search::Elasticsearch::Cxn::HTTPTiny::_build_handle which was called: # once (20µs+83µs) by Search::Elasticsearch::Role::Cxn::HTTP::handle at line 13 of (eval 71)[Sub/Quote.pm:5]
sub _build_handle {
59#===================================
601200ns my $self = shift;
6116µs1700ns my %args = ( default_headers => $self->default_headers );
6215µs1600ns if ( $self->is_https && $self->has_ssl_options ) {
# spent 600ns making 1 call to Search::Elasticsearch::Role::Cxn::HTTP::is_https
63 $args{SSL_options} = $self->ssl_options;
64 if ( $args{SSL_options}{SSL_verify_mode} ) {
65 $args{verify_ssl} = 1;
66 }
67 }
68
69112µs282µs return HTTP::Tiny->new( %args, %{ $self->handle_args } );
# spent 81µs making 1 call to HTTP::Tiny::new # spent 800ns making 1 call to Search::Elasticsearch::Role::Cxn::handle_args
70}
71
7215µs1;
73
74# ABSTRACT: A Cxn implementation which uses HTTP::Tiny
75
76111µs1254µs__END__
 
# spent 2µs within Search::Elasticsearch::Cxn::HTTPTiny::CORE:qr which was called: # once (2µs+0s) by Module::Runtime::require_module at line 11
sub Search::Elasticsearch::Cxn::HTTPTiny::CORE:qr; # opcode