-
Notifications
You must be signed in to change notification settings - Fork 305
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Features: telemetry Required-githooks: true Signed-off-by: Michael MacDonald <[email protected]>
- Loading branch information
Showing
4 changed files
with
125 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
""" | ||
(C) Copyright 2024 Intel Corporation. | ||
SPDX-License-Identifier: BSD-2-Clause-Patent | ||
""" | ||
from ior_utils import read_data, write_data | ||
from telemetry_test_base import TestWithClientTelemetry | ||
from telemetry_utils import CLIENT_DFS_IO_METRICS, CLIENT_DFS_OPS_METRICS | ||
Check failure on line 8 in src/tests/ftest/telemetry/dfs_client_telemetry.py GitHub Actions / Pylint check
|
||
|
||
|
||
class DFSClientTelemetry(TestWithClientTelemetry): | ||
"""Tests to verify DFS telemetry. | ||
:avocado: recursive | ||
""" | ||
|
||
def test_dfs_metrics(self): | ||
"""JIRA ID: DAOS-16837. | ||
Verify that the DFS metrics are incrementing as expected. | ||
After performing some I/O, the DFS-level metrics should look reasonable. | ||
Test steps: | ||
1) Create a pool and container | ||
2) Perform some I/O with IOR | ||
3) Verify that the DFS metrics are sane | ||
:avocado: tags=all,daily_regression | ||
:avocado: tags=vm | ||
:avocado: tags=telemetry | ||
:avocado: tags=DFSClientTelemetry,test_dfs_metrics | ||
""" | ||
# create pool and container | ||
pool = self.get_pool(connect=True) | ||
container = self.get_container(pool=pool) | ||
|
||
self.log_step('Writing data to the pool (ior)') | ||
ior = write_data(self, container) | ||
self.log_step('Reading data from the pool (ior)') | ||
read_data(self, ior, container) | ||
|
||
metric_names = CLIENT_DFS_OPS_METRICS + CLIENT_DFS_IO_METRICS | ||
|
||
self.log_step('Reading dfs telemetry') | ||
after_metrics = self.telemetry.collect_client_data(metric_names) | ||
for metric in metric_names: | ||
print(f'{metric}: {after_metrics[metric]}') | ||
|
||
self.log_step('Test passed') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
hosts: | ||
test_servers: 1 | ||
test_clients: 1 | ||
|
||
timeout: 180 | ||
|
||
server_config: | ||
name: daos_server | ||
engines_per_host: 1 | ||
engines: | ||
0: | ||
targets: 4 | ||
nr_xs_helpers: 0 | ||
storage: | ||
0: | ||
class: ram | ||
scm_mount: /mnt/daos | ||
system_ram_reserved: 1 | ||
|
||
agent_config: | ||
telemetry_port: 9191 | ||
telemetry_retain: 30s | ||
telemetry_enabled: true | ||
|
||
pool: | ||
scm_size: 2G | ||
|
||
container: | ||
type: POSIX | ||
control_method: daos | ||
dfs_oclass: SX | ||
|
||
ior: &ior_base | ||
ppn: 4 | ||
api: DFS | ||
transfer_size: 512K | ||
block_size: 1M | ||
dfs_oclass: SX | ||
|
||
ior_write: | ||
<<: *ior_base | ||
flags: "-k -v -w -W -G 1" | ||
|
||
ior_read: | ||
<<: *ior_base | ||
flags: "-v -r -R -G 1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters