Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
205e59f
[Remoting] Init Commit, following project standards
lewis800 Feb 1, 2026
11dc424
[Remoting] Using lib helper for assembly version
lewis800 Feb 2, 2026
caa3454
[Remoting] Removing Deprecated rpc.service
lewis800 Feb 2, 2026
a15aa9b
[Remoting] new constructor for tracer provider, formatting and sdk
lewis800 Feb 2, 2026
3fbe3b8
[Remoting] Implemented Enrich option and RecordException, added
lewis800 Feb 2, 2026
4c31300
[Remoting] Fixing Test, in consideration of new options and semantics
lewis800 Feb 2, 2026
d3e8792
[Remoting] Update readme, and workflows with code new codeowner and
lewis800 Feb 9, 2026
233ccff
[Remoting] Moving Tags into StartActivity to allow for HeadSampling
lewis800 Feb 9, 2026
905c90e
[Remoting] Removing rpc.netframework_remoting.uri as it is not apart …
lewis800 Feb 9, 2026
7bbc667
Update src/OpenTelemetry.Instrumentation.Remoting/Implementation/Tele…
lewis800 Feb 9, 2026
a7d0a14
Update src/OpenTelemetry.Instrumentation.Remoting/TracerProviderBuild…
lewis800 Feb 9, 2026
e613985
Update src/OpenTelemetry.Instrumentation.Remoting/TracerProviderBuild…
lewis800 Feb 9, 2026
81acbbc
[Remoting] making configure delegate lazy
lewis800 Feb 9, 2026
ffa136d
[Remoting] Adding asserts for registering dynamic property only once
lewis800 Feb 9, 2026
d07e5f0
[Remoting] passing in remoting options to remove warnings
lewis800 Feb 9, 2026
adc75b2
[Remoting] ensure appdomain unload is called if tests fail
lewis800 Feb 9, 2026
23c6aec
[Remoting] Adding in additional tags as per 1.39 of semantic conventions
lewis800 Feb 10, 2026
4857bc5
[Remoting] Updating rpc.system.name based on feedback from semantic r…
lewis800 Feb 19, 2026
13e5c42
Update src/OpenTelemetry.Instrumentation.Remoting/README.md
lewis800 Feb 19, 2026
0128866
[Remoting] Updating Readme to reference OpenTelemetry.Exporter.OpenTe…
lewis800 Feb 19, 2026
25b1b97
[Remoting] Adding change log and small markdown fix
lewis800 Feb 19, 2026
ce755a5
[Remoting] Adjusting RemotingInstrumentationEnrichEventNames to be in…
lewis800 Feb 19, 2026
b766b5f
[Remoting] refactored to de dup
lewis800 Feb 19, 2026
ff4d60e
[Remoting] Changing link to perma link
lewis800 Feb 19, 2026
571156a
[Remoting] refactored new private helper GetFullyQualifiedMethod to d…
lewis800 Feb 19, 2026
10cc4c1
Apply suggestion from @martincostello
lewis800 Feb 19, 2026
398e96e
Apply suggestions from code review
lewis800 Feb 19, 2026
caef9a5
[Remoting] Updating langword for RecordException default to false
lewis800 Feb 19, 2026
28460ee
[Remoting] Passing in ActivitySource to improve testability and addin…
lewis800 Feb 19, 2026
50a655a
[Remoting] Updating test to reflect rpc.system.name change
lewis800 Feb 20, 2026
085a9e4
[Remoting] Updating public api to remove RemotingInstrumentationEnric…
lewis800 Feb 20, 2026
9f2b9aa
[Remoting] fix: adjusting readme exporter example
lewis800 Mar 5, 2026
ca2a44a
Apply suggestion from @martincostello
lewis800 Mar 5, 2026
df891c2
[Remoting] fix: Making serviceNameCache not static for testability
lewis800 Mar 5, 2026
1a196d5
[Remoting] fix: use Interlocked for dynamic sink registration count
lewis800 Mar 5, 2026
95b115a
[Remoting] fix: emit telemetry schema URL for activity source
lewis800 Mar 5, 2026
5562dcf
[Remoting] Apply suggestions from code review
lewis800 Mar 6, 2026
690cc4b
[Remoting] Renaming for readability
lewis800 Mar 6, 2026
70111dd
[Remoting] Simplify null check
lewis800 Mar 6, 2026
36903c9
[Remoting] static first in order, and rename msg > message
lewis800 Mar 6, 2026
0d016a0
[Remoting] feat: Migrating to use SemanticConventions.cs constants
lewis800 Mar 6, 2026
40e1d1f
[Remoting] Fix Linting
lewis800 Mar 8, 2026
0cb35f2
[Remoting] Update remoting instrumentation to cache reloadable options
lewis800 Mar 10, 2026
4d0b953
[Remoting] fix changing options from method to property
lewis800 Mar 15, 2026
3ba2493
[Remoting] Fix comment semantic version, simplify array init
lewis800 Mar 22, 2026
06efa83
Merge branch 'open-telemetry:main' into remoting
lewis800 Mar 27, 2026
73467f8
[Remoting] Refine enrich callbacks and activity source handling
lewis800 Mar 27, 2026
9ad23a3
[Remoting] Removing unused code
lewis800 Mar 27, 2026
f33a531
[Remoting] Remove RecordException
lewis800 Mar 27, 2026
6e389fa
Merge branch 'open-telemetry:main' into remoting
lewis800 Mar 30, 2026
a3ef99e
Merge branch 'main' into remoting
lewis800 Apr 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.EnrichWithMethodMessage.get -> System.Action<System.Diagnostics.Activity!, System.Runtime.Remoting.Messaging.IMethodMessage!>?
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.EnrichWithMethodMessage.set -> void
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.EnrichWithMethodReturnMessage.get -> System.Action<System.Diagnostics.Activity!, System.Runtime.Remoting.Messaging.IMethodReturnMessage!>?
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.EnrichWithMethodReturnMessage.set -> void
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.Filter.get -> System.Func<System.Runtime.Remoting.Messaging.IMessage!, bool>?
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.Filter.set -> void
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.Propagator.get -> OpenTelemetry.Context.Propagation.TextMapPropagator!
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.Propagator.set -> void
OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions.RemotingInstrumentationOptions() -> void
OpenTelemetry.Trace.TracerProviderBuilderExtensions
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddRemotingInstrumentation(this OpenTelemetry.Trace.TracerProviderBuilder! builder) -> OpenTelemetry.Trace.TracerProviderBuilder!
static OpenTelemetry.Trace.TracerProviderBuilderExtensions.AddRemotingInstrumentation(this OpenTelemetry.Trace.TracerProviderBuilder! builder, System.Action<OpenTelemetry.Instrumentation.Remoting.RemotingInstrumentationOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
2 changes: 2 additions & 0 deletions src/OpenTelemetry.Instrumentation.Remoting/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@

## Unreleased

* This is the first release of `OpenTelemetry.Instrumentation.Remoting` package.

For more details, please refer to the [README](README.md).
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

using System.Diagnostics.Tracing;
using OpenTelemetry.Internal;

namespace OpenTelemetry.Contrib.Instrumentation.Remoting.Implementation;

[EventSource(Name = "OpenTelemetry-Instrumentation-Remoting")]
internal class RemotingInstrumentationEventSource : EventSource
{
public static readonly RemotingInstrumentationEventSource Log = new();

[NonEvent]
public void MessageFilterException(Exception ex)
{
if (this.IsEnabled(EventLevel.Error, (EventKeywords)(-1)))
{
this.MessageFilterException(ex.ToInvariantString());
}
}

[Event(1, Message = "InstrumentationFilter threw an exception. Message will not be collected. Exception {0}.", Level = EventLevel.Error)]
public void MessageFilterException(string exception)
{
this.WriteEvent(1, exception);
}

[NonEvent]
public void DynamicSinkException(Exception ex)
{
if (this.IsEnabled(EventLevel.Error, (EventKeywords)(-1)))
{
this.DynamicSinkException(ex.ToInvariantString());
}
}

[Event(2, Message = "DynamicSink message processor threw an exception. Remoting activity will not be recorded. Exception {0}.", Level = EventLevel.Error)]
public void DynamicSinkException(string exception)
{
this.WriteEvent(2, exception);
}

[NonEvent]
public void MethodMessageEnrichmentException(Exception ex)
{
if (this.IsEnabled(EventLevel.Error, (EventKeywords)(-1)))
{
this.MethodMessageEnrichmentException(ex.ToInvariantString());
}
}

[Event(3, Message = "EnrichWithMethodMessage threw exception. Exception {0}.", Level = EventLevel.Error)]
public void MethodMessageEnrichmentException(string exception) => this.WriteEvent(3, exception);

[NonEvent]
public void MethodReturnMessageEnrichmentException(Exception ex)
{
if (this.IsEnabled(EventLevel.Error, (EventKeywords)(-1)))
{
this.MethodReturnMessageEnrichmentException(ex.ToInvariantString());
}
}

[Event(4, Message = "EnrichWithMethodReturnMessage threw exception. Exception {0}.", Level = EventLevel.Error)]
public void MethodReturnMessageEnrichmentException(string exception) => this.WriteEvent(4, exception);
}
Loading
Loading