示例#1
0
        public void CreatingOperationHolderWithParentActivityRestoresIt()
        {
            var client = new TelemetryClient(TelemetryConfiguration.CreateDefault());

            var originalActivity = new Activity("original").Start();
            var operation        = new OperationHolder <DependencyTelemetry>(client, new DependencyTelemetry(), originalActivity);

            // child of original
            var newActivity = new Activity("new").Start();

            operation.Telemetry.Id = newActivity.SpanId.ToHexString();
            operation.Dispose();
            Assert.AreEqual(Activity.Current, originalActivity);
        }
示例#2
0
        public void CreatingOperationHolderWithNullOriginalActivityDoesNotRestoreIt()
        {
            var client = new TelemetryClient(TelemetryConfiguration.CreateDefault());

            var originalActivity = new Activity("original").Start();
            var operation        = new OperationHolder <DependencyTelemetry>(client, new DependencyTelemetry(), null);

            var newActivity = new Activity("new").SetParentId("detached-parent").Start();

            operation.Telemetry.Id = newActivity.SpanId.ToHexString();

            operation.Dispose();
            Assert.IsNull(Activity.Current);
        }
示例#3
0
        public void CreatingOperationHolderWithDetachedOriginalActivityRestoresIt()
        {
            var client = new TelemetryClient(TelemetryConfiguration.CreateDefault());

            var originalActivity = new Activity("original").Start();
            var operation        = new OperationHolder <DependencyTelemetry>(client, new DependencyTelemetry(), originalActivity);

            var newActivity = new Activity("new").SetParentId("detached-parent").Start();

            operation.Telemetry.Id = $"|{newActivity.TraceId.ToHexString()}.{newActivity.SpanId.ToHexString()}.";

            operation.Dispose();
            Assert.AreEqual(Activity.Current, originalActivity);
        }
示例#4
0
 public void CreatingOperationItemDoesNotThrowOnPassingValidArguments()
 {
     var operationItem = new OperationHolder <DependencyTelemetry>(new TelemetryClient(TelemetryConfiguration.CreateDefault()), new DependencyTelemetry());
 }
示例#5
0
 public void CreatingOperationItemWithNullTelemetryThrowsArgumentNullException()
 {
     var operationItem = new OperationHolder <DependencyTelemetry>(new TelemetryClient(TelemetryConfiguration.CreateDefault()), null);
 }
示例#6
0
 public void CreatingOperationItemWithNullTelemetryClientThrowsArgumentNullException()
 {
     var operationItem = new OperationHolder <DependencyTelemetry>(null, new DependencyTelemetry());
 }