Skip to content

Commit a10ff47

Browse files
zzylolclaude
andcommitted
fix(asap-tools): pass ms-resource to the Alibaba cluster_data_exporter
The exporter's --data-type accepts node or ms-resource; the config value msresource was passed through, so the container exited at startup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 4b480a4 commit a10ff47

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

‎asap-tools/experiments/experiment_utils/services/cluster_data_exporter.py‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
from experiment_utils.providers.base import InfrastructureProvider
1414

1515

16+
# Experiment-config data_type -> the exporter's --data-type value.
17+
ALIBABA_DATA_TYPE_CLI_VALUES = {"node": "node", "msresource": "ms-resource"}
18+
19+
1620
class ClusterDataExporterService(BaseService):
1721
"""
1822
Service for managing cluster_data_exporter via Docker.
@@ -259,7 +263,8 @@ def _build_docker_command(
259263

260264
elif provider == "alibaba":
261265
if "data_type" in config:
262-
cmd_parts.append(f"--data-type={config['data_type']}")
266+
data_type = ALIBABA_DATA_TYPE_CLI_VALUES[config["data_type"]]
267+
cmd_parts.append(f"--data-type={data_type}")
263268
if "data_year" in config:
264269
cmd_parts.append(f"--data-year={config['data_year']}")
265270

‎asap-tools/experiments/tests/test_cluster_data_exporter_service.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,20 @@ def test_unknown_year_raises(self):
4545
service._validate_alibaba_data("msresource", 2020)
4646

4747

48+
class DockerCommandTest(unittest.TestCase):
49+
def test_msresource_uses_exporter_cli_value(self):
50+
# The exporter's clap enum spells it ms-resource; passing the config
51+
# value through made the container exit before serving metrics.
52+
service = ClusterDataExporterService(RecordingProvider(), 0, "/traces")
53+
service.container_name = "cde"
54+
cmd = service._build_docker_command(
55+
{"provider": "alibaba", "data_type": "msresource", "data_year": 2022},
56+
port=40000,
57+
output_dir="/out",
58+
)
59+
self.assertIn("--data-type=ms-resource", cmd)
60+
61+
4862
class NodeCountTest(unittest.TestCase):
4963
def test_more_than_one_worker_node_is_rejected(self):
5064
service = ClusterDataExporterService(RecordingProvider(), 0, "/traces")

0 commit comments

Comments
 (0)