Skip to content

Commit a37aa52

Browse files
sjmonsonmarkurtz
authored andcommitted
Add a metadata section to the benchmark report
Signed-off-by: Samuel Monson <smonson@redhat.com>
1 parent 17e1b92 commit a37aa52

File tree

4 files changed

+36
-2
lines changed

4 files changed

+36
-2
lines changed

src/guidellm/benchmark/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
GenerativeAudioMetricsSummary,
4040
GenerativeBenchmark,
4141
GenerativeBenchmarkAccumulator,
42+
GenerativeBenchmarkMetadata,
4243
GenerativeBenchmarksReport,
4344
GenerativeBenchmarkTimings,
4445
GenerativeImageMetricsSummary,
@@ -67,6 +68,7 @@
6768
"GenerativeAudioMetricsSummary",
6869
"GenerativeBenchmark",
6970
"GenerativeBenchmarkAccumulator",
71+
"GenerativeBenchmarkMetadata",
7072
"GenerativeBenchmarkTimings",
7173
"GenerativeBenchmarkerCSV",
7274
"GenerativeBenchmarkerConsole",

src/guidellm/benchmark/schemas/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
GenerativeAudioMetricsSummary,
2626
GenerativeBenchmark,
2727
GenerativeBenchmarkAccumulator,
28+
GenerativeBenchmarkMetadata,
2829
GenerativeBenchmarksReport,
2930
GenerativeBenchmarkTimings,
3031
GenerativeImageMetricsSummary,
@@ -49,6 +50,7 @@
4950
"GenerativeAudioMetricsSummary",
5051
"GenerativeBenchmark",
5152
"GenerativeBenchmarkAccumulator",
53+
"GenerativeBenchmarkMetadata",
5254
"GenerativeBenchmarkTimings",
5355
"GenerativeBenchmarksReport",
5456
"GenerativeImageMetricsSummary",

src/guidellm/benchmark/schemas/generative/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,14 @@
3232
GenerativeVideoMetricsSummary,
3333
SchedulerMetrics,
3434
)
35-
from .report import GenerativeBenchmarksReport
35+
from .report import GenerativeBenchmarkMetadata, GenerativeBenchmarksReport
3636

3737
__all__ = [
3838
"BenchmarkGenerativeTextArgs",
3939
"GenerativeAudioMetricsSummary",
4040
"GenerativeBenchmark",
4141
"GenerativeBenchmarkAccumulator",
42+
"GenerativeBenchmarkMetadata",
4243
"GenerativeBenchmarkTimings",
4344
"GenerativeBenchmarksReport",
4445
"GenerativeImageMetricsSummary",

src/guidellm/benchmark/schemas/generative/report.py

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
from __future__ import annotations
1212

1313
import json
14+
import platform
15+
from importlib.metadata import version
1416
from pathlib import Path
1517
from typing import ClassVar, Literal
1618

@@ -23,7 +25,30 @@
2325
)
2426
from guidellm.schemas import StandardBaseModel
2527

26-
__all__ = ["GenerativeBenchmarksReport"]
28+
__all__ = ["GenerativeBenchmarkMetadata", "GenerativeBenchmarksReport"]
29+
30+
31+
class GenerativeBenchmarkMetadata(StandardBaseModel):
32+
"""
33+
Versioning and environment metadata for generative benchmark reports.
34+
"""
35+
36+
version: Literal[1] = Field(
37+
description="Version of the benchmark report schema",
38+
default=1,
39+
)
40+
guidellm_version: str = Field(
41+
description="Version of the guidellm package used for the benchmark",
42+
default_factory=lambda: version("guidellm"),
43+
)
44+
python_version: str = Field(
45+
description="Version of Python interpreter used during the benchmark",
46+
default_factory=lambda: platform.python_version(),
47+
)
48+
platform: str = Field(
49+
description="Operating system platform where the benchmark was executed",
50+
default_factory=lambda: platform.platform(),
51+
)
2752

2853

2954
class GenerativeBenchmarksReport(StandardBaseModel):
@@ -40,6 +65,10 @@ class GenerativeBenchmarksReport(StandardBaseModel):
4065

4166
DEFAULT_FILE: ClassVar[str] = "benchmarks.json"
4267

68+
metadata: GenerativeBenchmarkMetadata = Field(
69+
description="Metadata about the benchmark report and execution environment",
70+
default_factory=GenerativeBenchmarkMetadata,
71+
)
4372
args: BenchmarkGenerativeTextArgs = Field(
4473
description="Benchmark arguments used for all benchmarks in the report"
4574
)

0 commit comments

Comments
 (0)