private async void FindAreaViaWebServiceButton_Click(object sender, EventArgs e) { string opId = Guid.NewGuid().ToString(); var opHolder = new AppInsightLogger().StartOperation <RequestTelemetry>("Find Area Via WebService", opId); Log("FindAreaViaWebServiceButton_Click - Entered", opId); double area = await GetAreaFromReSTAPI(await GetRadiusFromUI(), opId); Log($"FindAreaViaWebServiceButton_Click - Area is - {area}", opId); new AppInsightLogger().StopOperation(opHolder); }
/// <summary> /// Trying this as separate child operation /// </summary> /// <param name="radius"></param> /// <returns></returns> private Task <double> GetAreaTask(double radius, string opId, string parentOpId) { return(Task.Run <double>(() => { var appInsight = new AppInsightLogger(); IOperationHolder <DependencyTelemetry> dep = appInsight.StartOperation <DependencyTelemetry>("GetAreaTask", opId, parentOpId); double area = radius * radius * 3.14; int delay = new Random().Next() % 8000; Log($"Inside GetAreaTask - Going to Delay-{delay}"); Task.Delay(delay).Wait(); Log($"Inside GetAreaTask - Area - {area}"); new AppInsightLogger().StopOperation(dep); return area; })); }
private async Task FindAreaWithCorrelatedAppInsight() { var logger = new AppInsightLogger(); string opId = Guid.NewGuid().ToString(); IOperationHolder <RequestTelemetry> opHolder = new AppInsightLogger().StartOperation("Find Area normal", opId); Log("DoWorkWithCorrelatedAppInsight - Entered", opId); double raidus = await GetRadiusFromUI(); Log("DoWorkWithCorrelatedAppInsight Converted Radius is - ", opId); double area = await GetAreaTask(raidus, opId, opHolder.Telemetry.Id); Log($"DoWorkWithCorrelatedAppInsight Area is - {area}", opId); new AppInsightLogger().StopOperation(opHolder); }