Skip to content

Commit 6cb54ad

Browse files
authored
Merge pull request #2 from ms2892/add-benchmarks
Fixed static tests
2 parents 8606548 + 7444d78 commit 6cb54ad

File tree

3 files changed

+71
-58
lines changed

3 files changed

+71
-58
lines changed

benchmarks/benchmark_colors.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pystack.colors import *
1+
from pystack.colors import colored, format_colored
22

33
RANGE=100
44

@@ -9,7 +9,13 @@ def setup(self):
99

1010
def time_colored(self):
1111
colors = ["red","green","yellow","blue","magenta","cyan","white"]
12-
highlights = ["on_red","on_green","on_yellow","on_blue","on_magenta","on_cyan","on_white"]
12+
highlights = ["on_red",
13+
"on_green",
14+
"on_yellow",
15+
"on_blue",
16+
"on_magenta",
17+
"on_cyan",
18+
"on_white"]
1319
attributes = ["bold", "dark", "underline", "blink", "reverse", "concealed"]
1420
for counter in range(RANGE):
1521
for color in colors:

benchmarks/benchmark_maps.py

Lines changed: 56 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,23 @@ def time_simple_maps_no_such_pid():
3434

3535
def time_simple_maps():
3636
for i in range(RANGE):
37-
map_text = """
38-
7f1ac1e2b000-7f1ac1e50000 r--p 00000000 08:12 8398159 /usr/lib/libc-2.31.so
39-
"""
40-
41-
# WHEN
37+
map_text = (
38+
"7f1ac1e2b000-7f1ac1e50000 "
39+
"r--p "
40+
"00000000 08:12 8398159"
41+
" /usr/lib/libc-2.31.so"
42+
)
4243

4344
with patch("builtins.open", mock_open(read_data=map_text)):
4445
maps = list(generate_maps_for_process(1))
4546

4647
def time_maps_with_long_device_numbers():
4748
for i in range(RANGE):
48-
map_text = """
49-
7f1ac1e2b000-7f1ac1e50000 r--p 00000000 0123:4567 8398159 /usr/lib/libc-2.31.so
50-
"""
49+
map_text = (
50+
"7f1ac1e2b000-7f1ac1e50000 "
51+
"r--p 00000000 0123:4567 "
52+
"8398159 /usr/lib/libc-2.31.so"
53+
)
5154

5255
# WHEN
5356

@@ -69,23 +72,21 @@ def time_map_permissions():
6972
# GIVEN
7073
for i in range(RANGE):
7174
map_text = """
72-
7f1ac1e2b000-7f1ac1e50000 r--- 00000000 08:12 8398159 /usr/lib/libc-2.31.so
73-
7f1ac1e2b000-7f1ac1e50000 rw-- 00000000 08:12 8398159 /usr/lib/libc-2.31.so
74-
7f1ac1e2b000-7f1ac1e50000 rwx- 00000000 08:12 8398159 /usr/lib/libc-2.31.so
75-
7f1ac1e2b000-7f1ac1e50000 rwxp 00000000 08:12 8398159 /usr/lib/libc-2.31.so
75+
7f1ac1e2b000-7f1ac1e50000 r--- 00000000 08:12 8398159 /usr/lib/libc-2.31.so
76+
7f1ac1e2b000-7f1ac1e50000 rw-- 00000000 08:12 8398159 /usr/lib/libc-2.31.so
77+
7f1ac1e2b000-7f1ac1e50000 rwx- 00000000 08:12 8398159 /usr/lib/libc-2.31.so
78+
7f1ac1e2b000-7f1ac1e50000 rwxp 00000000 08:12 8398159 /usr/lib/libc-2.31.so
7679
"""
7780

78-
# WHEN
79-
8081
with patch("builtins.open", mock_open(read_data=map_text)):
8182
maps = list(generate_maps_for_process(1))
8283

8384
def time_unexpected_line_is_ignored():
8485
# GIVEN
8586
for i in range(RANGE):
8687
map_text = """
87-
I am an unexpected line
88-
7f1ac1e2b000-7f1ac1e50000 r--p 00000000 08:12 8398159 /usr/lib/libc-2.31.so
88+
I am an unexpected line
89+
7f1ac1e2b000-7f1ac1e50000 r--p 00000000 08:12 8398159 /usr/lib/libc-2.31.so
8990
"""
9091

