Filename | /usr/local/lib/perl5/site_perl/Mail/SpamAssassin/Locker.pm |
Statements | Executed 33 statements in 5.64s |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
5 | 1 | 1 | 298µs | 5.64s | jittery_one_second_sleep | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 47µs | 60µs | BEGIN@20 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 34µs | 34µs | new | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 29µs | 2.50ms | BEGIN@24 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 28µs | 113µs | BEGIN@29 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 24µs | 29µs | BEGIN@22 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 19µs | 49µs | BEGIN@21 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 19µs | 91µs | BEGIN@23 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 16µs | 16µs | BEGIN@27 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 12µs | 12µs | BEGIN@25 | Mail::SpamAssassin::Locker::
0 | 0 | 0 | 0s | 0s | refresh_lock | Mail::SpamAssassin::Locker::
0 | 0 | 0 | 0s | 0s | safe_lock | Mail::SpamAssassin::Locker::
0 | 0 | 0 | 0s | 0s | safe_unlock | Mail::SpamAssassin::Locker::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | # <@LICENSE> | ||||
2 | # Licensed to the Apache Software Foundation (ASF) under one or more | ||||
3 | # contributor license agreements. See the NOTICE file distributed with | ||||
4 | # this work for additional information regarding copyright ownership. | ||||
5 | # The ASF licenses this file to you under the Apache License, Version 2.0 | ||||
6 | # (the "License"); you may not use this file except in compliance with | ||||
7 | # the License. You may obtain a copy of the License at: | ||||
8 | # | ||||
9 | # http://www.apache.org/licenses/LICENSE-2.0 | ||||
10 | # | ||||
11 | # Unless required by applicable law or agreed to in writing, software | ||||
12 | # distributed under the License is distributed on an "AS IS" BASIS, | ||||
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
14 | # See the License for the specific language governing permissions and | ||||
15 | # limitations under the License. | ||||
16 | # </@LICENSE> | ||||
17 | |||||
18 | package Mail::SpamAssassin::Locker; | ||||
19 | |||||
20 | 2 | 62µs | 2 | 74µs | # spent 60µs (47+13) within Mail::SpamAssassin::Locker::BEGIN@20 which was called:
# once (47µs+13µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 20 # spent 60µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@20
# spent 13µs making 1 call to strict::import |
21 | 2 | 66µs | 2 | 79µs | # spent 49µs (19+30) within Mail::SpamAssassin::Locker::BEGIN@21 which was called:
# once (19µs+30µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 21 # spent 49µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@21
# spent 30µs making 1 call to warnings::import |
22 | 2 | 71µs | 2 | 34µs | # spent 29µs (24+5) within Mail::SpamAssassin::Locker::BEGIN@22 which was called:
# once (24µs+5µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 22 # spent 29µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@22
# spent 5µs making 1 call to bytes::import |
23 | 2 | 64µs | 2 | 163µs | # spent 91µs (19+72) within Mail::SpamAssassin::Locker::BEGIN@23 which was called:
# once (19µs+72µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 23 # spent 91µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@23
# spent 72µs making 1 call to re::import |
24 | 2 | 65µs | 2 | 4.97ms | # spent 2.50ms (29µs+2.47) within Mail::SpamAssassin::Locker::BEGIN@24 which was called:
# once (29µs+2.47ms) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 24 # spent 2.50ms making 1 call to Mail::SpamAssassin::Locker::BEGIN@24
# spent 2.47ms making 1 call to Exporter::import |
25 | 2 | 60µs | 1 | 12µs | # spent 12µs within Mail::SpamAssassin::Locker::BEGIN@25 which was called:
# once (12µs+0s) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 25 # spent 12µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@25 |
26 | |||||
27 | 2 | 70µs | 1 | 16µs | # spent 16µs within Mail::SpamAssassin::Locker::BEGIN@27 which was called:
# once (16µs+0s) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 27 # spent 16µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@27 |
28 | |||||
29 | 1 | 2µs | # spent 113µs (28+86) within Mail::SpamAssassin::Locker::BEGIN@29 which was called:
# once (28µs+86µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 31 | ||
30 | @ISA | ||||
31 | 1 | 440µs | 2 | 199µs | }; # spent 113µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@29
# spent 86µs making 1 call to vars::import |
32 | |||||
33 | 1 | 13µs | @ISA = qw(); | ||
34 | |||||
35 | ########################################################################### | ||||
36 | |||||
37 | # spent 34µs within Mail::SpamAssassin::Locker::new which was called:
# once (34µs+0s) by Mail::SpamAssassin::Locker::UnixNFSSafe::new at line 43 of Mail/SpamAssassin/Locker/UnixNFSSafe.pm | ||||
38 | 1 | 2µs | my $class = shift; | ||
39 | 1 | 2µs | $class = ref($class) || $class; | ||
40 | 1 | 13µs | my $self = { }; | ||
41 | 1 | 12µs | bless ($self, $class); | ||
42 | 1 | 18µs | $self; | ||
43 | } | ||||
44 | |||||
45 | ########################################################################### | ||||
46 | |||||
47 | sub safe_lock { | ||||
48 | my ($self, $path, $max_retries, $mode) = @_; | ||||
49 | # max_retries is optional, should default to about 30 | ||||
50 | # mode is UNIX-style and optional, should default to 0700, | ||||
51 | # callers must specify --x bits | ||||
52 | die "locker: safe_lock not implemented by Locker subclass"; | ||||
53 | } | ||||
54 | |||||
55 | ########################################################################### | ||||
56 | |||||
57 | sub safe_unlock { | ||||
58 | my ($self, $path) = @_; | ||||
59 | die "locker: safe_unlock not implemented by Locker subclass"; | ||||
60 | } | ||||
61 | |||||
62 | ########################################################################### | ||||
63 | |||||
64 | sub refresh_lock { | ||||
65 | my ($self, $path) = @_; | ||||
66 | die "locker: refresh_lock not implemented by Locker subclass"; | ||||
67 | } | ||||
68 | |||||
69 | ########################################################################### | ||||
70 | |||||
71 | # spent 5.64s (298µs+5.64) within Mail::SpamAssassin::Locker::jittery_one_second_sleep which was called 5 times, avg 1.13s/call:
# 5 times (298µs+5.64s) by Mail::SpamAssassin::Locker::UnixNFSSafe::safe_unlock at line 206 of Mail/SpamAssassin/Locker/UnixNFSSafe.pm, avg 1.13s/call | ||||
72 | 5 | 26µs | my ($self) = @_; | ||
73 | 5 | 5.64s | 5 | 5.64s | Time::HiRes::sleep(rand(1.0) + 0.5); # spent 5.64s making 5 calls to Time::HiRes::sleep, avg 1.13s/call |
74 | } | ||||
75 | |||||
76 | ########################################################################### | ||||
77 | |||||
78 | 1 | 9µs | 1; |