| Filename | /home/micha/.plenv/versions/5.38.2/lib/perl5/site_perl/5.38.2/Test2/Event/V2.pm |
| Statements | Executed 41 statements in 472µs |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 595µs | 1.71ms | Test2::Event::V2::BEGIN@12 |
| 1 | 1 | 1 | 24µs | 28µs | Test2::Event::V2::facet_data |
| 1 | 1 | 1 | 11µs | 12µs | Test2::Event::V2::BEGIN@2 |
| 1 | 1 | 1 | 7µs | 11µs | Test2::Event::V2::init |
| 1 | 1 | 1 | 6µs | 6µs | Test2::Event::V2::BEGIN@10 |
| 1 | 1 | 1 | 6µs | 40µs | Test2::Event::V2::BEGIN@17 |
| 1 | 1 | 1 | 4µs | 21µs | Test2::Event::V2::BEGIN@7 |
| 1 | 1 | 1 | 4µs | 20µs | Test2::Event::V2::BEGIN@3 |
| 1 | 1 | 1 | 3µs | 15µs | Test2::Event::V2::BEGIN@8 |
| 1 | 1 | 1 | 1µs | 1µs | Test2::Event::V2::non_facet_keys |
| 0 | 0 | 0 | 0s | 0s | Test2::Event::V2::set_uuid |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package Test2::Event::V2; | ||||
| 2 | 2 | 20µs | 2 | 14µs | # spent 12µs (11+2) within Test2::Event::V2::BEGIN@2 which was called:
# once (11µs+2µs) by Test::Builder::BEGIN@18 at line 2 # spent 12µs making 1 call to Test2::Event::V2::BEGIN@2
# spent 2µs making 1 call to strict::import |
| 3 | 2 | 27µs | 2 | 37µs | # spent 20µs (4+17) within Test2::Event::V2::BEGIN@3 which was called:
# once (4µs+17µs) by Test::Builder::BEGIN@18 at line 3 # spent 20µs making 1 call to Test2::Event::V2::BEGIN@3
# spent 17µs making 1 call to warnings::import |
| 4 | |||||
| 5 | 1 | 300ns | our $VERSION = '1.302198'; | ||
| 6 | |||||
| 7 | 2 | 16µs | 2 | 37µs | # spent 21µs (4+17) within Test2::Event::V2::BEGIN@7 which was called:
# once (4µs+17µs) by Test::Builder::BEGIN@18 at line 7 # spent 21µs making 1 call to Test2::Event::V2::BEGIN@7
# spent 17µs making 1 call to Exporter::import |
| 8 | 2 | 29µs | 2 | 27µs | # spent 15µs (3+12) within Test2::Event::V2::BEGIN@8 which was called:
# once (3µs+12µs) by Test::Builder::BEGIN@18 at line 8 # spent 15µs making 1 call to Test2::Event::V2::BEGIN@8
# spent 12µs making 1 call to Exporter::import |
| 9 | |||||
| 10 | 2 | 24µs | 1 | 6µs | # spent 6µs within Test2::Event::V2::BEGIN@10 which was called:
# once (6µs+0s) by Test::Builder::BEGIN@18 at line 10 # spent 6µs making 1 call to Test2::Event::V2::BEGIN@10 |
| 11 | |||||
| 12 | 1 | 5µs | 1 | 45µs | # spent 1.71ms (595µs+1.11) within Test2::Event::V2::BEGIN@12 which was called:
# once (595µs+1.11ms) by Test::Builder::BEGIN@18 at line 15 # spent 45µs making 1 call to Exporter::import |
| 13 | causes_fail diagnostics global increments_count no_display sets_plan | ||||
| 14 | subtest_id summary terminate | ||||
| 15 | 1 | 82µs | 1 | 1.71ms | }; # spent 1.71ms making 1 call to Test2::Event::V2::BEGIN@12 |
| 16 | |||||
| 17 | 2 | 234µs | 2 | 74µs | # spent 40µs (6+35) within Test2::Event::V2::BEGIN@17 which was called:
# once (6µs+35µs) by Test::Builder::BEGIN@18 at line 17 # spent 40µs making 1 call to Test2::Event::V2::BEGIN@17
# spent 34µs making 1 call to Test2::Util::HashBase::import |
| 18 | |||||
| 19 | # spent 1µs within Test2::Event::V2::non_facet_keys which was called:
# once (1µs+0s) by Test2::Event::V2::facet_data at line 58 | ||||
| 20 | return ( | ||||
| 21 | 1 | 2µs | +UUID, | ||
| 22 | Test2::Util::ExternalMeta::META_KEY(), | ||||
| 23 | ); | ||||
| 24 | } | ||||
| 25 | |||||
| 26 | # spent 11µs (7+4) within Test2::Event::V2::init which was called:
# once (7µs+4µs) by Test2::Util::HashBase::_new at line 155 of Test2/Util/HashBase.pm | ||||
| 27 | 1 | 300ns | my $self = shift; | ||
| 28 | |||||
| 29 | 1 | 400ns | my $uuid; | ||
| 30 | 1 | 2µs | if ($uuid = $self->{+UUID}) { | ||
| 31 | croak "uuid '$uuid' passed to constructor, but uuid '$self->{+ABOUT}->{uuid}' is already set in the 'about' facet" | ||||
| 32 | if $self->{+ABOUT}->{uuid} && $self->{+ABOUT}->{uuid} ne $uuid; | ||||
| 33 | |||||
| 34 | $self->{+ABOUT}->{uuid} = $uuid; | ||||
| 35 | } | ||||
| 36 | elsif ($self->{+ABOUT} && $self->{+ABOUT}->{uuid}) { | ||||
| 37 | $uuid = $self->{+ABOUT}->{uuid}; | ||||
| 38 | $self->SUPER::set_uuid($uuid); | ||||
| 39 | } | ||||
| 40 | |||||
| 41 | # Clone the trace, make sure it is blessed | ||||
| 42 | 1 | 4µs | 1 | 0s | if (my $trace = $self->{+TRACE}) { # spent 4µs making 1 call to Test2::Util::HashBase::_new, recursion: max depth 1, sum of overlapping time 4µs |
| 43 | $self->{+TRACE} = Test2::EventFacet::Trace->new(%$trace); | ||||
| 44 | } | ||||
| 45 | } | ||||
| 46 | |||||
| 47 | sub set_uuid { | ||||
| 48 | my $self = shift; | ||||
| 49 | my ($uuid) = @_; | ||||
| 50 | $self->{+ABOUT}->{uuid} = $uuid; | ||||
| 51 | $self->SUPER::set_uuid($uuid); | ||||
| 52 | } | ||||
| 53 | |||||
| 54 | # spent 28µs (24+4) within Test2::Event::V2::facet_data which was called:
# once (24µs+4µs) by Test2::Hub::process at line 343 of Test2/Hub.pm | ||||
| 55 | 1 | 400ns | my $self = shift; | ||
| 56 | 1 | 1µs | my $f = { %{$self} }; | ||
| 57 | |||||
| 58 | 1 | 3µs | 1 | 1µs | delete $f->{$_} for $self->non_facet_keys; # spent 1µs making 1 call to Test2::Event::V2::non_facet_keys |
| 59 | |||||
| 60 | 1 | 200ns | my %out; | ||
| 61 | 1 | 1µs | for my $k (keys %$f) { | ||
| 62 | 4 | 2µs | next if substr($k, 0, 1) eq '_'; | ||
| 63 | |||||
| 64 | 3 | 700ns | my $data = $f->{$k} or next; # Key is there, but no facet | ||
| 65 | 3 | 6µs | 3 | 2µs | my $is_list = 'ARRAY' eq (reftype($data) || ''); # spent 2µs making 3 calls to Scalar::Util::reftype, avg 600ns/call |
| 66 | 3 | 6µs | $out{$k} = $is_list ? [ map { {%{$_}} } @$data ] : {%$data}; | ||
| 67 | } | ||||
| 68 | |||||
| 69 | 1 | 2µs | 1 | 1µs | if (my $meta = $self->meta_facet_data) { # spent 1µs making 1 call to Test2::Event::meta_facet_data |
| 70 | $out{meta} = {%$meta, %{$out{meta} || {}}}; | ||||
| 71 | } | ||||
| 72 | |||||
| 73 | 1 | 2µs | return \%out; | ||
| 74 | } | ||||
| 75 | |||||
| 76 | 1 | 2µs | 1; | ||
| 77 | |||||
| 78 | __END__ |