Commit 776411e0 authored by Jérome Perrin's avatar Jérome Perrin

erp5/test/benchmarks: support running on NEO

parent 9718ecf0
Pipeline #30445 failed with stage
...@@ -162,19 +162,22 @@ class TestOrderBuildPackingListSimulation( ...@@ -162,19 +162,22 @@ class TestOrderBuildPackingListSimulation(
zope_count = len(zope_memory_info_list) zope_count = len(zope_memory_info_list)
# Database size # Database size
root_fs = pathlib.Path( if self.isNEO():
self.getComputerPartitionPath('zodb')) / 'srv' / 'zodb' / 'root.fs' root_fs_size = zeo_root_stats = 'N/A'
root_fs_size = root_fs.stat().st_size else:
root_fs = pathlib.Path(
self.getComputerPartitionPath('zodb')) / 'srv' / 'zodb' / 'root.fs'
root_fs_size = root_fs.stat().st_size
# ZEO stats ( using ruok protocol https://github.com/zopefoundation/ZEO/commit/d5082536 ) # ZEO stats ( using ruok protocol https://github.com/zopefoundation/ZEO/commit/d5082536 )
with contextlib.closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s: with contextlib.closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as s:
s.connect((self._ipv4_address, 2100)) s.connect((self._ipv4_address, 2100))
s.sendall(b'\x00\x00\x00\x04ruok') s.sendall(b'\x00\x00\x00\x04ruok')
_ = s.recv(struct.unpack(">I", s.recv(4))[0]) _ = s.recv(struct.unpack(">I", s.recv(4))[0])
zeo_stats = json.loads(s.recv(struct.unpack(">I", s.recv(4))[0])) zeo_stats = json.loads(s.recv(struct.unpack(">I", s.recv(4))[0]))
# we are supposed to have only one storage with name "root" # we are supposed to have only one storage with name "root"
zeo_root_stats = zeo_stats.pop('root') zeo_root_stats = zeo_stats.pop('root')
assert not zeo_stats assert not zeo_stats
self.logger.info( self.logger.info(
"Measurements for %s (after %s): " "Measurements for %s (after %s): "
...@@ -255,16 +258,17 @@ class TestOrderBuildPackingListSimulation( ...@@ -255,16 +258,17 @@ class TestOrderBuildPackingListSimulation(
self.take_measurements(f"iteration_{i+1:03}") self.take_measurements(f"iteration_{i+1:03}")
# final measurements, take a "zodb analyze" snapshot # final measurements, take a "zodb analyze" snapshot
zodb_cmd = pathlib.Path( if not self.isNEO():
self.computer_partition_root_path zodb_cmd = pathlib.Path(
) / 'software_release' / 'bin' / 'zodb' self.computer_partition_root_path
root_fs = pathlib.Path( ) / 'software_release' / 'bin' / 'zodb'
self.getComputerPartitionPath('zodb')) / 'srv' / 'zodb' / 'root.fs' root_fs = pathlib.Path(
self.write_measurement( self.getComputerPartitionPath('zodb')) / 'srv' / 'zodb' / 'root.fs'
{ self.write_measurement(
'zodb analyze': {
subprocess.check_output((zodb_cmd, 'analyze', root_fs), text=True) 'zodb analyze':
}) subprocess.check_output((zodb_cmd, 'analyze', root_fs), text=True)
})
# and a pt-query-digest for slow log # and a pt-query-digest for slow log
pt_query_digest = pathlib.Path( pt_query_digest = pathlib.Path(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment