Procedure
Run the following command on any node in the cluster. This creates a live session, begins collecting data from chunk services, and outputs the results in real time to the console. The following two output formats are supported:
text: Outputs the parsed trace logs directly.io_pattern: Counts the number of I/O operations for each I/O size per second. Outputs the top 20 values.zbs-perf-tools trace live_trace [--trace_time <time>] [--output_type <type>]
| Parameter | Description |
|---|---|
--trace_time <time> | The duration of data collection. Default: 10s. Maximum: 600s. |
--output_type <type> | The output type. Options: text or io_pattern. Default: text. |
Press Ctrl + C to stop data collection.
Output example
$zbs-perf-tools trace live_trace
live session started...
[17:43:45.136861534] (+?.?????????) zbs17-73 chunk:zbs_client_io_size: { cpu_id = 2 }, { volume_id = 0x55C2E2ABED40, op = 5, len = 12288, offset = 10548602003456 }
[17:43:45.136958065] (+0.000096531) zbs17-73 chunk:zbs_client_io_size: { cpu_id = 2 }, { volume_id = 0x55C2E2B597C0, op = 5, len = 12288, offset = 10548107517952 }
[17:43:45.137670669] (+0.000712604) zbs17-73 chunk:zbs_client_io_size: { cpu_id = 2 }, { volume_id = 0x55C2E2AC2540, op = 5, len = 8192, offset = 10659264245760 }$zbs-perf-tools trace live_trace --output_type io_pattern
timestamp: 2023-07-28 17:46:29.105326112 +0800 CST m=+9.508150252
IO PATTERN
------------------
I/O SIZE COUNT
------------------
4096 15038
512 3841
8192 3009
12288 844
16384 476
20480 220
49152 154
32768 152
24576 145
28672 138
40960 137
65536 132
2048 132
45056 102
36864 88
53248 72
1024 66
131072 62
57344 59
61440 41
------------------