From 8de4a2e0102e012d83af01b553f0390d2ee70048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20T=C3=B6rnberg?= Date: Sun, 20 Sep 2026 10:07:25 +0200 Subject: [PATCH] fix --- build.sh | 6 +++++- cmd/issue-model/main.go | 10 ++++++++++ cmd/training-sample/main.go | 9 +++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/build.sh b/build.sh index d4f1c67..c7a785e 100755 --- a/build.sh +++ b/build.sh @@ -15,7 +15,11 @@ docker build \ -t matst80/otel-debug:latest . docker push matst80/otel-debug:latest -kubectl apply -f k8s/ +# Only the app manifests. Not `-f k8s/`: clickhouse.yaml carries a CHANGE_ME +# password Secret that would overwrite the live one, and auth-dev.yaml is a +# partial AuthServer that must be applied by hand with +# `kubectl apply --server-side --field-manager=otel-dev-auth -f k8s/auth-dev.yaml`. +kubectl apply -f k8s/deployment.yaml -f k8s/service.yaml -f k8s/ingress.yaml kubectl rollout restart deployment otel-debug-receiver -n monitoring kubectl rollout status deployment/otel-debug-receiver -n monitoring diff --git a/cmd/issue-model/main.go b/cmd/issue-model/main.go index e385232..b76e1a9 100644 --- a/cmd/issue-model/main.go +++ b/cmd/issue-model/main.go @@ -31,6 +31,10 @@ type event struct { ExceptionType string `json:"exceptionType,omitempty"` Message string `json:"messageNormalized,omitempty"` StackSignature string `json:"stackSignature,omitempty"` + SpanKind uint8 `json:"spanKind,omitempty"` + PeerIPSource string `json:"peerIpSource,omitempty"` + EdgePeerSource string `json:"edgePeerSource,omitempty"` + EdgeService string `json:"edgeService,omitempty"` PatternSignature string `json:"patternSignature"` } @@ -167,6 +171,12 @@ func features(item event) map[string]struct{} { add("exception", item.ExceptionType) add("message", item.Message) add("stack", item.StackSignature) + if item.SpanKind > 0 { + add("spanKind", strconv.Itoa(int(item.SpanKind))) + } + add("peerSource", item.PeerIPSource) + add("edgePeerSource", item.EdgePeerSource) + add("edgeService", item.EdgeService) return result } diff --git a/cmd/training-sample/main.go b/cmd/training-sample/main.go index 469c8de..1594425 100644 --- a/cmd/training-sample/main.go +++ b/cmd/training-sample/main.go @@ -38,6 +38,10 @@ type sample struct { Message string `json:"messageNormalized,omitempty"` StackSignature string `json:"stackSignature,omitempty"` TraceID string `json:"traceId,omitempty"` + SpanKind uint8 `json:"spanKind,omitempty"` + PeerIPSource string `json:"peerIpSource,omitempty"` + EdgePeerSource string `json:"edgePeerSource,omitempty"` + EdgeService string `json:"edgeService,omitempty"` IssueFingerprint string `json:"issueFingerprint,omitempty"` IsRetry uint8 `json:"isRetry"` IsTimeout uint8 `json:"isTimeout"` @@ -90,7 +94,8 @@ func main() { } query := fmt.Sprintf(`SELECT event_id, timestamp, service, release, kind, source, is_error, status_class, status_code, duration_ms, route, span_name, metric_name, metric_type, metric_value, metric_count, metric_sum, metric_min, metric_max, - exception_type, message_normalized, stack_signature, trace_id, issue_fingerprint, is_retry, is_timeout, is_cancellation, exact_signature, pattern_signature + exception_type, message_normalized, stack_signature, trace_id, + span_kind, peer_ip_source, edge_peer_source, edge_service, issue_fingerprint, is_retry, is_timeout, is_cancellation, exact_signature, pattern_signature FROM %s.normalized_events FINAL WHERE timestamp >= toDateTime64('%s', 9, 'UTC') AND timestamp < toDateTime64('%s', 9, 'UTC') ORDER BY pattern_signature, timestamp @@ -105,7 +110,7 @@ func main() { count := 0 for rows.Next() { var item sample - if err := rows.Scan(&item.EventID, &item.Timestamp, &item.Service, &item.Release, &item.Kind, &item.Source, &item.IsError, &item.StatusClass, &item.StatusCode, &item.DurationMS, &item.Route, &item.SpanName, &item.MetricName, &item.MetricType, &item.MetricValue, &item.MetricCount, &item.MetricSum, &item.MetricMin, &item.MetricMax, &item.ExceptionType, &item.Message, &item.StackSignature, &item.TraceID, &item.IssueFingerprint, &item.IsRetry, &item.IsTimeout, &item.IsCancellation, &item.ExactSignature, &item.PatternSignature); err != nil { + if err := rows.Scan(&item.EventID, &item.Timestamp, &item.Service, &item.Release, &item.Kind, &item.Source, &item.IsError, &item.StatusClass, &item.StatusCode, &item.DurationMS, &item.Route, &item.SpanName, &item.MetricName, &item.MetricType, &item.MetricValue, &item.MetricCount, &item.MetricSum, &item.MetricMin, &item.MetricMax, &item.ExceptionType, &item.Message, &item.StackSignature, &item.TraceID, &item.SpanKind, &item.PeerIPSource, &item.EdgePeerSource, &item.EdgeService, &item.IssueFingerprint, &item.IsRetry, &item.IsTimeout, &item.IsCancellation, &item.ExactSignature, &item.PatternSignature); err != nil { log.Fatal(err) } if err := encoder.Encode(item); err != nil {