⚲
Project
General
Profile
Sign in
Register
Home
Projects
Documentation
Help
Search
:
Arvados
All Projects
Arvados
Activity
Roadmap
Backlogs
Issues
Wiki
Repository
Documentation
Download (1.11 KB)
Bug #10445
ยป leaktest.py
Tom Clegg
, 11/02/2016 03:32 PM
#!/usr/bin/env python
# usage:
# leaktest.py "default" iteration-count collection-uuid
# leaktest.py "workaround" iteration-count collection-uuid
import
arvados
import
os
import
resource
import
subprocess
import
sys
_
,
workaround
,
iterations
,
uuid
=
sys
.
argv
api
=
arvados
.
api
(
'v1'
)
if
workaround
==
'workaround'
:
print
"Using block_manager workaround"
block_manager
=
arvados
.
collection
.
CollectionReader
(
uuid
,
api_client
=
api
).
_my_block_manager
()
else
:
print
"Not using block_manager workaround"
block_manager
=
None
for
i
in
range
(
int
(
iterations
)):
print
"{}..."
.
format
(
i
+
1
),
sys
.
stdout
.
flush
()
cr
=
arvados
.
collection
.
CollectionReader
(
uuid
,
api_client
=
api
,
block_manager
=
block_manager
)
for
fn
in
cr
:
f
=
cr
.
open
(
fn
)
f
.
read
()
f
.
close
()
print
""
print
"Max RSS: {}"
.
format
(
resource
.
getrusage
(
resource
.
RUSAGE_SELF
).
ru_maxrss
)
conn
=
0
for
line
in
subprocess
.
check_output
([
'netstat'
,
'-pane'
],
stderr
=
open
(
os
.
devnull
,
'w'
)).
splitlines
():
if
line
.
find
(
str
(
os
.
getpid
())
+
"/python"
)
>=
0
:
conn
+=
1
print
"Network connections still open: {}"
.
format
(
conn
)
(1-1/1)
Loading...