diff --git a/systemtest/approvals/TestServiceMetricsAggregation.approved.json b/systemtest/approvals/TestServiceMetricsAggregation.approved.json index 3dc6986d014..b8298eef661 100644 --- a/systemtest/approvals/TestServiceMetricsAggregation.approved.json +++ b/systemtest/approvals/TestServiceMetricsAggregation.approved.json @@ -2,6 +2,7 @@ "events": [ { "@timestamp": "2006-01-02T15:04:05.000Z", + "_doc_count": 2, "agent": { "name": "go" }, @@ -41,6 +42,7 @@ }, { "@timestamp": "2006-01-02T15:04:05.000Z", + "_doc_count": 2, "agent": { "name": "go" }, diff --git a/x-pack/apm-server/aggregation/servicemetrics/aggregator.go b/x-pack/apm-server/aggregation/servicemetrics/aggregator.go index bb4edcea4e4..08028776218 100644 --- a/x-pack/apm-server/aggregation/servicemetrics/aggregator.go +++ b/x-pack/apm-server/aggregation/servicemetrics/aggregator.go @@ -286,6 +286,7 @@ func makeServiceMetrics(event *model.APMEvent) serviceMetrics { } func makeMetricset(key aggregationKey, metrics serviceMetrics) model.APMEvent { + metricCount := int64(math.Round(metrics.transactionCount)) return model.APMEvent{ Timestamp: key.timestamp, Service: model.Service{ @@ -297,14 +298,15 @@ func makeMetricset(key aggregationKey, metrics serviceMetrics) model.APMEvent { }, Processor: model.MetricsetProcessor, Metricset: &model.Metricset{ - Name: metricsetName, + DocCount: metricCount, + Name: metricsetName, }, Transaction: &model.Transaction{ Type: key.transactionType, FailureCount: int(math.Round(metrics.failureCount)), SuccessCount: int(math.Round(metrics.successCount)), DurationSummary: model.SummaryMetric{ - Count: int64(math.Round(metrics.transactionCount)), + Count: metricCount, Sum: float64(time.Duration(math.Round(metrics.transactionDuration)).Microseconds()), }, }, diff --git a/x-pack/apm-server/aggregation/servicemetrics/aggregator_test.go b/x-pack/apm-server/aggregation/servicemetrics/aggregator_test.go index 6325df8d164..81b75b6f5c6 100644 --- a/x-pack/apm-server/aggregation/servicemetrics/aggregator_test.go +++ b/x-pack/apm-server/aggregation/servicemetrics/aggregator_test.go @@ -111,7 +111,7 @@ func TestAggregatorRun(t *testing.T) { metricsets := batchMetricsets(t, batch) expected := []model.APMEvent{{ Processor: model.MetricsetProcessor, - Metricset: &model.Metricset{Name: "service"}, + Metricset: &model.Metricset{Name: "service", DocCount: 6}, Service: model.Service{Name: "backend"}, Agent: model.Agent{Name: "java"}, Transaction: &model.Transaction{ @@ -125,7 +125,7 @@ func TestAggregatorRun(t *testing.T) { }, }, { Processor: model.MetricsetProcessor, - Metricset: &model.Metricset{Name: "service"}, + Metricset: &model.Metricset{Name: "service", DocCount: 1}, Service: model.Service{Name: "backend"}, Agent: model.Agent{Name: "go"}, Transaction: &model.Transaction{ @@ -137,7 +137,7 @@ func TestAggregatorRun(t *testing.T) { }, }, { Processor: model.MetricsetProcessor, - Metricset: &model.Metricset{Name: "service"}, + Metricset: &model.Metricset{Name: "service", DocCount: 1}, Service: model.Service{Name: "backend"}, Agent: model.Agent{Name: "go"}, Transaction: &model.Transaction{ @@ -149,7 +149,7 @@ func TestAggregatorRun(t *testing.T) { }, }, { Processor: model.MetricsetProcessor, - Metricset: &model.Metricset{Name: "service"}, + Metricset: &model.Metricset{Name: "service", DocCount: 1}, Service: model.Service{Name: "frontend"}, Agent: model.Agent{Name: "rum-js"}, Transaction: &model.Transaction{ @@ -161,7 +161,7 @@ func TestAggregatorRun(t *testing.T) { }, }, { Processor: model.MetricsetProcessor, - Metricset: &model.Metricset{Name: "service"}, + Metricset: &model.Metricset{Name: "service", DocCount: 1}, Service: model.Service{Name: "frontend", Environment: "staging"}, Agent: model.Agent{Name: "rum-js"}, Transaction: &model.Transaction{ @@ -281,7 +281,7 @@ func TestAggregatorMaxGroups(t *testing.T) { }, SuccessCount: 1, }, - Metricset: &model.Metricset{Name: "service"}, + Metricset: &model.Metricset{Name: "service", DocCount: 1}, }, m) } }