From 4a90530431a8f88af142e90f6a18a1ca2cc6eaf8 Mon Sep 17 00:00:00 2001 From: Maxim Deb Natkh Date: Sun, 12 Jan 2025 22:22:10 +0000 Subject: [PATCH] issue-2831: dump iolog for fio_index mount_kikimr tests --- build/ext_mapping.conf.json | 2 +- .../tests/fio_index/mount-kikimr-test/test.py | 3 ++- .../core/tools/testing/fio/lib/__init__.py | 19 ++++++++++++++++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/build/ext_mapping.conf.json b/build/ext_mapping.conf.json index 44df0a680b1..347c836c436 100644 --- a/build/ext_mapping.conf.json +++ b/build/ext_mapping.conf.json @@ -5,7 +5,7 @@ "5074323334": "https://storage.eu-north1.nebius.cloud/nbs-oss-resources/rootfs-compressed.img", "4399070549": "https://storage.eu-north1.nebius.cloud/nbs-oss-resources/blockstore-plugin-stable-23-1.tar.gz", "3240550068": "https://storage.eu-north1.nebius.cloud/nbs-oss-resources/blockstore-plugin-stable-22-2.tar.gz", - "2326530962": "https://storage.eu-north1.nebius.cloud/nbs-oss-resources/fio-static.tgz", + "2326530962": "https://storage.eu-north1.nebius.cloud/nbs-oss-resources/fio-3.38-static.tgz", "4449551218": "https://storage.eu-north1.nebius.cloud/nbs-oss-resources/qemu-static.tgz", "3307630510": "https://storage.eu-north1.nebius.cloud/nbs-oss-resources/rootfs.img", "4556399018": "https://storage.eu-north1.nebius.cloud/nbs-oss-resources/virtiofs-server", diff --git a/cloud/filestore/tests/fio_index/mount-kikimr-test/test.py b/cloud/filestore/tests/fio_index/mount-kikimr-test/test.py index d8048e72b11..8cb400ffa18 100644 --- a/cloud/filestore/tests/fio_index/mount-kikimr-test/test.py +++ b/cloud/filestore/tests/fio_index/mount-kikimr-test/test.py @@ -13,4 +13,5 @@ def test_fio(name): mount_dir = get_filestore_mount_path() dir_name = fio.get_dir_name(mount_dir, name) - fio.run_index_test(dir_name, TESTS[name], fail_on_errors=True) + # TODO(#2831): remove this debug information + fio.run_index_test(dir_name, TESTS[name], fail_on_errors=True, verbose=True) diff --git a/cloud/storage/core/tools/testing/fio/lib/__init__.py b/cloud/storage/core/tools/testing/fio/lib/__init__.py index 7c5e36b8629..20fb7840831 100644 --- a/cloud/storage/core/tools/testing/fio/lib/__init__.py +++ b/cloud/storage/core/tools/testing/fio/lib/__init__.py @@ -175,12 +175,25 @@ def get_fio_cmd(self, fio_bin, file_name): cmd += ["--filename", file_name] return cmd - def get_index_fio_cmd(self, fio_bin, directory): + def get_index_fio_cmd(self, fio_bin, directory, verbose=False): cmd = self.get_common_fio_cmd(fio_bin) cmd += [ "--directory", directory, "--numjobs", str(self.numjobs) ] + if verbose: + cmd += [ + "--write_iolog", + os.path.join(common.output_path(), f"{self.name}.iolog"), + "--log_issue_time", + "1", + "--write_lat_log", + os.path.join(common.output_path(), f"{self.name}.lat.log"), + "--write_bw_log", + os.path.join(common.output_path(), f"{self.name}.bw.log"), + "--log_offset", + "1", + ] if self.fsync > 0: cmd += ["--fsync", str(self.fsync)] if self.fdatasync > 0: @@ -311,7 +324,7 @@ def run_test(file_name, test, fail_on_errors=False): return _execute_command(cmd, fail_on_errors) -def run_index_test(directory, test, fail_on_errors=False): +def run_index_test(directory, test, fail_on_errors=False, verbose=False): # fio lays out the test file using the job blocksize, which may exhaust the # run time limit, so do it ourselves logger.info("laying out files in directory " + directory) @@ -319,6 +332,6 @@ def run_index_test(directory, test, fail_on_errors=False): logger.info("laid out") fio_bin = _get_fio_bin() - cmd = test.get_index_fio_cmd(fio_bin, directory) + cmd = test.get_index_fio_cmd(fio_bin, directory, verbose) return _execute_command(cmd, fail_on_errors)