mongo/buildscripts/util/cedar_report.py
Nick Jefferies a4130ea9ab SERVER-119906: Enable UP006 ruff rule (#48284)
GitOrigin-RevId: 2069fa7bda111a89d4a9a43a56e71f06cc2e9a7c
2026-02-20 18:55:17 +00:00

45 lines
1.0 KiB
Python

"""Cedar report."""
from dataclasses import dataclass
from typing import Union
@dataclass
class CedarMetric:
"""Structure that holds metrics for Cedar."""
name: str
type: str
value: Union[int, float]
user_submitted: bool = False
def as_dict(self) -> dict:
"""Return dictionary representation."""
return {
"name": self.name,
"type": self.type,
"value": self.value,
"user_submitted": self.user_submitted,
}
@dataclass
class CedarTestReport:
"""Structure that holds test report for Cedar."""
test_name: str
thread_level: int
metrics: list[CedarMetric]
def as_dict(self) -> dict:
"""Return dictionary representation."""
return {
"info": {
"test_name": self.test_name,
"args": {
"thread_level": self.thread_level,
},
},
"metrics": [metric.as_dict() for metric in self.metrics],
}