Skip to content

Commit 5335798

Browse files
committed
Fix; collector offline status
1 parent ae6803a commit 5335798

File tree

1 file changed

+35
-8
lines changed

1 file changed

+35
-8
lines changed

site/frontend/src/pages/status_new/collector.vue

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
<script setup lang="ts">
2-
import {ref, Ref} from "vue";
1+
<script setup lang="tsx">
2+
import {h, ref, Ref} from "vue";
3+
import {parseISO, differenceInHours} from "date-fns";
34
import {formatISODate} from "../../utils/formatting";
45
import {CollectorConfig, BenchmarkJobStatus} from "./data";
56
@@ -40,6 +41,37 @@ function formatJobStatus(status: BenchmarkJobStatus): string {
4041
return "Unknown";
4142
}
4243
}
44+
45+
function ActiveStatus({collector}: {collector: CollectorConfig}) {
46+
const now = new Date();
47+
const maxInactivityHours = 1;
48+
const lastHeartBeatAt = parseISO(collector.lastHeartbeatAt);
49+
const hourDiff = differenceInHours(now, lastHeartBeatAt);
50+
let statusText = "Active";
51+
let statusClass = "active";
52+
53+
switch (collector.isActive) {
54+
case true:
55+
if (hourDiff >= maxInactivityHours) {
56+
statusText = "Offline";
57+
statusClass = "inactive";
58+
} else {
59+
statusText = "Active";
60+
statusClass = "active";
61+
}
62+
break;
63+
case false:
64+
statusText = "Inactive";
65+
statusClass = "inactive";
66+
break;
67+
}
68+
69+
return (
70+
<span class={`collector-sm-padding-left-right status ${statusClass}`}>
71+
{statusText}
72+
</span>
73+
);
74+
}
4375
</script>
4476

4577
<template>
@@ -54,12 +86,7 @@ function formatJobStatus(status: BenchmarkJobStatus): string {
5486
class="collector-sm-padding-left-right collector-left-divider"
5587
>{{ collector.target }}</span
5688
>
57-
<span
58-
class="collector-sm-padding-left-right status"
59-
:class="statusClass(collector)"
60-
>
61-
{{ collector.isActive ? "Active" : "Inactive" }}
62-
</span>
89+
<ActiveStatus :collector="collector" />
6390
</span>
6491
</div>
6592
</div>

0 commit comments

Comments
 (0)