From 5da02b19f3844aa3329a2cab6fdb9d71bfd14f70 Mon Sep 17 00:00:00 2001 From: Egor Lazarchuk Date: Thu, 6 Nov 2025 16:08:23 +0000 Subject: [PATCH 1/2] feat: use more informative bk labels Replace emoji driven labels in favour of simpler labels with more information in them. These labels will be used as names for saved BK results, so instead of simple UUID like "019a53c5-629b-40b1-86f0-a6d45e07aaf9" it will look like "virtio-block-sync-m6g.metal-al2023-linux_6.1". Signed-off-by: Egor Lazarchuk --- .buildkite/common.py | 8 +------- .buildkite/pipeline_perf.py | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/.buildkite/common.py b/.buildkite/common.py index fc74a32e65f..6c86e26487d 100644 --- a/.buildkite/common.py +++ b/.buildkite/common.py @@ -76,12 +76,6 @@ def group(label, command, instances, platforms, **kwargs): https://buildkite.com/docs/pipelines/group-step """ - # Use the 1st character of the group name (should be an emoji) - label1 = label[0] - # if the emoji is in the form ":emoji:", pick the entire slug - if label.startswith(":") and ":" in label[1:]: - label1 = label[: label.index(":", 1) + 1] - steps = [] commands = command if isinstance(command, str): @@ -92,7 +86,7 @@ def group(label, command, instances, platforms, **kwargs): args = {"instance": instance, "os": os_, "kv": kv} step = { "command": [cmd.format(**args) for cmd in commands], - "label": f"{label1} {instance} {os_} {kv}", + "label": f"{label}-{instance}-{os_}-{kv}", "agents": args, } step_kwargs = dict_fmt(kwargs, args) diff --git a/.buildkite/pipeline_perf.py b/.buildkite/pipeline_perf.py index 9d0b4fb207c..7903af760a3 100755 --- a/.buildkite/pipeline_perf.py +++ b/.buildkite/pipeline_perf.py @@ -17,23 +17,23 @@ # has to be the node associated with the NUMA node from which we picked CPUs. perf_test = { "virtio-block-sync": { - "label": "๐Ÿ’ฟ Virtio Sync Block Performance", + "label": "virtio-block-sync", "tests": "integration_tests/performance/test_block.py::test_block_performance -k 'not Async'", "devtool_opts": "-c 1-10 -m 0", }, "virtio-block-async": { - "label": "๐Ÿ’ฟ Virtio Async Block Performance", + "label": "virtio-block-async", "tests": "integration_tests/performance/test_block.py::test_block_performance -k Async", "devtool_opts": "-c 1-10 -m 0", }, "vhost-user-block": { - "label": "๐Ÿ’ฟ vhost-user Block Performance", + "label": "vhost-user-block", "tests": "integration_tests/performance/test_block.py::test_block_vhost_user_performance", "devtool_opts": "-c 1-10 -m 0", "ab_opts": "--noise-threshold 0.1", }, "network": { - "label": "๐Ÿ“  Network Latency and Throughput", + "label": "network", "tests": "integration_tests/performance/test_network.py", "devtool_opts": "-c 1-10 -m 0", # Triggers if delta is > 0.01ms (10ยตs) or default relative threshold (5%) @@ -41,37 +41,37 @@ "ab_opts": "--absolute-strength 0.010", }, "snapshot-latency": { - "label": "๐Ÿ“ธ Snapshot Latency", + "label": "snapshot-latency", "tests": "integration_tests/performance/test_snapshot.py::test_restore_latency integration_tests/performance/test_snapshot.py::test_post_restore_latency integration_tests/performance/test_snapshot.py::test_snapshot_create_latency", "devtool_opts": "-c 1-12 -m 0", }, "population-latency": { - "label": "๐Ÿ“ธ Memory Population Latency", + "label": "population-latency", "tests": "integration_tests/performance/test_snapshot.py::test_population_latency", "devtool_opts": "-c 1-12 -m 0", }, "vsock-throughput": { - "label": "๐Ÿงฆ Vsock Throughput", + "label": "vsock-throughput", "tests": "integration_tests/performance/test_vsock.py", "devtool_opts": "-c 1-10 -m 0", }, - "memory-overhead": { - "label": "๐Ÿ’พ Memory Overhead and ๐Ÿ‘ข Boottime", + "memory-overhead-and-boottime": { + "label": "memory-overhead-and-boottime", "tests": "integration_tests/performance/test_memory_overhead.py integration_tests/performance/test_boottime.py::test_boottime", "devtool_opts": "-c 1-10 -m 0", }, "jailer": { - "label": "โ›“๏ธ jailer", + "label": "jailer", "tests": "integration_tests/performance/test_jailer.py", "devtool_opts": "-c 1-10 -m 0", }, "pmem": { - "label": "๐Ÿ’ฟ Pmem Performance", + "label": "pmem", "tests": "integration_tests/performance/test_pmem.py", "devtool_opts": "-c 1-10 -m 0", }, "mmds": { - "label": ":information_source: MMDS", + "label": "mmds", "tests": "integration_tests/performance/test_mmds.py", "devtool_opts": "-c 1-10 -m 0", }, From f02f67e59ad8cd155f5a08297915456b0f506bfa Mon Sep 17 00:00:00 2001 From: Egor Lazarchuk Date: Fri, 7 Nov 2025 14:11:42 +0000 Subject: [PATCH 2/2] feat: split memory and boottime tests for BK Make so we run memory and boottime tests separately in BK. Signed-off-by: Egor Lazarchuk --- .buildkite/pipeline_perf.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.buildkite/pipeline_perf.py b/.buildkite/pipeline_perf.py index 7903af760a3..a64504cc99d 100755 --- a/.buildkite/pipeline_perf.py +++ b/.buildkite/pipeline_perf.py @@ -55,9 +55,14 @@ "tests": "integration_tests/performance/test_vsock.py", "devtool_opts": "-c 1-10 -m 0", }, - "memory-overhead-and-boottime": { - "label": "memory-overhead-and-boottime", - "tests": "integration_tests/performance/test_memory_overhead.py integration_tests/performance/test_boottime.py::test_boottime", + "memory-overhead": { + "label": "memory-overhead", + "tests": "integration_tests/performance/test_memory_overhead.py", + "devtool_opts": "-c 1-10 -m 0", + }, + "boottime": { + "label": "boottime", + "tests": "integration_tests/performance/test_boottime.py::test_boottime", "devtool_opts": "-c 1-10 -m 0", }, "jailer": {