From e932ddb2f09678a4ea49f93c85e24d6f30c92d86 Mon Sep 17 00:00:00 2001 From: Vadim Hatsura Date: Sat, 9 Apr 2022 00:44:55 +0200 Subject: [PATCH 1/2] Fix the span subtype for mongo listener --- .../DiagnosticSource/MongoDiagnosticListener.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Elastic.Apm.MongoDb/DiagnosticSource/MongoDiagnosticListener.cs b/src/Elastic.Apm.MongoDb/DiagnosticSource/MongoDiagnosticListener.cs index db8506bcb..4e2545774 100644 --- a/src/Elastic.Apm.MongoDb/DiagnosticSource/MongoDiagnosticListener.cs +++ b/src/Elastic.Apm.MongoDb/DiagnosticSource/MongoDiagnosticListener.cs @@ -55,7 +55,7 @@ private void HandleCommandStartEvent(CommandStartedEvent @event) var span = currentExecutionSegment.StartSpan( @event.CommandName, ApiConstants.TypeDb, - "mongo", isExitSpan: true); + "mongodb", isExitSpan: true); if (!_processingQueries.TryAdd(@event.RequestId, span)) { @@ -70,7 +70,7 @@ private void HandleCommandStartEvent(CommandStartedEvent @event) { Statement = @event.Command.ToString(), Instance = @event.DatabaseNamespace.DatabaseName, - Type = "mongo" + Type = "mongodb" }; if (@event.ConnectionId?.ServerId?.EndPoint != null) From 04fcf0b8f0b5f22e8ad6534c32a12415e5a828f4 Mon Sep 17 00:00:00 2001 From: Greg Kalapos Date: Mon, 11 Apr 2022 15:39:46 +0200 Subject: [PATCH 2/2] Test mongodb subtype --- .../DiagnosticSource/MongoDiagnosticListener.cs | 2 +- src/Elastic.Apm/Api/ApiConstants.cs | 1 + test/Elastic.Apm.MongoDb.Tests/MongoApmTests.cs | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Elastic.Apm.MongoDb/DiagnosticSource/MongoDiagnosticListener.cs b/src/Elastic.Apm.MongoDb/DiagnosticSource/MongoDiagnosticListener.cs index 4e2545774..ff3af75c0 100644 --- a/src/Elastic.Apm.MongoDb/DiagnosticSource/MongoDiagnosticListener.cs +++ b/src/Elastic.Apm.MongoDb/DiagnosticSource/MongoDiagnosticListener.cs @@ -55,7 +55,7 @@ private void HandleCommandStartEvent(CommandStartedEvent @event) var span = currentExecutionSegment.StartSpan( @event.CommandName, ApiConstants.TypeDb, - "mongodb", isExitSpan: true); + ApiConstants.SubTypeMongoDb, isExitSpan: true); if (!_processingQueries.TryAdd(@event.RequestId, span)) { diff --git a/src/Elastic.Apm/Api/ApiConstants.cs b/src/Elastic.Apm/Api/ApiConstants.cs index 4e4153ce0..5d2d183a2 100644 --- a/src/Elastic.Apm/Api/ApiConstants.cs +++ b/src/Elastic.Apm/Api/ApiConstants.cs @@ -18,6 +18,7 @@ public struct ApiConstants public const string SubtypePostgreSql = "postgresql"; public const string SubTypeGrpc = "grpc"; public const string SubTypeRedis = "redis"; + public const string SubTypeMongoDb = "mongodb"; public const string TypeRequest = "request"; public const string TypeDb = "db"; diff --git a/test/Elastic.Apm.MongoDb.Tests/MongoApmTests.cs b/test/Elastic.Apm.MongoDb.Tests/MongoApmTests.cs index 136f6b5da..d8432ddb9 100644 --- a/test/Elastic.Apm.MongoDb.Tests/MongoApmTests.cs +++ b/test/Elastic.Apm.MongoDb.Tests/MongoApmTests.cs @@ -88,7 +88,9 @@ public async Task ApmAgent_ShouldCorrectlyCaptureSpan() { span.TransactionId.Should().Be(_payloadSender.FirstTransaction.Id); span.Context.Db.Instance.Should().Be(DatabaseName); + span.Context.Db.Type.Should().Be("mongodb"); span.Type.Should().Be(ApiConstants.TypeDb); + span.Subtype.Should().Be(ApiConstants.SubTypeMongoDb); span.Context.Destination.Should().NotBeNull(); span.Context.Destination.Address.Should().Be(address);