fix partial server metric aggregation

This commit is contained in:
npc0-hue
2026-08-22 11:26:18 +08:00
parent 473246e5d2
commit ec63b8750d
3 changed files with 84 additions and 11 deletions
+3 -3
View File
@@ -35,12 +35,12 @@ func (svc *CoreService) IngestMetricBatch(batch domain.MetricBatchIngest) (domai
return domain.MetricBatchIngestResult{}, validationError("metric sample server must belong to runEndpointId")
}
sample.RunEndpointID = batch.RunEndpointID
if sample.ID == "" {
sample.ID = fmt.Sprintf("metric:%s:%d:%d", sample.ServerInstanceID, sample.CollectedAt.UnixNano(), index)
}
if sample.CollectedAt.IsZero() {
sample.CollectedAt = svc.now()
}
if sample.ID == "" {
sample.ID = fmt.Sprintf("metric:%s:%d:%d", sample.ServerInstanceID, sample.CollectedAt.UnixNano(), index)
}
if err := validator.ValidateMetricSample(sample); err != nil {
return domain.MetricBatchIngestResult{}, err
}