Skip to content

Commit 37846fe

Browse files
author
Haihui.Wang
committed
Update metric key for compatibility for new prometheus metric
1 parent a0ccabb commit 37846fe

3 files changed

Lines changed: 14 additions & 7 deletions

File tree

common/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ type Config struct {
585585
MemoryUsageMetric string `env:"STARHUB_SERVER_PROMETHEUS_MEMORY_USAGE_METRIC" default:"container_memory_usage_bytes"`
586586
RequestCountMetric string `env:"STARHUB_SERVER_PROMETHEUS_REQUEST_COUNT_METRIC" default:"revision_request_count"`
587587
RequestLatencyMetric string `env:"STARHUB_SERVER_PROMETHEUS_REQUEST_LATENCY_METRIC" default:"revision_app_request_latencies_bucket"`
588-
MetricKeys []string `env:"STARHUB_SERVER_PROMETHEUS_METRIC_KEYS" default:"[pod,service_name,namespace,response_code_class,le]"`
588+
MetricKeys []string `env:"STARHUB_SERVER_PROMETHEUS_METRIC_KEYS" default:"[pod,service_name,namespace,http_response_status_code,response_code_class,le]"`
589589
}
590590

591591
Feishu struct {

common/config/config.toml.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,4 +320,4 @@ cpu_limit_metric = "kube_pod_container_resource_limits"
320320
memory_usage_metric = "container_memory_usage_bytes"
321321
request_count_metric = "revision_request_count"
322322
request_latency_metric = "revision_app_request_latencies_bucket"
323-
metric_keys = ["pod", "service_name", "namespace", "response_code_class", "le"]
323+
metric_keys = ["pod", "service_name", "namespace", "http_response_status_code", "response_code_class", "le"]

component/monitor.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ func (m *monitorComponentImpl) CPUUsage(ctx context.Context, req *types.MonitorR
7575
}
7676
query := fmt.Sprintf("avg_over_time(rate(%s{pod='%s',namespace='%s',container='%s'}[1m])[%s:])[%s:%s]",
7777
m.metrics.cpuUsage, req.Instance, namespace, container, req.LastDuration, req.LastDuration, req.TimeRange)
78-
slog.InfoContext(ctx, "cpu-usage", slog.Any("query", query))
78+
slog.InfoContext(ctx, "cpu-usage", slog.Any("query", query),
79+
slog.Any("metricKeys", m.metrics.metricKeys), slog.Any("len", len(m.metrics.metricKeys)))
7980

8081
promeResp, err := m.client.SerialData(query)
8182
if err != nil {
@@ -152,7 +153,8 @@ func (m *monitorComponentImpl) MemoryUsage(ctx context.Context, req *types.Monit
152153

153154
query := fmt.Sprintf("avg_over_time(%s{pod='%s',namespace='%s',container='%s'}[%s:])[%s:%s]",
154155
m.metrics.memoryUsage, req.Instance, namespace, container, req.LastDuration, req.LastDuration, req.TimeRange)
155-
slog.InfoContext(ctx, "memory-usage", slog.Any("query", query))
156+
slog.InfoContext(ctx, "memory-usage", slog.Any("query", query),
157+
slog.Any("metricKeys", m.metrics.metricKeys), slog.Any("len", len(m.metrics.metricKeys)))
156158

157159
promeResp, err := m.client.SerialData(query)
158160
if err != nil {
@@ -197,7 +199,8 @@ func (m *monitorComponentImpl) RequestCount(ctx context.Context, req *types.Moni
197199
// issue: github.com/knative/serving/issues/14925
198200
query := fmt.Sprintf("avg_over_time(%s{pod_name='%s',namespace='%s'}[%s:])[%s:%s]",
199201
m.metrics.requestCount, req.Instance, namespace, req.LastDuration, req.LastDuration, req.TimeRange)
200-
slog.InfoContext(ctx, "request-count", slog.Any("query", query))
202+
slog.InfoContext(ctx, "request-count", slog.Any("query", query),
203+
slog.Any("metricKeys", m.metrics.metricKeys), slog.Any("len", len(m.metrics.metricKeys)))
201204

202205
promeResp, err := m.client.SerialData(query)
203206
if err != nil {
@@ -254,11 +257,12 @@ func (m *monitorComponentImpl) RequestLatency(ctx context.Context, req *types.Mo
254257

255258
query := fmt.Sprintf("sum(increase(%s{pod_name='%s',namespace='%s'}[%s:])) by (le)",
256259
m.metrics.requestLatency, req.Instance, namespace, req.LastDuration)
257-
slog.Debug("request-latency", slog.Any("query", query))
260+
slog.InfoContext(ctx, "request-latency", slog.Any("query", query),
261+
slog.Any("metricKeys", m.metrics.metricKeys), slog.Any("len", len(m.metrics.metricKeys)))
258262

259263
promeResp, err := m.client.SerialData(query)
260264
if err != nil {
261-
return nil, fmt.Errorf("fail to get cpu memory usage error: %w", err)
265+
return nil, fmt.Errorf("failed to get request latency error: %w", err)
262266
}
263267
slog.Debug("get request latency", slog.Any("promeResp", promeResp))
264268
resp := types.MonitorRequestLatencyResp{}
@@ -343,6 +347,9 @@ func (m *monitorComponentImpl) getMetrics(metrics map[string]string) map[string]
343347
if key == "pod" {
344348
result["instance"] = v
345349
}
350+
if key == "http_response_status_code" {
351+
result["response_code_class"] = v
352+
}
346353
}
347354
}
348355
return result

0 commit comments

Comments
 (0)