feat(go): expose runtime ingest metrics

This commit is contained in:
lingniu
2026-07-02 19:06:24 +08:00
parent 1dfd540700
commit 896e841902
18 changed files with 602 additions and 28 deletions

View File

@@ -7,6 +7,8 @@ import (
"net/http/httptest"
"strings"
"testing"
"lingniu-vehicle-ingest/go/vehicle-gateway/internal/metrics"
)
func TestHandlerReturnsHealthyWhenAllChecksPass(t *testing.T) {
@@ -63,10 +65,12 @@ func TestHandlerRejectsUnknownPath(t *testing.T) {
}
func TestNewMuxRegistersHealthAndReadinessRoutes(t *testing.T) {
registry := metrics.NewRegistry()
registry.IncCounter("vehicle_test_total", metrics.Labels{"service": "stat"})
mux := NewMux("vehicle-stat-writer", []Check{
{Name: "mysql", Check: func(context.Context) error { return nil }},
})
for _, path := range []string{"/healthz", "/readyz"} {
}, registry)
for _, path := range []string{"/healthz", "/readyz", "/metrics"} {
request := httptest.NewRequest(http.MethodGet, path, nil)
response := httptest.NewRecorder()
@@ -79,13 +83,13 @@ func TestNewMuxRegistersHealthAndReadinessRoutes(t *testing.T) {
}
func TestNewServerReturnsNilWhenAddressIsEmpty(t *testing.T) {
if server := NewServer("", "vehicle-gateway", nil); server != nil {
if server := NewServer("", "vehicle-gateway", nil, nil); server != nil {
t.Fatalf("server = %#v, want nil", server)
}
}
func TestNewServerBuildsConfiguredHTTPServer(t *testing.T) {
server := NewServer(":20290", "vehicle-gateway", nil)
server := NewServer(":20290", "vehicle-gateway", nil, nil)
if server == nil {
t.Fatal("server is nil")
}