Skip to content

Commit

Permalink
[Instrumentation.ServiceFabricRemoting] initial implementation (#2288)
Browse files Browse the repository at this point in the history
Co-authored-by: Santiago Blanco <[email protected]>
Co-authored-by: Piotr Kiełkowicz <[email protected]>
  • Loading branch information
3 people authored Dec 17, 2024
1 parent aca23a2 commit 8dc8865
Show file tree
Hide file tree
Showing 38 changed files with 1,781 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ body:
- OpenTelemetry.Instrumentation.Process
- OpenTelemetry.Instrumentation.Quartz
- OpenTelemetry.Instrumentation.Runtime
- OpenTelemetry.Instrumentation.ServiceFabricRemoting
- OpenTelemetry.Instrumentation.SqlClient
- OpenTelemetry.Instrumentation.StackExchangeRedis
- OpenTelemetry.Instrumentation.Wcf
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ body:
- OpenTelemetry.Instrumentation.Process
- OpenTelemetry.Instrumentation.Quartz
- OpenTelemetry.Instrumentation.Runtime
- OpenTelemetry.Instrumentation.ServiceFabricRemoting
- OpenTelemetry.Instrumentation.SqlClient
- OpenTelemetry.Instrumentation.StackExchangeRedis
- OpenTelemetry.Instrumentation.Wcf
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/release_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ body:
- OpenTelemetry.Instrumentation.Process
- OpenTelemetry.Instrumentation.Quartz
- OpenTelemetry.Instrumentation.Runtime
- OpenTelemetry.Instrumentation.ServiceFabricRemoting
- OpenTelemetry.Instrumentation.SqlClient
- OpenTelemetry.Instrumentation.StackExchangeRedis
- OpenTelemetry.Instrumentation.Wcf
Expand Down
5 changes: 5 additions & 0 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,11 @@ flags:
paths:
- src/OpenTelemetry.Instrumentation.Runtime

unittests-Instrumentation.ServiceFabricRemoting:
carryforward: true
paths:
- src/OpenTelemetry.Instrumentation.ServiceFabricRemoting

unittests-Instrumentation.SqlClient:
carryforward: true
paths:
Expand Down
4 changes: 4 additions & 0 deletions .github/component_owners.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ components:
src/OpenTelemetry.Instrumentation.Runtime/:
- twenzel
- xiang17
src/OpenTelemetry.Instrumentation.ServiceFabricRemoting/:
- sablancoleis
src/OpenTelemetry.Instrumentation.Wcf/:
- codeblanch
src/OpenTelemetry.PersistentStorage.Abstractions/:
Expand Down Expand Up @@ -149,6 +151,8 @@ components:
test/OpenTelemetry.Instrumentation.Runtime.Tests/:
- twenzel
- xiang17
test/OpenTelemetry.Instrumentation.ServiceFabricRemoting.Tests/:
- sablancoleis
test/OpenTelemetry.Instrumentation.Wcf.Tests/:
- codeblanch
test/OpenTelemetry.PersistentStorage.FileSystem.Tests/:
Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ jobs:
instrumentation-process: ['*/OpenTelemetry.Instrumentation.Process*/**', 'examples/process-instrumentation/**', '!**/*.md']
instrumentation-quartz: ['*/OpenTelemetry.Instrumentation.Quartz*/**', '!**/*.md']
instrumentation-runtime: ['*/OpenTelemetry.Instrumentation.Runtime*/**', 'examples/runtime-instrumentation/**', '!**/*.md']
instrumentation-servicefabricremoting: ['*/OpenTelemetry.Instrumentation.ServiceFabricRemoting*/**', '!**/*.md']
instrumentation-sqlclient: ['*/OpenTelemetry.Instrumentation.SqlClient*/**', '!**/*.md']
instrumentation-stackexchangeredis: ['*/OpenTelemetry.Instrumentation.StackExchangeRedis*/**', 'examples/redis/**', '!**/*.md']
instrumentation-wcf: ['*/OpenTelemetry.Instrumentation.Wcf*/**', 'examples/wcf/**', '!**/*.md']
Expand Down Expand Up @@ -371,6 +372,17 @@ jobs:
project-name: OpenTelemetry.Instrumentation.Runtime
code-cov-name: Instrumentation.Runtime

build-test-instrumentation-servicefabricremoting:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-servicefabricremoting')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.ServiceFabricRemoting]
code-cov-name: Instrumentation.ServiceFabricRemoting

build-test-instrumentation-sqlclient:
needs: detect-changes
if: |
Expand Down Expand Up @@ -563,6 +575,7 @@ jobs:
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-grpcnetclient')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-http')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-runtime')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-servicefabricremoting')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-sqlclient')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-stackexchangeredis')
|| contains(needs.detect-changes.outputs.changes, 'resources-aws')
Expand Down Expand Up @@ -610,6 +623,7 @@ jobs:
build-test-instrumentation-process,
build-test-instrumentation-quartz,
build-test-instrumentation-runtime,
build-test-instrumentation-servicefabricremoting,
build-test-instrumentation-sqlclient,
build-test-instrumentation-stackexchangeredis,
build-test-instrumentation-stackexchangeredis-integration,
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/prepare-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ on:
- OpenTelemetry.Instrumentation.Process
- OpenTelemetry.Instrumentation.Quartz
- OpenTelemetry.Instrumentation.Runtime
- OpenTelemetry.Instrumentation.ServiceFabricRemoting
- OpenTelemetry.Instrumentation.SqlClient
- OpenTelemetry.Instrumentation.StackExchangeRedis
- OpenTelemetry.Instrumentation.Wcf
Expand Down
14 changes: 14 additions & 0 deletions opentelemetry-dotnet-contrib.sln
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "kafka", "kafka", "{3A464E7A
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Examples.ConfluentKafka", "examples\kafka\Examples.ConfluentKafka.csproj", "{9B994669-E839-4C42-A0F1-DF9DD058C1DC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.ServiceFabricRemoting", "src\OpenTelemetry.Instrumentation.ServiceFabricRemoting\OpenTelemetry.Instrumentation.ServiceFabricRemoting.csproj", "{91BA4FF0-50BC-49D0-976B-CBC9E5FE8337}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Instrumentation.ServiceFabricRemoting.Tests", "test\OpenTelemetry.Instrumentation.ServiceFabricRemoting.Tests\OpenTelemetry.Instrumentation.ServiceFabricRemoting.Tests.csproj", "{00C9F0B8-3D51-483C-821A-5889B38A144C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -822,6 +826,14 @@ Global
{9B994669-E839-4C42-A0F1-DF9DD058C1DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B994669-E839-4C42-A0F1-DF9DD058C1DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B994669-E839-4C42-A0F1-DF9DD058C1DC}.Release|Any CPU.Build.0 = Release|Any CPU
{91BA4FF0-50BC-49D0-976B-CBC9E5FE8337}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{91BA4FF0-50BC-49D0-976B-CBC9E5FE8337}.Debug|Any CPU.Build.0 = Debug|Any CPU
{91BA4FF0-50BC-49D0-976B-CBC9E5FE8337}.Release|Any CPU.ActiveCfg = Release|Any CPU
{91BA4FF0-50BC-49D0-976B-CBC9E5FE8337}.Release|Any CPU.Build.0 = Release|Any CPU
{00C9F0B8-3D51-483C-821A-5889B38A144C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{00C9F0B8-3D51-483C-821A-5889B38A144C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{00C9F0B8-3D51-483C-821A-5889B38A144C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{00C9F0B8-3D51-483C-821A-5889B38A144C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -948,6 +960,8 @@ Global
{BE40900A-2859-471D-8802-21DFD73DDAA7} = {2097345F-4DD3-477D-BC54-A922F9B2B402}
{3A464E7A-42F3-44B0-B8D7-80521A7704A6} = {B75EE478-97F7-4E9F-9A5A-DB3D0988EDEA}
{9B994669-E839-4C42-A0F1-DF9DD058C1DC} = {3A464E7A-42F3-44B0-B8D7-80521A7704A6}
{91BA4FF0-50BC-49D0-976B-CBC9E5FE8337} = {22DF5DC0-1290-4E83-A9D8-6BB7DE3B3E63}
{00C9F0B8-3D51-483C-821A-5889B38A144C} = {2097345F-4DD3-477D-BC54-A922F9B2B402}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B0816796-CDB3-47D7-8C3C-946434DE3B66}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#nullable enable
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.AddExceptionAtClient.get -> bool
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.AddExceptionAtClient.set -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.AddExceptionAtServer.get -> bool
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.AddExceptionAtServer.set -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.EnrichAtClientFromRequest.get -> System.Action<System.Diagnostics.Activity!, Microsoft.ServiceFabric.Services.Remoting.V2.IServiceRemotingRequestMessage!>?
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.EnrichAtClientFromRequest.set -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.EnrichAtClientFromResponse.get -> System.Action<System.Diagnostics.Activity!, Microsoft.ServiceFabric.Services.Remoting.V2.IServiceRemotingResponseMessage?, System.Exception?>?
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.EnrichAtClientFromResponse.set -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.Filter.get -> System.Func<Microsoft.ServiceFabric.Services.Remoting.V2.IServiceRemotingRequestMessage!, bool>?
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.Filter.set -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions.ServiceFabricRemotingInstrumentationOptions() -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceRemotingMessageDispatcherAdapter
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceRemotingMessageDispatcherAdapter.Dispose() -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceRemotingMessageDispatcherAdapter.GetRemotingMessageBodyFactory() -> Microsoft.ServiceFabric.Services.Remoting.V2.IServiceRemotingMessageBodyFactory!
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceRemotingMessageDispatcherAdapter.HandleOneWayMessage(Microsoft.ServiceFabric.Services.Remoting.V2.IServiceRemotingRequestMessage! requestMessage) -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceRemotingMessageDispatcherAdapter.HandleRequestResponseAsync(Microsoft.ServiceFabric.Services.Remoting.V2.Runtime.IServiceRemotingRequestContext! requestContext, Microsoft.ServiceFabric.Services.Remoting.V2.IServiceRemotingRequestMessage! requestMessage) -> System.Threading.Tasks.Task<Microsoft.ServiceFabric.Services.Remoting.V2.IServiceRemotingResponseMessage!>!
OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceRemotingMessageDispatcherAdapter.ServiceRemotingMessageDispatcherAdapter(Microsoft.ServiceFabric.Services.Remoting.V2.Runtime.IServiceRemotingMessageHandler! dispatcher) -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedActorRemotingProviderAttribute
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedActorRemotingProviderAttribute.TraceContextEnrichedActorRemotingProviderAttribute() -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingClientFactoryAdapter
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingClientFactoryAdapter.ClientConnected -> System.EventHandler<Microsoft.ServiceFabric.Services.Communication.Client.CommunicationClientEventArgs<Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingClient!>!>!
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingClientFactoryAdapter.ClientDisconnected -> System.EventHandler<Microsoft.ServiceFabric.Services.Communication.Client.CommunicationClientEventArgs<Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingClient!>!>!
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingClientFactoryAdapter.GetClientAsync(System.Fabric.ResolvedServicePartition! previousRsp, Microsoft.ServiceFabric.Services.Communication.Client.TargetReplicaSelector targetReplicaSelector, string! listenerName, Microsoft.ServiceFabric.Services.Communication.Client.OperationRetrySettings! retrySettings, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task<Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingClient!>!
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingClientFactoryAdapter.GetClientAsync(System.Uri! serviceUri, Microsoft.ServiceFabric.Services.Client.ServicePartitionKey! partitionKey, Microsoft.ServiceFabric.Services.Communication.Client.TargetReplicaSelector targetReplicaSelector, string! listenerName, Microsoft.ServiceFabric.Services.Communication.Client.OperationRetrySettings! retrySettings, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task<Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingClient!>!
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingClientFactoryAdapter.GetRemotingMessageBodyFactory() -> Microsoft.ServiceFabric.Services.Remoting.V2.IServiceRemotingMessageBodyFactory!
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingClientFactoryAdapter.ReportOperationExceptionAsync(Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingClient! client, Microsoft.ServiceFabric.Services.Communication.Client.ExceptionInformation! exceptionInformation, Microsoft.ServiceFabric.Services.Communication.Client.OperationRetrySettings! retrySettings, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task<Microsoft.ServiceFabric.Services.Communication.Client.OperationRetryControl!>!
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingClientFactoryAdapter.TraceContextEnrichedServiceRemotingClientFactoryAdapter(Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingClientFactory! serviceRemotingClientFactory) -> void
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingProviderAttribute
OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingProviderAttribute.TraceContextEnrichedServiceRemotingProviderAttribute() -> void
OpenTelemetry.Trace.TracerProviderBuilderExtensions
override OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedActorRemotingProviderAttribute.CreateServiceRemotingClientFactory(Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingCallbackMessageHandler? callbackMessageHandler) -> Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingClientFactory!
override OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedActorRemotingProviderAttribute.CreateServiceRemotingListeners() -> System.Collections.Generic.Dictionary<string!, System.Func<Microsoft.ServiceFabric.Actors.Runtime.ActorService!, Microsoft.ServiceFabric.Services.Remoting.Runtime.IServiceRemotingListener!>!>!
override OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingProviderAttribute.CreateServiceRemotingClientFactoryV2(Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingCallbackMessageHandler? callbackMessageHandler) -> Microsoft.ServiceFabric.Services.Remoting.V2.Client.IServiceRemotingClientFactory!
override OpenTelemetry.Instrumentation.ServiceFabricRemoting.TraceContextEnrichedServiceRemotingProviderAttribute.CreateServiceRemotingListeners() -> System.Collections.Generic.Dictionary<string!, System.Func<System.Fabric.ServiceContext!, Microsoft.ServiceFabric.Services.Remoting.IService!, Microsoft.ServiceFabric.Services.Remoting.Runtime.IServiceRemotingListener!>!>!
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddServiceFabricRemotingInstrumentation(this OpenTelemetry.Trace.TracerProviderBuilder! builder) -> OpenTelemetry.Trace.TracerProviderBuilder!
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddServiceFabricRemotingInstrumentation(this OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder, System.Action<OpenTelemetry.Instrumentation.ServiceFabricRemoting.ServiceFabricRemotingInstrumentationOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
Loading

0 comments on commit 8dc8865

Please sign in to comment.