package memory import ( "testing" "time" "github.com/TwiN/gatus/v5/core" ) func BenchmarkProcessUptimeAfterResult(b *testing.B) { uptime := core.NewUptime() now := time.Now() now = time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location()) // Start 12000 days ago timestamp := now.Add(-12000 * 24 * time.Hour) for n := 0; n < b.N; n++ { processUptimeAfterResult(uptime, &core.Result{ Duration: 18 * time.Millisecond, Success: n%15 == 0, Timestamp: timestamp, }) // Simulate an endpoint with an interval of 3 minutes timestamp = timestamp.Add(3 * time.Minute) } b.ReportAllocs() }