Filename | /usr/local/lib/perl5/site_perl/Mail/SpamAssassin/Locker.pm |
Statements | Executed 181799 statements in 94525s |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
90888 | 1 | 1 | 4.32s | 94524s | jittery_one_second_sleep | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 42µs | 49µs | BEGIN@20 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 28µs | 1.39ms | BEGIN@24 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 20µs | 98µs | BEGIN@29 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 19µs | 40µs | BEGIN@21 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 19µs | 24µs | BEGIN@22 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 18µs | 66µs | BEGIN@23 | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 14µs | 14µs | new | Mail::SpamAssassin::Locker::
1 | 1 | 1 | 12µs | 12µ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 | 51µs | 2 | 56µs | # spent 49µs (42+7) within Mail::SpamAssassin::Locker::BEGIN@20 which was called:
# once (42µs+7µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 20 # spent 49µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@20
# spent 7µs making 1 call to strict::import |
21 | 2 | 50µs | 2 | 61µs | # spent 40µs (19+21) within Mail::SpamAssassin::Locker::BEGIN@21 which was called:
# once (19µs+21µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 21 # spent 40µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@21
# spent 21µs making 1 call to warnings::import |
22 | 2 | 50µs | 2 | 28µs | # spent 24µs (19+5) within Mail::SpamAssassin::Locker::BEGIN@22 which was called:
# once (19µs+5µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 22 # spent 24µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@22
# spent 5µs making 1 call to bytes::import |
23 | 2 | 50µs | 2 | 114µs | # spent 66µs (18+48) within Mail::SpamAssassin::Locker::BEGIN@23 which was called:
# once (18µs+48µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 23 # spent 66µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@23
# spent 48µs making 1 call to re::import |
24 | 2 | 60µs | 2 | 2.74ms | # spent 1.39ms (28µs+1.36) within Mail::SpamAssassin::Locker::BEGIN@24 which was called:
# once (28µs+1.36ms) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 24 # spent 1.39ms making 1 call to Mail::SpamAssassin::Locker::BEGIN@24
# spent 1.36ms making 1 call to Exporter::import |
25 | 2 | 48µ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 | 65µs | 1 | 12µs | # spent 12µs within Mail::SpamAssassin::Locker::BEGIN@27 which was called:
# once (12µs+0s) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 27 # spent 12µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@27 |
28 | |||||
29 | 1 | 2µs | # spent 98µs (20+78) within Mail::SpamAssassin::Locker::BEGIN@29 which was called:
# once (20µs+78µs) by Mail::SpamAssassin::Locker::UnixNFSSafe::BEGIN@26 at line 31 | ||
30 | @ISA | ||||
31 | 1 | 415µs | 2 | 176µs | }; # spent 98µs making 1 call to Mail::SpamAssassin::Locker::BEGIN@29
# spent 78µs making 1 call to vars::import |
32 | |||||
33 | 1 | 13µs | @ISA = qw(); | ||
34 | |||||
35 | ########################################################################### | ||||
36 | |||||
37 | # spent 14µs within Mail::SpamAssassin::Locker::new which was called:
# once (14µ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 | 2µs | my $self = { }; | ||
41 | 1 | 3µs | bless ($self, $class); | ||
42 | 1 | 11µ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 94524s (4.32+94519) within Mail::SpamAssassin::Locker::jittery_one_second_sleep which was called 90888 times, avg 1.04s/call:
# 90888 times (4.32s+94519s) by Mail::SpamAssassin::Locker::UnixNFSSafe::safe_lock at line 87 of Mail/SpamAssassin/Locker/UnixNFSSafe.pm, avg 1.04s/call | ||||
72 | 90888 | 293ms | my ($self) = @_; | ||
73 | 90888 | 94524s | 90888 | 94519s | Time::HiRes::sleep(rand(1.0) + 0.5); # spent 94519s making 90888 calls to Time::HiRes::sleep, avg 1.04s/call |
74 | } | ||||
75 | |||||
76 | ########################################################################### | ||||
77 | |||||
78 | 1 | 11µs | 1; |