diff --git a/code/services-application/status-service/java/nu/marginalia/status/db/StatusMetricDb.java b/code/services-application/status-service/java/nu/marginalia/status/db/StatusMetricDb.java index 708a5ee2..f13c3b80 100644 --- a/code/services-application/status-service/java/nu/marginalia/status/db/StatusMetricDb.java +++ b/code/services-application/status-service/java/nu/marginalia/status/db/StatusMetricDb.java @@ -250,6 +250,10 @@ public class StatusMetricDb { return prettyPrintDuration(Duration.between(lastOffline, Instant.now())) + " ago"; } + public String getPercentOnlineStr() { + return String.format("%.4f%%", percentOnline); + } + private String prettyPrintDuration(Duration duration) { if (duration.compareTo(Duration.ofSeconds(60)) < 0) { return duration.toSeconds() + "s"; diff --git a/code/services-application/status-service/resources/templates/status.hdb b/code/services-application/status-service/resources/templates/status.hdb index 4a209a90..ab2e649d 100644 --- a/code/services-application/status-service/resources/templates/status.hdb +++ b/code/services-application/status-service/resources/templates/status.hdb @@ -8,23 +8,25 @@

Marginalia Search Status

+

This page polls the status of each public endpoint every 15 seconds, and keeps statistics for 14 days.

+ + {{#each measurements}} -

{{name}}

+ {{#if isOnline}} -

Online: ✓

-

Request time: {{requestTimeMs}}

-

Avg request time: {{avgRequestTimeMs}}

-

Time since last outage: {{getTimeSinceLastOffline}}

+ + + + {{/if}} {{#unless isOnline}} -

Online: ✗

-

Time since last online: {{getTimeSinceLastOnline}}

+ + {{/unless}} - -

Percent online: {{percentOnline}}%

-

Num failures: {{numFailures}}

-

Num successes: {{numSuccesses}}

+ + + {{/each}} - +
{{name}}
OnlineYes 😎
Request time{{requestTimeMs}} ms
Avg request time{{avgRequestTimeMs}} ms
Last error{{timeSinceLastOffline}}
OnlineNo 🔥
Last seen{{timeSinceLastOnline}}
# failures{{numFailures}}
# successes{{numSuccesses}}
Percent online{{percentOnlineStr}}
\ No newline at end of file