mirror of
https://github.com/TwiN/gatus.git
synced 2026-02-14 23:50:09 +00:00
feat: add support for 1h response chart
This commit is contained in:
@@ -42,8 +42,10 @@ func ResponseTimeChart(c *fiber.Ctx) error {
|
|||||||
from = time.Now().Truncate(time.Hour).Add(-7 * 24 * time.Hour)
|
from = time.Now().Truncate(time.Hour).Add(-7 * 24 * time.Hour)
|
||||||
case "24h":
|
case "24h":
|
||||||
from = time.Now().Truncate(time.Hour).Add(-24 * time.Hour)
|
from = time.Now().Truncate(time.Hour).Add(-24 * time.Hour)
|
||||||
|
case "1h":
|
||||||
|
from = time.Now().Add(-2 * time.Hour) // Because response time metrics are stored by hour, we have to cheat a little
|
||||||
default:
|
default:
|
||||||
return c.Status(400).SendString("Durations supported: 30d, 7d, 24h")
|
return c.Status(400).SendString("Durations supported: 30d, 7d, 24h, 1h")
|
||||||
}
|
}
|
||||||
hourlyAverageResponseTime, err := store.Get().GetHourlyAverageResponseTimeByKey(c.Params("key"), from, time.Now())
|
hourlyAverageResponseTime, err := store.Get().GetHourlyAverageResponseTimeByKey(c.Params("key"), from, time.Now())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -39,6 +39,11 @@ func TestResponseTimeChart(t *testing.T) {
|
|||||||
Gzip bool
|
Gzip bool
|
||||||
}
|
}
|
||||||
scenarios := []Scenario{
|
scenarios := []Scenario{
|
||||||
|
{
|
||||||
|
Name: "chart-response-time-1h",
|
||||||
|
Path: "/api/v1/endpoints/core_backend/response-times/1h/chart.svg",
|
||||||
|
ExpectedCode: http.StatusOK,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "chart-response-time-24h",
|
Name: "chart-response-time-24h",
|
||||||
Path: "/api/v1/endpoints/core_backend/response-times/24h/chart.svg",
|
Path: "/api/v1/endpoints/core_backend/response-times/24h/chart.svg",
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
<div v-if="endpointStatus && endpointStatus.key && showResponseTimeChartAndBadges" class="mt-12">
|
<div v-if="endpointStatus && endpointStatus.key && showResponseTimeChartAndBadges" class="mt-12">
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<h1 class="text-xl xl:text-3xl font-mono text-gray-400">RESPONSE TIME</h1>
|
<h1 class="text-xl xl:text-3xl font-mono text-gray-400">RESPONSE TIME</h1>
|
||||||
<select v-model="selectedChartDuration" class="text-sm bg-gray-400 text-white border border-gray-600 rounded-md px-3 py-1 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
<option value="1h">1 hour</option>
|
||||||
<option value="24h">24 hours</option>
|
<option value="24h">24 hours</option>
|
||||||
<option value="7d">7 days</option>
|
<option value="7d">7 days</option>
|
||||||
<option value="30d">30 days</option>
|
<option value="30d">30 days</option>
|
||||||
|
|||||||
Reference in New Issue
Block a user