private async Task TrackProjectAsync(GenStatusEnum status, string templateName, string appType, string appFx, Guid vsProjectId, string language, int?pagesCount = null, int?featuresCount = null, string pageIdentities = "", string featureIdentites = "", double?timeSpent = null, CreationResultStatus genStatus = CreationResultStatus.Success, string message = "") { var properties = new Dictionary <string, string>() { { TelemetryProperties.Status, status.ToString() }, { TelemetryProperties.ProjectType, appType }, { TelemetryProperties.Framework, appFx }, { TelemetryProperties.TemplateName, templateName }, { TelemetryProperties.GenEngineStatus, genStatus.ToString() }, { TelemetryProperties.GenEngineMessage, message }, { TelemetryProperties.EventName, TelemetryEvents.ProjectGen }, { TelemetryProperties.Language, language }, { TelemetryProperties.VisualStudioActiveProjectGuid, vsProjectId.ToString() }, { TelemetryProperties.VsProjectCategory, "Uwp" }, }; var metrics = new Dictionary <string, double>(); if (pagesCount.HasValue) { metrics.Add(TelemetryMetrics.PagesCount, pagesCount.Value); } if (timeSpent.HasValue) { metrics.Add(TelemetryMetrics.TimeSpent, timeSpent.Value); } if (featuresCount.HasValue) { metrics.Add(TelemetryMetrics.FeaturesCount, featuresCount.Value); } TelemetryService.Current.SafeTrackProjectVsTelemetry(properties, pageIdentities, featureIdentites, metrics, status == GenStatusEnum.Completed); await TelemetryService.Current.TrackEventAsync(TelemetryEvents.ProjectGen, properties, metrics).ConfigureAwait(false); }
public async Task TrackNewItemAsync(TemplateType templateType, string appType, string appFx, Guid vsProjectId, int?pagesCount = null, int?featuresCount = null, string pageIdentities = "", string featuresIdentities = "", double?timeSpent = null, CreationResultStatus genStatus = CreationResultStatus.Success, string message = "") { var newItemType = templateType == TemplateType.Page ? NewItemType.Page : NewItemType.Feature; var properties = new Dictionary <string, string>() { { TelemetryProperties.ProjectType, appType }, { TelemetryProperties.Framework, appFx }, { TelemetryProperties.GenEngineStatus, genStatus.ToString() }, { TelemetryProperties.GenEngineMessage, message }, { TelemetryProperties.EventName, TelemetryEvents.NewItemGen }, { TelemetryProperties.VisualStudioActiveProjectGuid, vsProjectId.ToString() }, { TelemetryProperties.VsProjectCategory, "Uwp" }, { TelemetryProperties.NewItemType, newItemType.ToString() } }; var metrics = new Dictionary <string, double>(); if (pagesCount.HasValue) { metrics.Add(TelemetryMetrics.PagesCount, pagesCount.Value); } if (timeSpent.HasValue) { metrics.Add(TelemetryMetrics.TimeSpent, timeSpent.Value); } if (featuresCount.HasValue) { metrics.Add(TelemetryMetrics.FeaturesCount, featuresCount.Value); } TelemetryService.Current.SafeTrackNewItemVsTelemetry(properties, pageIdentities, featuresIdentities, metrics); await TelemetryService.Current.TrackEventAsync(TelemetryEvents.NewItemGen, properties, metrics).ConfigureAwait(false); }