From aec37c52a213e279035bc042a87cceae5e277dd0 Mon Sep 17 00:00:00 2001 From: Michael Murphy <5879863+mrblonde91@users.noreply.github.com> Date: Fri, 13 Jan 2023 16:39:33 +0000 Subject: [PATCH 1/7] Initial work for db.systems --- .../EntityFrameworkDiagnosticListener.cs | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs index 6193cb7d94..789ff3747c 100644 --- a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs +++ b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs @@ -104,18 +104,53 @@ public override void OnCustom(string name, Activity activity, object payload) activity.AddTag(AttributeDbSystem, "cosmosdb"); break; case "Microsoft.EntityFrameworkCore.Sqlite": + case "Devart.Data.SQLite.EFCore": activity.AddTag(AttributeDbSystem, "sqlite"); break; case "MySql.Data.EntityFrameworkCore": case "Pomelo.EntityFrameworkCore.MySql": + case "Devart.Data.MySql.EFCore": activity.AddTag(AttributeDbSystem, "mysql"); break; case "Npgsql.EntityFrameworkCore.PostgreSQL": activity.AddTag(AttributeDbSystem, "postgresql"); break; case "Oracle.EntityFrameworkCore": + case "Devart.Data.Oracle.EFCore": + case "Devart.Data.PostgreSql.EFCore": activity.AddTag(AttributeDbSystem, "oracle"); break; + case "Microsoft.EntityFrameworkCore.InMemory": + activity.AddTag(AttributeDbSystem, "efcore-in-memory"); + break; + case "FirebirdSql.EntityFrameworkCore.Firebird": + activity.AddTag(AttributeDbSystem, "firebird"); + break; + case "FileContextCore": + activity.AddTag(AttributeDbSystem, "filecontextcore"); + break; + case "EntityFrameworkCore.SqlServerCompact35": + case "EntityFrameworkCore.SqlServerCompact40": + activity.AddTag(AttributeDbSystem, "sqlserver-compact"); + break; + case "EntityFrameworkCore.OpenEdge": + activity.AddTag(AttributeDbSystem, "openedge"); + break; + case "IBM.EntityFrameworkCore": + case "IBM.EntityFrameworkCore-lnx": + case "IBM.EntityFrameworkCore-osx": + //outstanding questions + activity.AddTag(AttributeDbSystem, "db2-or-informix"); + break; + case "EntityFrameworkCore.Jet": + activity.AddTag(AttributeDbSystem, "jet"); + break; + case "Google.Cloud.EntityFrameworkCore.Spanner": + activity.AddTag(AttributeDbSystem, "gcp-spanner"); + break; + case "Teradata.EntityFrameworkCore": + activity.AddTag(AttributeDbSystem, "teradata"); + break; default: activity.AddTag(AttributeDbSystem, "other_sql"); activity.AddTag("ef.provider", providerName); From d3cefcfc4afb4751e5e5c628e8597971a390f7e2 Mon Sep 17 00:00:00 2001 From: Michael Murphy <5879863+mrblonde91@users.noreply.github.com> Date: Sun, 15 Jan 2023 18:10:44 +0000 Subject: [PATCH 2/7] Include omitted systems --- .../EntityFrameworkDiagnosticListener.cs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs index 789ff3747c..be9691ba50 100644 --- a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs +++ b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs @@ -113,15 +113,15 @@ public override void OnCustom(string name, Activity activity, object payload) activity.AddTag(AttributeDbSystem, "mysql"); break; case "Npgsql.EntityFrameworkCore.PostgreSQL": + case "Devart.Data.PostgreSql.EFCore": activity.AddTag(AttributeDbSystem, "postgresql"); break; case "Oracle.EntityFrameworkCore": case "Devart.Data.Oracle.EFCore": - case "Devart.Data.PostgreSql.EFCore": activity.AddTag(AttributeDbSystem, "oracle"); break; case "Microsoft.EntityFrameworkCore.InMemory": - activity.AddTag(AttributeDbSystem, "efcore-in-memory"); + activity.AddTag(AttributeDbSystem, "efcore_in_memory"); break; case "FirebirdSql.EntityFrameworkCore.Firebird": activity.AddTag(AttributeDbSystem, "firebird"); @@ -131,26 +131,25 @@ public override void OnCustom(string name, Activity activity, object payload) break; case "EntityFrameworkCore.SqlServerCompact35": case "EntityFrameworkCore.SqlServerCompact40": - activity.AddTag(AttributeDbSystem, "sqlserver-compact"); + activity.AddTag(AttributeDbSystem, "mssql_compact"); break; case "EntityFrameworkCore.OpenEdge": activity.AddTag(AttributeDbSystem, "openedge"); break; - case "IBM.EntityFrameworkCore": - case "IBM.EntityFrameworkCore-lnx": - case "IBM.EntityFrameworkCore-osx": - //outstanding questions - activity.AddTag(AttributeDbSystem, "db2-or-informix"); - break; case "EntityFrameworkCore.Jet": activity.AddTag(AttributeDbSystem, "jet"); break; case "Google.Cloud.EntityFrameworkCore.Spanner": - activity.AddTag(AttributeDbSystem, "gcp-spanner"); + activity.AddTag(AttributeDbSystem, "gcp_spanner"); break; case "Teradata.EntityFrameworkCore": activity.AddTag(AttributeDbSystem, "teradata"); break; + case "IBM.EntityFrameworkCore": + case "IBM.EntityFrameworkCore-lnx": + case "IBM.EntityFrameworkCore-osx": + activity.AddTag(AttributeDbSystem, "ibmdb"); + break; default: activity.AddTag(AttributeDbSystem, "other_sql"); activity.AddTag("ef.provider", providerName); From a00fca755342bf32a7fa48ae8e5c0658b9a5dfb3 Mon Sep 17 00:00:00 2001 From: Michael Murphy <5879863+mrblonde91@users.noreply.github.com> Date: Sun, 15 Jan 2023 18:37:31 +0000 Subject: [PATCH 3/7] Switch to ibm --- .../Implementation/EntityFrameworkDiagnosticListener.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs index be9691ba50..29ac83ee7f 100644 --- a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs +++ b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs @@ -148,7 +148,7 @@ public override void OnCustom(string name, Activity activity, object payload) case "IBM.EntityFrameworkCore": case "IBM.EntityFrameworkCore-lnx": case "IBM.EntityFrameworkCore-osx": - activity.AddTag(AttributeDbSystem, "ibmdb"); + activity.AddTag(AttributeDbSystem, "ibm"); break; default: activity.AddTag(AttributeDbSystem, "other_sql"); From 4731d3cbbcbd10cbfaf8e6278e1209836b5d58ff Mon Sep 17 00:00:00 2001 From: Michael Murphy <5879863+mrblonde91@users.noreply.github.com> Date: Sun, 15 Jan 2023 18:41:21 +0000 Subject: [PATCH 4/7] Update changelog --- .../CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md index 888d86e110..f17008e2f6 100644 --- a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md @@ -11,6 +11,9 @@ * Added support to `EnrichWithIDbCommand` [#868](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/868) +* Map missing dbs to system.db: +`OpenTelemetry.Instrumentation.EntityFrameworkCore` + [#898](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/898) ## 1.0.0-beta.3 From b34b37ecde381facf6b4bf962fde1d4b6e250c15 Mon Sep 17 00:00:00 2001 From: Michael Murphy <5879863+mrblonde91@users.noreply.github.com> Date: Mon, 16 Jan 2023 09:22:29 +0000 Subject: [PATCH 5/7] Update naming --- .../Implementation/EntityFrameworkDiagnosticListener.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs index 29ac83ee7f..05f53f962d 100644 --- a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs +++ b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs @@ -131,7 +131,7 @@ public override void OnCustom(string name, Activity activity, object payload) break; case "EntityFrameworkCore.SqlServerCompact35": case "EntityFrameworkCore.SqlServerCompact40": - activity.AddTag(AttributeDbSystem, "mssql_compact"); + activity.AddTag(AttributeDbSystem, "mssqlcompact"); break; case "EntityFrameworkCore.OpenEdge": activity.AddTag(AttributeDbSystem, "openedge"); @@ -140,7 +140,7 @@ public override void OnCustom(string name, Activity activity, object payload) activity.AddTag(AttributeDbSystem, "jet"); break; case "Google.Cloud.EntityFrameworkCore.Spanner": - activity.AddTag(AttributeDbSystem, "gcp_spanner"); + activity.AddTag(AttributeDbSystem, "spanner"); break; case "Teradata.EntityFrameworkCore": activity.AddTag(AttributeDbSystem, "teradata"); From 9bd909e3a6886f91d8468cc922b66568ccaaf8a1 Mon Sep 17 00:00:00 2001 From: Michael Murphy <5879863+mrblonde91@users.noreply.github.com> Date: Wed, 25 Jan 2023 09:06:19 +0000 Subject: [PATCH 6/7] Omit ibm --- .../CHANGELOG.md | 1 + .../Implementation/EntityFrameworkDiagnosticListener.cs | 7 +------ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md index f17008e2f6..2d571896f6 100644 --- a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md @@ -11,6 +11,7 @@ * Added support to `EnrichWithIDbCommand` [#868](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/868) + * Map missing dbs to system.db: `OpenTelemetry.Instrumentation.EntityFrameworkCore` [#898](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/898) diff --git a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs index 05f53f962d..1740e012c6 100644 --- a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs +++ b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/Implementation/EntityFrameworkDiagnosticListener.cs @@ -121,7 +121,7 @@ public override void OnCustom(string name, Activity activity, object payload) activity.AddTag(AttributeDbSystem, "oracle"); break; case "Microsoft.EntityFrameworkCore.InMemory": - activity.AddTag(AttributeDbSystem, "efcore_in_memory"); + activity.AddTag(AttributeDbSystem, "efcoreinmemory"); break; case "FirebirdSql.EntityFrameworkCore.Firebird": activity.AddTag(AttributeDbSystem, "firebird"); @@ -145,11 +145,6 @@ public override void OnCustom(string name, Activity activity, object payload) case "Teradata.EntityFrameworkCore": activity.AddTag(AttributeDbSystem, "teradata"); break; - case "IBM.EntityFrameworkCore": - case "IBM.EntityFrameworkCore-lnx": - case "IBM.EntityFrameworkCore-osx": - activity.AddTag(AttributeDbSystem, "ibm"); - break; default: activity.AddTag(AttributeDbSystem, "other_sql"); activity.AddTag("ef.provider", providerName); From 1d409b65c87ca87fcee263735ca9a9fb2606a7aa Mon Sep 17 00:00:00 2001 From: Michael Murphy <5879863+mrblonde91@users.noreply.github.com> Date: Thu, 2 Feb 2023 13:04:30 +0000 Subject: [PATCH 7/7] Update src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md Co-authored-by: Vishwesh Bankwar --- .../CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md index af2e652d98..5e06a088e1 100644 --- a/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md +++ b/src/OpenTelemetry.Instrumentation.EntityFrameworkCore/CHANGELOG.md @@ -20,7 +20,7 @@ Released 2023-Jan-25 * Added support to `EnrichWithIDbCommand` ([#868](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/868)) -* Map missing dbs to system.db: +* Map missing dbs to db.system: `OpenTelemetry.Instrumentation.EntityFrameworkCore` [#898](https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/898)