30 lines
644 B
Go
30 lines
644 B
Go
package perf
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
// TestAlertLatency 测量告警触发到通知的延迟
|
|
// 目标:< 30s (P95)
|
|
func TestAlertLatency(t *testing.T) {
|
|
// 模拟规则触发
|
|
triggeredAt := time.Now()
|
|
|
|
// TODO: 替换为实际的告警服务调用
|
|
// alert, err := alertService.Evaluate(ctx, ruleID)
|
|
// require.NoError(t, err)
|
|
|
|
// 模拟通知发送
|
|
// err = notifyService.Send(ctx, alert)
|
|
// require.NoError(t, err)
|
|
|
|
// 计算延迟
|
|
latency := time.Since(triggeredAt)
|
|
|
|
t.Logf("Alert latency: %v", latency)
|
|
assert.Less(t, latency, 30*time.Second, "alert latency should be < 30s")
|
|
}
|