public void BeginWebTrackingWithParentActivityReturnsOperationItemWithTelemetryItemW3COff() { Activity.DefaultIdFormat = ActivityIdFormat.Hierarchical; Activity.ForceDefaultIdFormat = true; var parentActivity = new Activity("test"); parentActivity.SetParentId("|guid.1234_"); parentActivity.AddBaggage("k", "v"); parentActivity.Start(); var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); Assert.AreEqual(parentActivity.Id, telemetry.Context.Operation.ParentId); Assert.AreEqual(parentActivity.RootId, telemetry.Context.Operation.Id); Assert.IsTrue(telemetry.Id.StartsWith(parentActivity.Id, StringComparison.Ordinal)); Assert.AreNotEqual(parentActivity.Id, telemetry.Id); var properties = telemetry.Properties; Assert.AreEqual(1, properties.Count); Assert.AreEqual("v", properties["k"]); parentActivity.Stop(); }
public void BeginWebTrackingWithParentActivityReturnsOperationItemWithTelemetryItem() { var parentActivity = new Activity("test"); parentActivity.AddBaggage("k", "v"); parentActivity.TraceStateString = "state=some"; parentActivity.Start(); var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); var currentActivity = Activity.Current; Assert.IsNotNull(Activity.Current); Assert.AreNotEqual(parentActivity, currentActivity); Assert.AreEqual(parentActivity, currentActivity.Parent); Assert.AreEqual(currentActivity.SpanId.ToHexString(), telemetry.Id); Assert.AreEqual(currentActivity.TraceId.ToHexString(), telemetry.Context.Operation.Id); Assert.AreEqual(currentActivity.ParentSpanId.ToHexString(), telemetry.Context.Operation.ParentId); var properties = telemetry.Properties; Assert.AreEqual(2, properties.Count); Assert.AreEqual("v", properties["k"]); Assert.AreEqual("state=some", properties["tracestate"]); parentActivity.Stop(); }
public void EndTrackingComputesTheDurationOfTelemetryItem() { var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); ClientServerDependencyTracker.EndTracking(this.telemetryClient, telemetry); var telemetryItem = this.sendItems[0] as DependencyTelemetry; this.ValidateSentTelemetry(telemetryItem); }
public void BeginWebTrackingReturnsOperationItemWithTelemetryItem() { var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); Assert.AreEqual(telemetry.Timestamp, telemetry.Timestamp); Assert.IsNull(telemetry.Context.Operation.ParentId); Assert.IsNotNull(telemetry.Context.Operation.Id); Assert.IsTrue(telemetry.Id.StartsWith('|' + telemetry.Context.Operation.Id, StringComparison.Ordinal)); Assert.AreEqual(0, telemetry.Properties.Count); }
public void EndTrackingSendsTelemetryItemOnSuccess() { var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); ClientServerDependencyTracker.EndTracking(this.telemetryClient, telemetry); Assert.AreEqual(1, this.sendItems.Count); telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); ClientServerDependencyTracker.EndTracking(this.telemetryClient, telemetry); Assert.AreEqual(2, this.sendItems.Count); }
public void EndTrackingTracksTelemetryItemWithInitializedContent() { var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); ClientServerDependencyTracker.EndTracking(this.telemetryClient, telemetry); var telemetryItem = this.sendItems[0] as DependencyTelemetry; Assert.IsNotNull(telemetryItem.Context.User.Id); Assert.IsNotNull(telemetryItem.Context.Session.Id); Assert.AreEqual(telemetryItem.Context.User.Id, "UserID"); Assert.AreEqual(telemetryItem.Context.Session.Id, "SessionID"); }
public void BeginWebTrackingWithParentActivityReturnsOperationItemWithTelemetryItemNoParent() { var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); var currentActivity = Activity.Current; Assert.IsNotNull(Activity.Current); Assert.IsNull(currentActivity.Parent); Assert.AreEqual(currentActivity.SpanId.ToHexString(), telemetry.Id); Assert.AreEqual(currentActivity.TraceId.ToHexString(), telemetry.Context.Operation.Id); Assert.IsNull(telemetry.Context.Operation.ParentId); var properties = telemetry.Properties; Assert.AreEqual(0, properties.Count); }
public void BeginWebTrackingWithDesktopParentActivityReturnsOperationItemWithTelemetryItem() { var activity = new Activity("System.Net.Http.Desktop.HttpRequestOut"); activity.SetParentId(ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom(), ActivityTraceFlags.None); activity.AddBaggage("k", "v"); activity.Start(); var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); Assert.AreEqual(activity.SpanId.ToHexString(), telemetry.Id); Assert.AreEqual(activity.TraceId.ToHexString(), telemetry.Context.Operation.Id); Assert.AreEqual(activity.ParentSpanId.ToHexString(), telemetry.Context.Operation.ParentId); var properties = telemetry.Properties; Assert.AreEqual(1, properties.Count); Assert.AreEqual("v", properties["k"]); activity.Stop(); }
public void BeginWebTrackingWithDesktopParentActivityReturnsOperationItemWithTelemetryItem() { var parentActivity = new Activity("System.Net.Http.Desktop.HttpRequestOut"); parentActivity.SetParentId("|guid.1234_"); parentActivity.AddBaggage("k", "v"); parentActivity.Start(); var telemetry = ClientServerDependencyTracker.BeginTracking(this.telemetryClient); Assert.AreEqual(parentActivity.Id, telemetry.Id); Assert.AreEqual(parentActivity.RootId, telemetry.Context.Operation.Id); Assert.AreEqual(parentActivity.ParentId, telemetry.Context.Operation.ParentId); var properties = telemetry.Context.Properties; Assert.AreEqual(1, properties.Count); Assert.AreEqual("v", properties["k"]); parentActivity.Stop(); }