[Shim] Start/StopOperation with tests#3011
Merged
rajkumar-rangaraj merged 2 commits intodevelopfrom Nov 10, 2025
Merged
Conversation
Member
Author
|
@copilot summarize the changes in this PR |
4 tasks
|
@rajkumar-rangaraj I've opened a new pull request, #3012, to work on those changes. Once the pull request is ready, I'll request review from you. |
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR removes multiple test files as part of a shim-related effort for Start/StopOperation functionality. The changes involve deleting test files covering various SDK components including telemetry configuration, tracing, extensibility, and platform implementation.
Reviewed Changes
Copilot reviewed 104 out of 173 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| FailOnAssertSetup.cs | Removes test setup for converting Debug.Assert into test failures (NETFRAMEWORK only) |
| TelemetrySinkTests.cs | Removes tests for telemetry sink functionality including processor chains and multi-sink scenarios |
| TelemetryConfigurationTest.cs | Removes comprehensive tests for TelemetryConfiguration including Active property, CreateDefault method, and connection string handling |
| TelemetryConfigurationFactoryTest.cs | Removes extensive tests for configuration factory initialization and XML parsing |
| Multiple Tracing Test Files | Removes various tracing-related tests including diagnostics, event throttling, heartbeat, and self-diagnostics |
| Multiple Implementation Test Files | Removes tests for core implementation classes like snapshotting collections, telemetry processors, and platform-specific functionality |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix Issue # .
Changes
Shims
StartOperationextension methods forTelemetryClientto enable manual operation tracking with proper W3C trace context propagation and Activity lifecycle management.API Surface
StartOperation<T>overloads modified:StartOperation<T>(operationName, operationId, parentOperationId)- Explicit trace/span ID control for distributed tracing scenariosStartOperation<T>(operationTelemetry)- Initialize from pre-configured telemetry objectStartOperation<T>(activity)- Link existing Activity to telemetry (e.g., from message queues, manual instrumentation)Returns
IOperationHolder<T>that auto-tracks telemetry onDispose().Core Fixes
Parent ID handling: Only set
Context.Operation.ParentIdwhen non-default to prevent invalid "0000000000000000" values on root operations.Ambient activity suppression: Root operations (no parent span) now suppress
Activity.Currentduring creation to prevent incorrect parent relationships. Suppressed activity restored on dispose if still active.Operation name consistency: Set on both Activity tags and
Context.Operation.Namefor reliable retrieval.Activity integration: Baggage and tags from existing Activity copied to telemetry properties for context preservation.
Supporting Changes
OperationHolder<T>tracks and restores suppressed ambient activitiesDependencyTelemetryandExceptionTelemetryinitializePropertiesdictionary in constructorsBasicConsoleAppupdated with working examplesUsage Example