Skip to content

Commit 47f16b5

Browse files
authored
Update MongoDb integration (open-telemetry#421)
* Add MongoDB integration * Start mongodb service for mac * run mongodb directly windows
1 parent c529510 commit 47f16b5

File tree

20 files changed

+678
-901
lines changed

20 files changed

+678
-901
lines changed

.github/workflows/ci.yml

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ jobs:
2121
3.1.x
2222
5.0.x
2323
6.0.x
24+
- name: Start MongoDB service
25+
if: ${{ runner.os == 'macOS' }}
26+
run: brew services start mongodb-community
2427
- run: ./build.cmd Workflow
2528
- name: Upload logs
2629
uses: actions/[email protected]

OpenTelemetry.AutoInstrumentation.sln

+30
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTests.Http", "te
135135
EndProject
136136
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Examples.CoreAppOldReference", "examples\CoreAppOldReference\Examples.CoreAppOldReference.csproj", "{6ACF2A48-427F-4EF2-81B5-EE9CDB0476C6}"
137137
EndProject
138+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IntegrationTests.MongoDB", "test\integration-tests\IntegrationTests.MongoDB\IntegrationTests.MongoDB.csproj", "{75EB97DD-E191-4BDF-83DE-E26785567710}"
139+
EndProject
140+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestApplication.MongoDB", "test\test-applications\integrations\TestApplication.MongoDB\TestApplication.MongoDB.csproj", "{3B77F975-BF66-4218-9982-F48D3271DDFE}"
141+
EndProject
138142
Global
139143
GlobalSection(SolutionConfigurationPlatforms) = preSolution
140144
Debug|Any CPU = Debug|Any CPU
@@ -539,6 +543,30 @@ Global
539543
{6ACF2A48-427F-4EF2-81B5-EE9CDB0476C6}.Release|x64.Build.0 = Release|Any CPU
540544
{6ACF2A48-427F-4EF2-81B5-EE9CDB0476C6}.Release|x86.ActiveCfg = Release|Any CPU
541545
{6ACF2A48-427F-4EF2-81B5-EE9CDB0476C6}.Release|x86.Build.0 = Release|Any CPU
546+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
547+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Debug|Any CPU.Build.0 = Debug|Any CPU
548+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Debug|x64.ActiveCfg = Debug|Any CPU
549+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Debug|x64.Build.0 = Debug|Any CPU
550+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Debug|x86.ActiveCfg = Debug|Any CPU
551+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Debug|x86.Build.0 = Debug|Any CPU
552+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Release|Any CPU.ActiveCfg = Release|Any CPU
553+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Release|Any CPU.Build.0 = Release|Any CPU
554+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Release|x64.ActiveCfg = Release|Any CPU
555+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Release|x64.Build.0 = Release|Any CPU
556+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Release|x86.ActiveCfg = Release|Any CPU
557+
{75EB97DD-E191-4BDF-83DE-E26785567710}.Release|x86.Build.0 = Release|Any CPU
558+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Debug|Any CPU.ActiveCfg = Debug|x64
559+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Debug|Any CPU.Build.0 = Debug|x64
560+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Debug|x64.ActiveCfg = Debug|x64
561+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Debug|x64.Build.0 = Debug|x64
562+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Debug|x86.ActiveCfg = Debug|x86
563+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Debug|x86.Build.0 = Debug|x86
564+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Release|Any CPU.ActiveCfg = Release|x64
565+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Release|Any CPU.Build.0 = Release|x64
566+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Release|x64.ActiveCfg = Release|x64
567+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Release|x64.Build.0 = Release|x64
568+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Release|x86.ActiveCfg = Release|x86
569+
{3B77F975-BF66-4218-9982-F48D3271DDFE}.Release|x86.Build.0 = Release|x86
542570
EndGlobalSection
543571
GlobalSection(SolutionProperties) = preSolution
544572
HideSolutionNode = FALSE
@@ -585,6 +613,8 @@ Global
585613
{4E17BE29-B227-41D8-97FE-26F674951E26} = {E409ADD3-9574-465C-AB09-4324D205CC7C}
586614
{413326C3-4B8F-4C44-93C8-0E20EFB97DB4} = {357C3F25-98CA-41C6-BA2C-20968695D026}
587615
{6ACF2A48-427F-4EF2-81B5-EE9CDB0476C6} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
616+
{75EB97DD-E191-4BDF-83DE-E26785567710} = {357C3F25-98CA-41C6-BA2C-20968695D026}
617+
{3B77F975-BF66-4218-9982-F48D3271DDFE} = {E409ADD3-9574-465C-AB09-4324D205CC7C}
588618
EndGlobalSection
589619
GlobalSection(ExtensibilityGlobals) = postSolution
590620
SolutionGuid = {160A1D00-1F5B-40F8-A155-621B4459D78F}

integrations.json

+28
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,32 @@
11
[
2+
{
3+
"name": "MongoDb",
4+
"method_replacements": [
5+
{
6+
"caller": {},
7+
"target": {
8+
"assembly": "MongoDB.Driver",
9+
"type": "MongoDB.Driver.MongoClient",
10+
"method": ".ctor",
11+
"signature_types": [
12+
"System.Void",
13+
"MongoDB.Driver.MongoClientSettings"
14+
],
15+
"minimum_major": 2,
16+
"minimum_minor": 0,
17+
"minimum_patch": 0,
18+
"maximum_major": 2,
19+
"maximum_minor": 65535,
20+
"maximum_patch": 65535
21+
},
22+
"wrapper": {
23+
"assembly": "OpenTelemetry.AutoInstrumentation",
24+
"type": "OpenTelemetry.AutoInstrumentation.Instrumentations.MongoDb.MongoClientIntegration",
25+
"action": "CallTargetModification"
26+
}
27+
}
28+
]
29+
},
230
{
331
"name": "GraphQL",
432
"method_replacements": [

src/OpenTelemetry.AutoInstrumentation.AdditionalDeps/Directory.Build.props

+1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
<ItemGroup>
33
<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="6.0.0" />
44
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
5+
<PackageReference Include="MongoDB.Driver.Core.Extensions.DiagnosticSources" Version="1.1.0" />
56
</ItemGroup>
67
</Project>

src/OpenTelemetry.AutoInstrumentation.Native/cor_profiler.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -2472,7 +2472,7 @@ size_t CorProfiler::CallTarget_RequestRejitForModule(ModuleID module_id, ModuleM
24722472
if (numOfArgs != integration.replacement.target_method.signature_types.size() - 1)
24732473
{
24742474
Logger::Debug("The caller for the methoddef: ", integration.replacement.target_method.method_name,
2475-
" doesn't have the right number of arguments.");
2475+
" doesn't have the right number of arguments(", numOfArgs, " arguments).");
24762476
enumIterator = ++enumIterator;
24772477
continue;
24782478
}

src/OpenTelemetry.AutoInstrumentation/Configuration/EnvironmentConfigurationHelper.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ internal static class EnvironmentConfigurationHelper
3131
{
3232
[Instrumentation.HttpClient] = builder => builder.AddHttpClientInstrumentation(),
3333
[Instrumentation.AspNet] = builder => builder.AddSdkAspNetInstrumentation(),
34-
[Instrumentation.SqlClient] = builder => builder.AddSqlClientInstrumentation()
34+
[Instrumentation.SqlClient] = builder => builder.AddSqlClientInstrumentation(),
35+
[Instrumentation.MongoDb] = builder => builder.AddSource("MongoDB.Driver.Core.Extensions.DiagnosticSources")
3536
};
3637

3738
public static TracerProviderBuilder UseEnvironmentVariables(this TracerProviderBuilder builder, Settings settings)

src/OpenTelemetry.AutoInstrumentation/Configuration/Instrumentation.cs

+5
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,9 @@ public enum Instrumentation
4040
/// GraphQL instrumentation.
4141
/// </summary>
4242
GraphQL,
43+
44+
/// <summary>
45+
/// MongoDb instrumentation.
46+
/// </summary>
47+
MongoDb
4348
}

src/OpenTelemetry.AutoInstrumentation/Emit/DelegateMetadata.cs

-67
This file was deleted.

0 commit comments

Comments
 (0)