Skip to content

Commit b264a3b

Browse files
committed
Show total time not cumulative time
1 parent afd2412 commit b264a3b

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

packages/share/pages/share/[result].tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ export async function getServerSideProps(context: {
222222

223223
const gql = parsed.item?.properties?.gql;
224224
const stats = parsed.item?.latestResult.logs
225-
? getLogStats(parsed.item.latestResult.logs)
225+
? getLogStats(parsed.item.latestResult.logs, parsed.item.latestResult)
226226
: [];
227227

228228
if (!parsed.item) {

packages/ui/src/results/ResultStats/ResultStats.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export const getResultStats = (result: ClobbrUIResult) => {
1414
return null;
1515
}
1616

17-
return getLogStats(result.logs);
17+
return getLogStats(result.logs, result);
1818
};
1919

2020
export const ResultStats = ({

packages/ui/src/shared/util/getLogStats.ts

+17-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { mathUtils } from '@clobbr/api';
44
import { formatNumber } from 'shared/util/numberFormat';
55
import { getDurationColorClass } from 'shared/util/getDurationColorClass';
66
import { isNumber } from 'lodash-es';
7+
import { ClobbrUIResult } from 'models/ClobbrUIResult';
78

89
const { mean, q5, q95, q99, stdDev } = mathUtils;
910

@@ -18,14 +19,27 @@ export const RESULT_STAT_TYPES: {
1819
TOTAL_TIME: 'Total time (s)'
1920
};
2021

21-
export const getLogStats = (logs: Array<ClobbrLogItem>) => {
22+
export const getLogStats = (
23+
logs: Array<ClobbrLogItem>,
24+
result: ClobbrUIResult
25+
) => {
2226
const qualifiedDurations = logs
2327
.filter((log) => !log.failed)
2428
.filter((log) => isNumber(log.metas.duration))
2529
.map((log) => log.metas.duration as number);
2630

27-
const totalDuration = qualifiedDurations.reduce((acc, curr) => acc + curr, 0);
31+
const startUnixTime = result.startDate
32+
? new Date(result.startDate).valueOf()
33+
: 0;
34+
const endUnixTime = result.endDate ? new Date(result.endDate).valueOf() : 0;
35+
const totalDuration = startUnixTime ? endUnixTime - startUnixTime : 0;
2836
const totalDurationInSeconds = totalDuration / 1000;
37+
38+
const cumulativeDuration = qualifiedDurations.reduce(
39+
(acc, curr) => acc + curr,
40+
0
41+
);
42+
const cumulativeDurationInSeconds = cumulativeDuration / 1000;
2943
const meanValue = mean(qualifiedDurations);
3044
const stdDevValue = stdDev(qualifiedDurations);
3145
const q5Value = q5(qualifiedDurations);
@@ -64,7 +78,7 @@ export const getLogStats = (logs: Array<ClobbrLogItem>) => {
6478
colorClass: getDurationColorClass(q99Value)
6579
},
6680
{
67-
value: formatNumber(totalDurationInSeconds),
81+
value: formatNumber(totalDurationInSeconds, 1),
6882
unit: 's',
6983
label: 'Total time',
7084
colorClass: getDurationColorClass(0) // Always green

0 commit comments

Comments
 (0)