private IAnalyticsEvent CreateAnalyticsEvent(AnalyticsEventType analyticsEventType, string oldExtensionVersion = null, string selectedDotNetFramework = null, string selectedUnitTestFramework = null) { switch (analyticsEventType) { case AnalyticsEventType.ExtensionLoaded: return(new ExtensionLoadedAnalyticsEvent(DateTime.UtcNow, _userUniqueId.Value, _ideName.Value, _ideVersion.Value, _extensionVersion.Value, _targetFrameworks.Value)); case AnalyticsEventType.ExtensionInstalled: return(new ExtensionInstalledAnalyticsEvent(DateTime.UtcNow, _userUniqueId.Value, _ideVersion.Value, _extensionVersion.Value)); case AnalyticsEventType.ExtensionUpgraded: return(new ExtensionUpgradedAnalyticsEvent(DateTime.UtcNow, _userUniqueId.Value, oldExtensionVersion, _extensionVersion.Value)); case AnalyticsEventType.ExtensionTenDayUsage: return(new ExtensionTenDayUsageAnalyticsEvent(DateTime.UtcNow, _userUniqueId.Value)); case AnalyticsEventType.ExtensionOneHundredDayUsage: return(new ExtensionOneHundredDayUsageAnalyticsEvent(DateTime.UtcNow, _userUniqueId.Value)); case AnalyticsEventType.ExtensionTwoHundredDayUsage: return(new ExtensionTwoHundredDayUsageAnalyticsEvent(DateTime.UtcNow, _userUniqueId.Value)); case AnalyticsEventType.ProjectTemplateWizardStarted: return(new ProjectTemplateWizardStartedAnalyticsEvent(DateTime.UtcNow, _userUniqueId.Value)); case AnalyticsEventType.ProjectTemplateWizardCompleted: return(new ProjectTemplateWizardCompletedAnalyticsEvent(DateTime.UtcNow, _userUniqueId.Value, selectedDotNetFramework, selectedUnitTestFramework)); default: throw new ArgumentOutOfRangeException(nameof(analyticsEventType), analyticsEventType, null); } }
void AddNewTimerObject(AnalyticsEventType newType) { if (timerDict.ContainsKey(newType)) { timerDict[newType] = GetNewTimer(); } else { timerDict.Add(newType, GetNewTimer()); } }
private void TransmitAnalyticsEvent(AnalyticsEventType analyticsEventType, string oldExtensionVersion = null, string selectedDotNetFramework = null, string selectedUnitTestFramework = null) { try { if (!_enableAnalyticsChecker.IsEnabled()) { return; } var analyticsEvent = CreateAnalyticsEvent(analyticsEventType, oldExtensionVersion, selectedDotNetFramework, selectedUnitTestFramework); _analyticsTransmitterSink.TransmitEvent(analyticsEvent); } catch (Exception ex) { TransmitException(ex); } }
private void TransmitAnalyticsEvent(AnalyticsEventType analyticsEventType, string oldExtensionVersion = null) { try { if (!_enableAnalyticsChecker.IsEnabled()) { return; } var analyticsEvent = CreateAnalyticsEvent(analyticsEventType, oldExtensionVersion); _analyticsTransmitterSink.TransmitEvent(analyticsEvent); } catch (Exception ex) { TransmitException(ex); } }