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);
            }
        }
Пример #2
0
        public async Task <IResult> TransmitEvent(IAnalyticsEvent analyticsEvent)
        {
            if (!_environmentSpecFlowTelemetryChecker.IsSpecFlowTelemetryEnabled())
            {
                return(Result.Success());
            }

            return(await _analyticsTransmitterSink.TransmitEvent(analyticsEvent));
        }
Пример #3
0
        public Task <IResult> TransmitEvent(IAnalyticsEvent analyticsEvent)
        {
            if (!IsEnabled)
            {
                return(Task.FromResult(Result.Success()));
            }

            return(_analyticsTransmitterSink.TransmitEvent(analyticsEvent));
        }
Пример #4
0
        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);
            }
        }
        public async Task TransmitRuntimeEvent(IAnalyticsEvent runtimeEvent)
        {
            var ideVersion           = _applicationHost.HostProductInfo.VersionMarketingString;
            var specFlowId           = _specFlowUserIdStore.GetUserId();
            var currentPluginVersion = Assembly.GetExecutingAssembly().GetName().Version;
            var properties           = runtimeEvent.Properties;

            properties.Add("Ide", "JetBrains Rider");
            properties.Add("IdeVersion", ideVersion);
            properties.Add("ExtensionVersion", currentPluginVersion.ToString());
            await _analyticsTransmitterSink.TransmitEvent(runtimeEvent, specFlowId);
        }
Пример #6
0
        public void TransmitSpecflowProjectCompilingEvent(SpecFlowProjectCompilingEvent projectCompilingEvent)
        {
            try
            {
                if (!_environmentSpecFlowTelemetryChecker.IsSpecFlowTelemetryEnabled())
                {
                    return;
                }

                _analyticsTransmitterSink.TransmitEvent(projectCompilingEvent);
            }
            catch (Exception)
            {
                //nope
            }
        }
Пример #7
0
        private void TransmitEvent(IAnalyticsEvent analyticsEvent)
        {
            try
            {
                if (!_environmentSpecFlowTelemetryChecker.IsSpecFlowTelemetryEnabled())
                {
                    return;
                }

                _analyticsTransmitterSink.TransmitEvent(analyticsEvent);
            }
            catch (Exception)
            {
                //nope
            }
        }
        public void TransmitExtensionLoadedEvent(string ide, string ideVersion, string extensionVersion)
        {
            try
            {
                if (!_enableAnalyticsChecker.IsEnabled())
                {
                    return;
                }

                var userUniqueId        = _userUniqueIdStore.Get();
                var logonAnalyticsEvent = new ExtensionLoadedAnalyticsEvent(DateTime.UtcNow, userUniqueId, ide, ideVersion, extensionVersion);
                _analyticsTransmitterSink.TransmitEvent(logonAnalyticsEvent);
            }
            catch (Exception)
            {
                // catch all exceptions since we do not want to break the whole extension simply because data transmission failed
            }
        }