← 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/Role/Client/Direct/Main.pm
StatementsExecuted 32 statements in 672µs
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11129µs4.50msSearch::Elasticsearch::Role::Client::Direct::Main::::_build_namespaceSearch::Elasticsearch::Role::Client::Direct::Main::_build_namespace
11122µs15.9msSearch::Elasticsearch::Role::Client::Direct::Main::::bulk_helperSearch::Elasticsearch::Role::Client::Direct::Main::bulk_helper
11116µs324µsSearch::Elasticsearch::Role::Client::Direct::Main::::BEGIN@3Search::Elasticsearch::Role::Client::Direct::Main::BEGIN@3
11115µs13.9msSearch::Elasticsearch::Role::Client::Direct::Main::::_build_helperSearch::Elasticsearch::Role::Client::Direct::Main::_build_helper
11111µs13.9msSearch::Elasticsearch::Role::Client::Direct::Main::::_build__bulk_classSearch::Elasticsearch::Role::Client::Direct::Main::_build__bulk_class
1119µs269µsSearch::Elasticsearch::Role::Client::Direct::Main::::BEGIN@6Search::Elasticsearch::Role::Client::Direct::Main::BEGIN@6
1117µs42µsSearch::Elasticsearch::Role::Client::Direct::Main::::__ANON__[:3]Search::Elasticsearch::Role::Client::Direct::Main::__ANON__[:3]
1115µs4.50msSearch::Elasticsearch::Role::Client::Direct::Main::::_build_indicesSearch::Elasticsearch::Role::Client::Direct::Main::_build_indices
111800ns800nsSearch::Elasticsearch::Role::Client::Direct::Main::::bulk_helper_classSearch::Elasticsearch::Role::Client::Direct::Main::bulk_helper_class (xsub)
0000s0sSearch::Elasticsearch::Role::Client::Direct::Main::::_build__scroll_classSearch::Elasticsearch::Role::Client::Direct::Main::_build__scroll_class
0000s0sSearch::Elasticsearch::Role::Client::Direct::Main::::_build_catSearch::Elasticsearch::Role::Client::Direct::Main::_build_cat
0000s0sSearch::Elasticsearch::Role::Client::Direct::Main::::_build_clusterSearch::Elasticsearch::Role::Client::Direct::Main::_build_cluster
0000s0sSearch::Elasticsearch::Role::Client::Direct::Main::::_build_nodesSearch::Elasticsearch::Role::Client::Direct::Main::_build_nodes
0000s0sSearch::Elasticsearch::Role::Client::Direct::Main::::_build_snapshotSearch::Elasticsearch::Role::Client::Direct::Main::_build_snapshot
0000s0sSearch::Elasticsearch::Role::Client::Direct::Main::::_build_tasksSearch::Elasticsearch::Role::Client::Direct::Main::_build_tasks
0000s0sSearch::Elasticsearch::Role::Client::Direct::Main::::createSearch::Elasticsearch::Role::Client::Direct::Main::create
0000s0sSearch::Elasticsearch::Role::Client::Direct::Main::::scroll_helperSearch::Elasticsearch::Role::Client::Direct::Main::scroll_helper
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::Role::Client::Direct::Main;
21700ns$Search::Elasticsearch::Role::Client::Direct::Main::VERSION = '2.02';
3457µs3667µs
# spent 324µs (16+308) within Search::Elasticsearch::Role::Client::Direct::Main::BEGIN@3 which was called: # once (16µs+308µs) by Module::Runtime::require_module at line 3 # spent 42µs (7+35) within Search::Elasticsearch::Role::Client::Direct::Main::__ANON__[/opt/flows/lib/lib/perl5/Search/Elasticsearch/Role/Client/Direct/Main.pm:3] which was called: # once (7µs+35µs) by import::into at line 34 of Import/Into.pm
use Moo::Role;
# spent 324µs making 1 call to Search::Elasticsearch::Role::Client::Direct::Main::BEGIN@3 # spent 308µs making 1 call to Moo::Role::import # spent 35µs making 1 call to strictures::import
412µs112µsrequires '_namespace';
# spent 12µs making 1 call to Moo::Role::requires
5
62524µs2529µs
# spent 269µs (9+260) within Search::Elasticsearch::Role::Client::Direct::Main::BEGIN@6 which was called: # once (9µs+260µs) by Module::Runtime::require_module at line 6
use Search::Elasticsearch::Util qw(parse_params load_plugin is_compat);
7
812µs15.33mshas 'cluster' => ( is => 'lazy', init_arg => undef );
# spent 5.33ms making 1 call to Moo::Role::has
912µs1158µshas 'nodes' => ( is => 'lazy', init_arg => undef );
# spent 158µs making 1 call to Moo::Role::has
1011µs1155µshas 'indices' => ( is => 'lazy', init_arg => undef );
# spent 155µs making 1 call to Moo::Role::has
1111µs1154µshas 'snapshot' => ( is => 'lazy', init_arg => undef );
# spent 154µs making 1 call to Moo::Role::has
1212µs1155µshas 'cat' => ( is => 'lazy', init_arg => undef );
# spent 155µs making 1 call to Moo::Role::has
1312µs1158µshas 'tasks' => ( is => 'lazy', init_arg => undef );
# spent 158µs making 1 call to Moo::Role::has
1411µs1133µshas 'bulk_helper_class' => ( is => 'ro', default => 'Bulk' );
# spent 133µs making 1 call to Moo::Role::has
1511µs1117µshas 'scroll_helper_class' => ( is => 'ro', default => 'Scroll' );
# spent 117µs making 1 call to Moo::Role::has
1611µs1158µshas '_bulk_class' => ( is => 'lazy' );
# spent 158µs making 1 call to Moo::Role::has
1711µs1162µshas '_scroll_class' => ( is => 'lazy' );
# spent 162µs making 1 call to Moo::Role::has
18
19#===================================
20sub create {
21#===================================
22 my ( $self, $params ) = parse_params(@_);
23 my $defn = $self->api->{index};
24 $params->{op_type} = 'create';
25 $self->perform_request( { %$defn, name => 'create' }, $params );
26}
27
28#===================================
29
# spent 13.9ms (11µs+13.9) within Search::Elasticsearch::Role::Client::Direct::Main::_build__bulk_class which was called: # once (11µs+13.9ms) by Search::Elasticsearch::Role::Client::Direct::Main::_bulk_class at line 13 of (eval 110)[Sub/Quote.pm:5]
sub _build__bulk_class {
30#===================================
311300ns my $self = shift;
32111µs213.9ms $self->_build_helper( 'bulk', $self->bulk_helper_class );
33}
34
35#===================================
36sub _build__scroll_class {
37#===================================
38 my $self = shift;
39 $self->_build_helper( 'scroll', $self->scroll_helper_class );
40}
41
42#===================================
43
# spent 13.9ms (15µs+13.9) within Search::Elasticsearch::Role::Client::Direct::Main::_build_helper which was called: # once (15µs+13.9ms) by Search::Elasticsearch::Role::Client::Direct::Main::_build__bulk_class at line 32
sub _build_helper {
44#===================================
4511µs my ( $self, $name, $sub_class ) = @_;
4612µs113.9ms my $class = load_plugin( 'Search::Elasticsearch', $sub_class );
# spent 13.9ms making 1 call to Search::Elasticsearch::Util::load_plugin
4717µs226µs is_compat( $name . '_helper_class', $self->transport, $class );
# spent 25µs making 1 call to Search::Elasticsearch::Util::is_compat # spent 1µs making 1 call to Search::Elasticsearch::Role::Client::transport
4814µs return $class;
49}
50
51#===================================
52
# spent 15.9ms (22µs+15.8) within Search::Elasticsearch::Role::Client::Direct::Main::bulk_helper which was called: # once (22µs+15.8ms) by main::create_bulk at line 226 of flows_to_es.pl
sub bulk_helper {
53#===================================
5412µs16µs my ( $self, $params ) = parse_params(@_);
# spent 6µs making 1 call to Search::Elasticsearch::Util::parse_params
551700ns $params->{es} ||= $self;
5617µs21.86ms $self->_bulk_class->new($params);
# spent 1.51ms making 1 call to Search::Elasticsearch::Bulk::new # spent 353µs making 1 call to Search::Elasticsearch::Role::Client::Direct::Main::_bulk_class
57}
58
59#===================================
60sub scroll_helper {
61#===================================
62 my ( $self, $params ) = parse_params(@_);
63 $params->{es} ||= $self;
64 $self->_scroll_class->new($params);
65}
66
67#===================================
68sub _build_cluster { shift->_build_namespace('Cluster') }
69sub _build_nodes { shift->_build_namespace('Nodes') }
7015µs14.50ms
# spent 4.50ms (5µs+4.50) within Search::Elasticsearch::Role::Client::Direct::Main::_build_indices which was called: # once (5µs+4.50ms) by Search::Elasticsearch::Role::Client::Direct::Main::indices at line 13 of (eval 105)[Sub/Quote.pm:5]
sub _build_indices { shift->_build_namespace('Indices') }
71sub _build_snapshot { shift->_build_namespace('Snapshot') }
72sub _build_cat { shift->_build_namespace('Cat') }
73sub _build_tasks { shift->_build_namespace('Tasks') }
74#===================================
75
76#===================================
77
# spent 4.50ms (29µs+4.47) within Search::Elasticsearch::Role::Client::Direct::Main::_build_namespace which was called: # once (29µs+4.47ms) by Search::Elasticsearch::Role::Client::Direct::Main::_build_indices at line 70
sub _build_namespace {
78#===================================
791800ns my ( $self, $ns ) = @_;
8013µs23.72ms my $class = load_plugin( $self->_namespace, [$ns] );
# spent 3.72ms making 1 call to Search::Elasticsearch::Util::load_plugin # spent 800ns making 1 call to Search::Elasticsearch::Client::2_0::Direct::_namespace
81117µs3737µs return $class->new(
# spent 735µs making 1 call to Search::Elasticsearch::Client::2_0::Direct::Indices::new # spent 1µs making 1 call to Search::Elasticsearch::Role::Client::transport # spent 600ns making 1 call to Search::Elasticsearch::Role::Client::logger
82 { transport => $self->transport,
83 logger => $self->logger
84 }
85 );
86}
87
88112µs1;
89
90=pod
91
92=encoding UTF-8
93
94=head1 NAME
95
96Search::Elasticsearch::Role::Client::Direct::Main - Attributes and methods used by the top-level Direct::Client
97
98=head1 VERSION
99
100version 2.02
101
102=head1 DESCRIPTION
103
104Contains attributes and builders used to load client namespaces and helpers
105such as C<cluster()>, C<nodes()>, C<bulk_helper()> etc used by the
106top-level Direct::Client classes.
107
108=head1 AUTHOR
109
110Clinton Gormley <drtech@cpan.org>
111
112=head1 COPYRIGHT AND LICENSE
113
114This software is Copyright (c) 2016 by Elasticsearch BV.
115
116This is free software, licensed under:
117
118 The Apache License, Version 2.0, January 2004
119
120=cut
121
122__END__
 
# spent 800ns within Search::Elasticsearch::Role::Client::Direct::Main::bulk_helper_class which was called: # once (800ns+0s) by Search::Elasticsearch::Role::Client::Direct::Main::_build__bulk_class at line 32
sub Search::Elasticsearch::Role::Client::Direct::Main::bulk_helper_class; # xsub