Skip to content

Commit e917719

Browse files
authored
Merge branch 'main' into add-run-metadata-to-ui
2 parents dc7800b + 000b39e commit e917719

File tree

15 files changed

+71
-68
lines changed

15 files changed

+71
-68
lines changed

.github/workflows/release.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,10 @@ jobs:
297297
with:
298298
fetch-depth: 0
299299
- name: Get version from branch
300-
run: echo "PACKAGE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
300+
run: |
301+
GITHUB_REF="${{ github.ref }}"
302+
[[ -z "$GITHUB_REF" ]] && exit 1 # Fail if ref is unset
303+
echo "PACKAGE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
301304
- name: Buildah build
302305
id: build-image
303306
uses: redhat-actions/buildah-build@v2

src/guidellm/presentation/data_models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ def from_distribution_summary(
249249

250250
class BenchmarkDatum(BaseModel):
251251
requests_per_second: float
252-
tpot: TabularDistributionSummary
252+
itl: TabularDistributionSummary
253253
ttft: TabularDistributionSummary
254254
throughput: TabularDistributionSummary
255255
time_per_request: TabularDistributionSummary
@@ -258,7 +258,7 @@ class BenchmarkDatum(BaseModel):
258258
def from_benchmark(cls, bm: "GenerativeBenchmark"):
259259
return cls(
260260
requests_per_second=bm.metrics.requests_per_second.successful.mean,
261-
tpot=TabularDistributionSummary.from_distribution_summary(
261+
itl=TabularDistributionSummary.from_distribution_summary(
262262
bm.metrics.inter_token_latency_ms.successful
263263
),
264264
ttft=TabularDistributionSummary.from_distribution_summary(

src/ui/lib/components/MetricsSummary/MetricsSummary.component.tsx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,15 @@ export const Component = () => {
5454

5555
const {
5656
ttft: ttftSLO,
57-
tpot: tpotSLO,
57+
itl: itlSLO,
5858
timePerRequest: timePerRequestSLO,
5959
throughput: throughputSLO,
6060
percentile,
6161
minX,
6262
maxX,
6363
errors,
6464
handleTtft,
65-
handleTpot,
65+
handleItl,
6666
handleTimePerRequest,
6767
handleThroughput,
6868
handlePercentileChange,
@@ -72,8 +72,8 @@ export const Component = () => {
7272
const isTtftMatch = Boolean(
7373
ttftSLO && interpolatedMetricData.ttft.enforcedPercentileValue <= ttftSLO
7474
);
75-
const isTpotMatch = Boolean(
76-
tpotSLO && interpolatedMetricData.tpot.enforcedPercentileValue <= tpotSLO
75+
const isItlMatch = Boolean(
76+
itlSLO && interpolatedMetricData.itl.enforcedPercentileValue <= itlSLO
7777
);
7878
const isTprMatch = Boolean(
7979
timePerRequestSLO &&
@@ -123,7 +123,7 @@ export const Component = () => {
123123
<FieldsContainer data-id="fields-container">
124124
<FieldCell data-id="field-cell-1">
125125
<Input
126-
label="TTFT (ms)"
126+
label="TIME TO FIRST TOKEN (ms)"
127127
value={ttftSLO}
128128
onChange={handleTtft}
129129
fullWidth
@@ -133,12 +133,12 @@ export const Component = () => {
133133
</FieldCell>
134134
<FieldCell data-id="field-cell-2">
135135
<Input
136-
label="TPOT (ms)"
137-
value={tpotSLO}
138-
onChange={handleTpot}
136+
label="INTER-TOKEN LATENCY (ms)"
137+
value={itlSLO}
138+
onChange={handleItl}
139139
fullWidth
140140
fontColor={LineColor.Secondary}
141-
error={errors?.tpot}
141+
error={errors?.itl}
142142
/>
143143
</FieldCell>
144144
<FieldCell data-id="field-cell-3">
@@ -212,7 +212,7 @@ export const Component = () => {
212212
</MiddleColumn>
213213
<MiddleColumn item xs={3}>
214214
<MetricValue
215-
label="TTFT"
215+
label="time to first token"
216216
value={`${formatNumber(interpolatedMetricData.ttft.enforcedPercentileValue)} ms`}
217217
match={isTtftMatch}
218218
valueColor={LineColor.Primary}
@@ -222,17 +222,17 @@ export const Component = () => {
222222
<MiddleColumn sx={{ paddingLeft: '0px !important' }} item xs={9}>
223223
<GraphContainer>
224224
<MetricLine
225-
data={[{ id: 'tpot', data: lineDataByRps.tpot || [] }]}
226-
threshold={tpotSLO}
225+
data={[{ id: 'itl', data: lineDataByRps.itl || [] }]}
226+
threshold={itlSLO}
227227
lineColor={LineColor.Secondary}
228228
/>
229229
</GraphContainer>
230230
</MiddleColumn>
231231
<MiddleColumn item xs={3}>
232232
<MetricValue
233-
label="TPOT"
234-
value={`${formatNumber(interpolatedMetricData.tpot.enforcedPercentileValue)} ms`}
235-
match={isTpotMatch}
233+
label="inter-token latency"
234+
value={`${formatNumber(interpolatedMetricData.itl.enforcedPercentileValue)} ms`}
235+
match={isItlMatch}
236236
valueColor={LineColor.Secondary}
237237
/>
238238
</MiddleColumn>

src/ui/lib/components/MetricsSummary/useSummary.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ type Errors = { [key: string]: string | undefined };
1313

1414
const initErrorsState: Errors = {
1515
ttft: undefined,
16-
tpot: undefined,
16+
itl: undefined,
1717
timePerRequest: undefined,
1818
throughput: undefined,
1919
};
@@ -47,20 +47,20 @@ export const useSummary = () => {
4747
const dispatch = useDispatch();
4848

4949
const { current, enforcedPercentile, tasksDefaults } = useSelector(selectSloState);
50-
const { ttft, tpot, timePerRequest, throughput } = useSelector(
50+
const { ttft, itl, timePerRequest, throughput } = useSelector(
5151
selectMetricsSummaryLineData
5252
);
5353

5454
const [errors, setErrors] = useState<Errors>(initErrorsState);
5555

5656
const ttftLimits = findMinMax(ttft || []);
57-
const tpotLimits = findMinMax(tpot || []);
57+
const itlLimits = findMinMax(itl || []);
5858
const timePerRequestLimits = findMinMax(timePerRequest || []);
5959
const throughputLimits = findMinMax(throughput || []);
6060

6161
const limitsByMetric = {
6262
ttft: ttftLimits,
63-
tpot: tpotLimits,
63+
itl: itlLimits,
6464
timePerRequest: timePerRequestLimits,
6565
throughput: throughputLimits,
6666
};
@@ -112,7 +112,7 @@ export const useSummary = () => {
112112
maxX: ttftLimits.maxX,
113113
errors,
114114
handleTtft: handleChange('ttft'),
115-
handleTpot: handleChange('tpot'),
115+
handleItl: handleChange('itl'),
116116
handleTimePerRequest: handleChange('timePerRequest'),
117117
handleThroughput: handleChange('throughput'),
118118
handlePercentileChange,

src/ui/lib/components/WorkloadMetrics/WorkloadMetrics.component.tsx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ export const leftColumn3 = (rpsValue: number, value: number, units: string) => (
3636

3737
export const Component = () => {
3838
const { data } = useGetBenchmarksQuery();
39-
const { ttft, tpot, timePerRequest, throughput } = useSelector(
39+
const { ttft, itl, timePerRequest, throughput } = useSelector(
4040
selectMetricsDetailsLineData
4141
);
4242
const { currentRequestRate } = useSelector(selectSloState);
4343
const formattedRequestRate = formatNumber(currentRequestRate);
4444
const {
4545
ttft: ttftAtRPS,
46-
tpot: tpotAtRPS,
46+
itl: itlAtRPS,
4747
timePerRequest: timePerRequestAtRPS,
4848
throughput: throughputAtRPS,
4949
} = useSelector(selectInterpolatedMetrics);
@@ -57,49 +57,49 @@ export const Component = () => {
5757
<BlockHeader label="Metrics Details" />
5858
<Box display="flex" flexDirection="row" gap={3} mt={3}>
5959
<MetricsContainer
60-
header="TTFT"
60+
header="TIME TO FIRST TOKEN"
6161
leftColumn={leftColumn(
6262
formattedRequestRate,
6363
formatNumber(ttftAtRPS.mean),
6464
'ms'
6565
)}
6666
rightColumn={columnContent(formattedRequestRate, ttftAtRPS.percentiles, 'ms')}
6767
>
68-
<GraphTitle title="TTFS vs RPS" />
68+
<GraphTitle title="Time to First Token vs RPS" />
6969
<GraphsWrapper>
7070
<DashedLine
7171
data={ttft}
7272
margins={{ left: 50, bottom: 50 }}
7373
xLegend="request per sec"
74-
yLegend="ttft (ms)"
74+
yLegend="time to first token (ms)"
7575
minX={minX}
7676
/>
7777
</GraphsWrapper>
7878
</MetricsContainer>
7979
<MetricsContainer
80-
header="TPOT"
80+
header="INTER-TOKEN LATENCY"
8181
leftColumn={leftColumn3(
8282
formattedRequestRate,
83-
formatNumber(tpotAtRPS.mean),
83+
formatNumber(itlAtRPS.mean),
8484
'ms'
8585
)}
86-
rightColumn={columnContent(formattedRequestRate, tpotAtRPS.percentiles, 'ms')}
86+
rightColumn={columnContent(formattedRequestRate, itlAtRPS.percentiles, 'ms')}
8787
>
88-
<GraphTitle title="TPOT vs RPS" />
88+
<GraphTitle title="Inter-token Latency vs RPS" />
8989
<GraphsWrapper>
9090
<DashedLine
91-
data={tpot}
91+
data={itl}
9292
margins={{ left: 50, bottom: 50 }}
9393
xLegend="request per sec"
94-
yLegend="tpot (ms)"
94+
yLegend="inter-token latency (ms)"
9595
minX={minX}
9696
/>
9797
</GraphsWrapper>
9898
</MetricsContainer>
9999
</Box>
100100
<Box display="flex" flexDirection="row" gap={3} mt={3}>
101101
<MetricsContainer
102-
header="E2E Latency"
102+
header="Time Per Request"
103103
leftColumn={leftColumn(
104104
formattedRequestRate,
105105
formatNumber(timePerRequestAtRPS.mean),
@@ -111,13 +111,13 @@ export const Component = () => {
111111
's'
112112
)}
113113
>
114-
<GraphTitle title="E2E Latency vs RPS" />
114+
<GraphTitle title="Time Per Request vs RPS" />
115115
<GraphsWrapper>
116116
<DashedLine
117117
data={timePerRequest}
118118
margins={{ left: 50, bottom: 50 }}
119119
xLegend="request per sec"
120-
yLegend="latency (s)"
120+
yLegend="time per request (s)"
121121
minX={minX}
122122
/>
123123
</GraphsWrapper>

src/ui/lib/store/benchmarksWindowData.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export const benchmarksScript = `window.benchmarks = [
22
{
33
requestsPerSecond: 11.411616848282272,
4-
tpot: {
4+
itl: {
55
mean: 8.758024845683707,
66
median: 8.788176945277623,
77
mode: 7.119315011160714,
@@ -172,7 +172,7 @@ export const benchmarksScript = `window.benchmarks = [
172172
},
173173
{
174174
requestsPerSecond: 36.289181300710815,
175-
tpot: {
175+
itl: {
176176
mean: 588.0161376137819,
177177
median: 461.7137227739607,
178178
mode: 323.1611592429025,
@@ -343,7 +343,7 @@ export const benchmarksScript = `window.benchmarks = [
343343
},
344344
{
345345
requestsPerSecond: 20.752070927855794,
346-
tpot: {
346+
itl: {
347347
mean: 116.28360712595156,
348348
median: 26.769569941929408,
349349
mode: 10.624987738473076,
@@ -514,7 +514,7 @@ export const benchmarksScript = `window.benchmarks = [
514514
},
515515
{
516516
requestsPerSecond: 26.81917480361788,
517-
tpot: {
517+
itl: {
518518
mean: 299.7306064613554,
519519
median: 372.7384294782366,
520520
mode: 13.360295976911273,
@@ -685,7 +685,7 @@ export const benchmarksScript = `window.benchmarks = [
685685
},
686686
{
687687
requestsPerSecond: 26.823988819498975,
688-
tpot: {
688+
itl: {
689689
mean: 683.8011571339198,
690690
median: 742.2689029148647,
691691
mode: 317.1694278717041,
@@ -856,7 +856,7 @@ export const benchmarksScript = `window.benchmarks = [
856856
},
857857
{
858858
requestsPerSecond: 24.50047903792646,
859-
tpot: {
859+
itl: {
860860
mean: 742.9258901891964,
861861
median: 773.0941431862967,
862862
mode: 538.750410079956,
@@ -1027,7 +1027,7 @@ export const benchmarksScript = `window.benchmarks = [
10271027
},
10281028
{
10291029
requestsPerSecond: 25.617829792196602,
1030-
tpot: {
1030+
itl: {
10311031
mean: 663.3098317044122,
10321032
median: 613.7458937508719,
10331033
mode: 440.9824098859514,
@@ -1198,7 +1198,7 @@ export const benchmarksScript = `window.benchmarks = [
11981198
},
11991199
{
12001200
requestsPerSecond: 37.02892550982192,
1201-
tpot: {
1201+
itl: {
12021202
mean: 606.4144710877113,
12031203
median: 543.5235500335693,
12041204
mode: 331.6155501774379,
@@ -1369,7 +1369,7 @@ export const benchmarksScript = `window.benchmarks = [
13691369
},
13701370
{
13711371
requestsPerSecond: 37.29183354201869,
1372-
tpot: {
1372+
itl: {
13731373
mean: 603.3237551205925,
13741374
median: 528.1183038439069,
13751375
mode: 400.96027510506764,
@@ -1540,7 +1540,7 @@ export const benchmarksScript = `window.benchmarks = [
15401540
},
15411541
{
15421542
requestsPerSecond: 37.45318312972309,
1543-
tpot: {
1543+
itl: {
15441544
mean: 600.7204526769262,
15451545
median: 626.2100083487375,
15461546
mode: 398.7384523664202,

src/ui/lib/store/mockData.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export const benchmarks = [
9595
],
9696
bucketWidth: 0,
9797
},
98-
tpot: {
98+
itl: {
9999
statistics: {
100100
total: 0,
101101
mean: 0,

src/ui/lib/store/slices/benchmarks/benchmarks.api.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ const setDefaultSLOs = (
4545
lastBM?.ttft,
4646
defaultPercentile
4747
);
48-
const tpotAvg = getAverageValueForPercentile(
49-
firstBM?.tpot,
50-
lastBM?.tpot,
48+
const itlAvg = getAverageValueForPercentile(
49+
firstBM?.itl,
50+
lastBM?.itl,
5151
defaultPercentile
5252
);
5353
const timePerRequestAvg = getAverageValueForPercentile(
@@ -66,13 +66,13 @@ const setDefaultSLOs = (
6666
currentRequestRate: firstBM?.requestsPerSecond,
6767
current: {
6868
ttft: formatNumber(ttftAvg, 0),
69-
tpot: formatNumber(tpotAvg, 0),
69+
itl: formatNumber(itlAvg, 0),
7070
timePerRequest: formatNumber(timePerRequestAvg, 0),
7171
throughput: formatNumber(throughputAvg, 0),
7272
},
7373
tasksDefaults: {
7474
ttft: formatNumber(ttftAvg, 0),
75-
tpot: formatNumber(tpotAvg, 0),
75+
itl: formatNumber(itlAvg, 0),
7676
timePerRequest: formatNumber(timePerRequestAvg, 0),
7777
throughput: formatNumber(throughputAvg, 0),
7878
},

src/ui/lib/store/slices/benchmarks/benchmarks.interfaces.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ interface Percentile {
2020

2121
export interface BenchmarkMetrics {
2222
ttft: Statistics;
23-
tpot: Statistics;
23+
itl: Statistics;
2424
timePerRequest: Statistics;
2525
throughput: Statistics;
2626
}

0 commit comments

Comments
 (0)