private static void TrackTelemetry(IEnumerable <GenInfo> genItems, Dictionary <string, TemplateCreationResult> genResults, double timeSpent, string appProjectType, string appFx, string appPlatform, string language) { try { var genItemsTelemetryData = new GenItemsTelemetryData(genItems); foreach (var genInfo in genItems.Where(g => g.Template != null)) { string resultsKey = $"{genInfo.Template.Identity}_{genInfo.Name}"; if (genInfo.Template.GetTemplateType() == TemplateType.Project) { AppHealth.Current.Telemetry.TrackProjectGenAsync(genInfo.Template, appProjectType, appFx, appPlatform, genResults[resultsKey], GenContext.ToolBox.Shell.GetProjectGuidByName(GenContext.Current.ProjectName), language, genItemsTelemetryData, timeSpent, GenContext.Current.ProjectMetrics).FireAndForget(); } else { AppHealth.Current.Telemetry.TrackItemGenAsync(genInfo.Template, GenSourceEnum.NewProject, appProjectType, appFx, appPlatform, genResults[resultsKey]).FireAndForget(); } } } catch (Exception ex) { AppHealth.Current.Exception.TrackAsync(ex, StringRes.ErrorTrackTelemetryException).FireAndForget(); } }
private static void TrackTelemetry(TemplateType templateType, IEnumerable <GenInfo> genItems, Dictionary <string, TemplateCreationResult> genResults, double timeSpent, UserSelectionContext context) { try { var genItemsTelemetryData = new GenItemsTelemetryData(genItems); AppHealth.Current.Telemetry.TrackNewItemAsync(templateType, context, GenContext.ToolBox.Shell.GetProjectGuidByName(GenContext.Current.ProjectName), genItemsTelemetryData, timeSpent).FireAndForget(); foreach (var genInfo in genItems.Where(g => g.Template != null)) { string resultsKey = $"{genInfo.Template.Identity}_{genInfo.Name}"; AppHealth.Current.Telemetry.TrackItemGenAsync(genInfo.Template, GenSourceEnum.NewItem, context, genResults[resultsKey]).FireAndForget(); } } catch (Exception ex) { AppHealth.Current.Exception.TrackAsync(ex, StringRes.ErrorTrackTelemetryException).FireAndForget(); } }