9192
# WHEN
@@ -96,11 +97,11 @@ def time_unexpected_line_is_ignored():
9697
def time_special_maps():
9798
for i in range(RANGE):
9899
map_text = """
99-
555f1ab1c000-555f1ab3d000 rw-p 00000000 00:00 0 [heap]
100-
7ffdf8102000-7ffdf8124000 rw-p 00000000 00:00 0 [stack]
101-
7ffdf8152000-7ffdf8155000 r--p 00000000 00:00 0 [vvar]
102-
7ffdf8155000-7ffdf8156000 r-xp 00000000 00:00 0 [vdso]
103-
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]
100+
555f1ab1c000-555f1ab3d000 rw-p 00000000 00:00 0 [heap]
101+
7ffdf8102000-7ffdf8124000 rw-p 00000000 00:00 0 [stack]
102+
7ffdf8152000-7ffdf8155000 r--p 00000000 00:00 0 [vvar]
103+
7ffdf8155000-7ffdf8156000 r-xp 00000000 00:00 0 [vdso]
104+
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]
104105
"""
105106

106107
# WHEN
@@ -750,40 +751,40 @@ def time_maps_with_scattered_segments():
750751

751752
for i in range(RANGE):
752753
map_text = """
753-
00400000-00401000 r-xp 00000000 fd:00 67488961 /bin/python3.9-dbg
754-
00600000-00601000 r--p 00000000 fd:00 67488961 /bin/python3.9-dbg
755-
00601000-00602000 rw-p 00001000 fd:00 67488961 /bin/python3.9-dbg
756-
0067b000-00a58000 rw-p 00000000 00:00 0 [heap]
757-
7f7b38000000-7f7b38028000 rw-p 00000000 00:00 0
758-
7f7b38028000-7f7b3c000000 ---p 00000000 00:00 0
759-
7f7b40000000-7f7b40021000 rw-p 00000000 00:00 0
760-
7f7b40021000-7f7b44000000 ---p 00000000 00:00 0
761-
7f7b44ec0000-7f7b44f40000 rw-p 00000000 00:00 0
762-
f7b45a61000-7f7b45d93000 rw-p 00000000 00:00 0
763-
7f7b46014000-7f7b46484000 r--p 0050b000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
764-
7f7b46484000-7f7b46485000 ---p 00000000 00:00 0
765-
7f7b46485000-7f7b46cda000 rw-p 00000000 00:00 0
766-
7f7b46cda000-7f7b46d16000 r--p 00a3d000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
767-
7f7b46d16000-7f7b46d6f000 rw-p 00000000 00:00 0
768-
7f7b46d6f000-7f7b46d92000 r--p 00001000 fd:00 67488961 /bin/python3.9-dbg
769-
7f7b46d92000-7f7b46d93000 ---p 00000000 00:00 0
770-
7f7b46d93000-7f7b475d3000 rw-p 00000000 00:00 0
771-
7f7b498c1000-7f7b49928000 r-xp 00000000 fd:00 7023 /lib64/libssl.so.1.0.0
772-
7f7b49928000-7f7b49b28000 ---p 00067000 fd:00 7023 /lib64/libssl.so.1.0.0
773-
f7b4c632000-7f7b4c6f3000 rw-p 00000000 00:00 0
774-
7f7b4c6f3000-7f7b4c711000 rw-p 00000000 00:00 0
775-
7f7b4c711000-7f7b4c712000 r--p 0002a000 fd:00 67488961 /bin/python3.9-dbg
776-
7f7b4c712000-7f7b4c897000 rw-p 00000000 00:00 0
777-
7f7b5a356000-7f7b5a35d000 r--s 00000000 fd:00 201509519 /usr/lib64/gconv/gconv-modules.cache
778-
7f7b5a35d000-7f7b5a827000 r-xp 00000000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
779-
7f7b5a827000-7f7b5aa27000 ---p 004ca000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
780-
7f7b5aa27000-7f7b5aa2c000 r--p 004ca000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
781-
7f7b5aa2c000-7f7b5aa67000 rw-p 004cf000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
782-
7f7b5aa67000-7f7b5aa8b000 rw-p 00000000 00:00 0
783-
7fff26f8e000-7fff27020000 rw-p 00000000 00:00 0 [stack]
784-
7fff27102000-7fff27106000 r--p 00000000 00:00 0 [vvar]
785-
7fff27106000-7fff27108000 r-xp 00000000 00:00 0 [vdso]
786-
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
754+
00400000-00401000 r-xp 00000000 fd:00 67488961 /bin/python3.9-dbg
755+
00600000-00601000 r--p 00000000 fd:00 67488961 /bin/python3.9-dbg
756+
00601000-00602000 rw-p 00001000 fd:00 67488961 /bin/python3.9-dbg
757+
0067b000-00a58000 rw-p 00000000 00:00 0 [heap]
758+
7f7b38000000-7f7b38028000 rw-p 00000000 00:00 0
759+
7f7b38028000-7f7b3c000000 ---p 00000000 00:00 0
760+
7f7b40000000-7f7b40021000 rw-p 00000000 00:00 0
761+
7f7b40021000-7f7b44000000 ---p 00000000 00:00 0
762+
7f7b44ec0000-7f7b44f40000 rw-p 00000000 00:00 0
763+
f7b45a61000-7f7b45d93000 rw-p 00000000 00:00 0
764+
7f7b46014000-7f7b46484000 r--p 0050b000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
765+
7f7b46484000-7f7b46485000 ---p 00000000 00:00 0
766+
7f7b46485000-7f7b46cda000 rw-p 00000000 00:00 0
767+
7f7b46cda000-7f7b46d16000 r--p 00a3d000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
768+
7f7b46d16000-7f7b46d6f000 rw-p 00000000 00:00 0
769+
7f7b46d6f000-7f7b46d92000 r--p 00001000 fd:00 67488961 /bin/python3.9-dbg
770+
7f7b46d92000-7f7b46d93000 ---p 00000000 00:00 0
771+
7f7b46d93000-7f7b475d3000 rw-p 00000000 00:00 0
772+
7f7b498c1000-7f7b49928000 r-xp 00000000 fd:00 7023 /lib64/libssl.so.1.0.0
773+
7f7b49928000-7f7b49b28000 ---p 00067000 fd:00 7023 /lib64/libssl.so.1.0.0
774+
f7b4c632000-7f7b4c6f3000 rw-p 00000000 00:00 0
775+
7f7b4c6f3000-7f7b4c711000 rw-p 00000000 00:00 0
776+
7f7b4c711000-7f7b4c712000 r--p 0002a000 fd:00 67488961 /bin/python3.9-dbg
777+
7f7b4c712000-7f7b4c897000 rw-p 00000000 00:00 0
778+
7f7b5a356000-7f7b5a35d000 r--s 00000000 fd:00 201509519 /usr/lib64/gconv/gconv-modules.cache
779+
7f7b5a35d000-7f7b5a827000 r-xp 00000000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
780+
7f7b5a827000-7f7b5aa27000 ---p 004ca000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
781+
7f7b5aa27000-7f7b5aa2c000 r--p 004ca000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
782+
7f7b5aa2c000-7f7b5aa67000 rw-p 004cf000 fd:00 1059871 /lib64/libpython3.9d.so.1.0
783+
7f7b5aa67000-7f7b5aa8b000 rw-p 00000000 00:00 0
784+
7fff26f8e000-7fff27020000 rw-p 00000000 00:00 0 [stack]
785+
7fff27102000-7fff27106000 r--p 00000000 00:00 0 [vvar]
786+
7fff27106000-7fff27108000 r-xp 00000000 00:00 0 [vdso]
787+
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
787788
"""
788789

789790
# WHEN

benchmarks/benchmark_process.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
from pystack.process import *
1+
from pystack.process import (
2+
get_python_version_for_core,
3+
InvalidPythonProcess,
4+
get_python_version_for_process,
5+
scan_core_bss_for_python_version,
6+
scan_process_bss_for_python_version
7+
)
28
from pystack.maps import VirtualMap
39
from unittest.mock import Mock
410
from unittest.mock import mock_open

0 commit comments

Comments
 (0)