public void ChildTelemetryIsReportedProperlyBetweenBeginEndRequest() { this.module = this.CreateModule(); this.aspNetDiagnosticsSource.StartActivity(); var trace = new TraceTelemetry(); var client = new TelemetryClient(this.configuration); client.TrackTrace(trace); this.aspNetDiagnosticsSource.StopActivity(); Assert.AreEqual(2, this.sendItems.Count); var requestTelemetry = this.sendItems[0] as RequestTelemetry ?? this.sendItems[1] as RequestTelemetry; Assert.IsNotNull(requestTelemetry); Assert.AreEqual(requestTelemetry.Id, trace.Context.Operation.ParentId); Assert.AreEqual(requestTelemetry.Context.Operation.Id, trace.Context.Operation.Id); }
/// <summary> /// Send a trace message for display in Diagnostic Search. /// Create a separate <see cref="TraceTelemetry"/> instance for each call to <see cref="TrackTrace(TraceTelemetry)"/>. /// </summary> /// <param name="telemetry">Message with optional properties.</param> public void TrackTrace(TraceTelemetry telemetry) { telemetry = telemetry ?? new TraceTelemetry(); this.Track(telemetry); }
public void SendEventToValidateEndpoint() { string unicodeString = "русский\\#/\x0000\x0001\x0002\x0003\x0004\x0005\x0006\x0007\x0008\x009Farabicشلاؤيثبلاهتنمةىخحضقسفعشلاؤيصثبل c\n\r\t"; EventTelemetry telemetry1 = new EventTelemetry(unicodeString); MetricTelemetry telemetry2 = new MetricTelemetry("name", 100); DependencyTelemetry telemetry3 = new DependencyTelemetry("name", "commandName", DateTimeOffset.UtcNow, TimeSpan.FromHours(3), true); ExceptionTelemetry telemetry4 = new ExceptionTelemetry(new ArgumentException("Test")); MetricTelemetry telemetry5 = new MetricTelemetry("name", 100); PageViewTelemetry telemetry6 = new PageViewTelemetry("name"); #pragma warning disable 618 PerformanceCounterTelemetry telemetry7 = new PerformanceCounterTelemetry("category", "name", "instance", 100); #pragma warning restore 618 RequestTelemetry telemetry8 = new RequestTelemetry("name", DateTimeOffset.UtcNow, TimeSpan.FromHours(2), "200", true); #pragma warning disable 618 SessionStateTelemetry telemetry9 = new SessionStateTelemetry(SessionState.Start); #pragma warning restore 618 TraceTelemetry telemetry10 = new TraceTelemetry("text"); AvailabilityTelemetry telemetry11 = new AvailabilityTelemetry("name", DateTimeOffset.UtcNow, TimeSpan.FromHours(10), "location", true, "message"); var telemetryItems = new List <ITelemetry> { telemetry1, telemetry2, telemetry3, telemetry4, telemetry5, telemetry6, telemetry7, telemetry8, telemetry9, telemetry10, telemetry11 }; // ChuckNorrisTeamUnitTests resource in Prototypes5 var config = new TelemetryConfiguration("fafa4b10-03d3-4bb0-98f4-364f0bdf5df8"); var telemetryClient = new TelemetryClient(config); telemetryClient.Context.Properties.Add(unicodeString, unicodeString); telemetryClient.Initialize(telemetry1); telemetryClient.Initialize(telemetry2); telemetryClient.Initialize(telemetry3); telemetryClient.Initialize(telemetry4); telemetryClient.Initialize(telemetry5); telemetryClient.Initialize(telemetry6); telemetryClient.Initialize(telemetry7); telemetryClient.Initialize(telemetry8); telemetryClient.Initialize(telemetry9); telemetryClient.Initialize(telemetry10); telemetryClient.Initialize(telemetry11); string json = JsonSerializer.SerializeAsString(telemetryItems); HttpClient client = new HttpClient(); var result = client.PostAsync( "https://dc.services.visualstudio.com/v2/validate", new ByteArrayContent(Encoding.UTF8.GetBytes(json))).GetAwaiter().GetResult(); if (result.StatusCode != HttpStatusCode.OK) { var response = result.Content.ReadAsStringAsync().GetAwaiter().GetResult(); Trace.WriteLine(response); } Assert.Equal(HttpStatusCode.OK, result.StatusCode); }
internal void TrackTrace(TraceTelemetry traceTelemetry) { }