Exemplo n.º 1
0
        private void InitializeTelemetry()
        {
            var _logger = new SIM.Core.Logging.SitecoreLogger(Microsoft.Extensions.Logging.LogLevel.Debug);

            var kbProviderConfiguration = new KBProviderConfiguration()
            {
                BaseAddress = Constants.KBProviderBaseAddress
            };

            var kbTelemetryProvider = new KnowledgeBaseProvider(kbProviderConfiguration, true, _logger);

            Telemetry.Analytics.RegisterProvider(kbTelemetryProvider);

            try
            {
                string appVersion = string.IsNullOrEmpty(ApplicationManager.AppVersion) ? "0.0.0.0" : ApplicationManager.AppVersion;

                var telemetryEventContext = new TelemetryEventContext(
                    Constants.SitecoreInstanceManagerAppId,
                    AnalyticsHelper.GetDeviceId(ApplicationManager.TempFolder, _logger),
                    appVersion,
                    _logger
                    );

                Telemetry.Analytics.Initialize(telemetryEventContext, WindowsSettings.AppTelemetryEnabled.Value, _logger);
            }
            catch (Exception ex)
            {
                Log.Error($"'TelemetryEventContext' error occurred.{Environment.NewLine}" +
                          $"Message: {ex.Message}{Environment.NewLine}," +
                          $"{ex.StackTrace}");

                return;
            }
        }
Exemplo n.º 2
0
        public static void Initialize([CanBeNull] TelemetryEventContext telemetryEventContext,
                                      bool trackingEnabled,
                                      [CanBeNull] ILogger logger)
        {
            if (telemetryEventContext == null)
            {
                throw new ArgumentNullException(nameof(telemetryEventContext));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            EventContext      = telemetryEventContext;
            IsTrackingEnabled = trackingEnabled;
            _logger           = logger;

            if (telemetryEventContext.DeviceId != Guid.Empty)
            {
                IsInitialized = true;
            }
            else
            {
                IsInitialized = false;

                _logger.LogDebug($"'Telemetry.Analytics' initialization failed. 'DeviceId' is empty.");
            }

            _logger.LogInformation("'Telemetry.Analytics' has been initialized successfully");
        }
Exemplo n.º 3
0
        public void Ctor_ShouldNotThrow_ArgumentNullOrEmpty(string version)
        {
            // Arrange
            var     app    = Guid.NewGuid();
            var     device = Guid.NewGuid();
            ILogger logger = Substitute.For <ILogger>();


            // Act
            var context = new TelemetryEventContext(app, device, version, logger);

            // Assert
            Assert.NotNull(context);
        }
 public abstract void TrackEvent(string telemetryEvent, Dictionary <string, string> customEventData, TelemetryEventContext telemetryEventContext);
Exemplo n.º 5
0
        public override void TrackEvent(string telemetryEvent, Dictionary <string, string> customEventData, TelemetryEventContext eventContext)
        {
            var appUtilizationModel = eventContext.ToAppUtilizationModel(telemetryEvent, customEventData);

            try
            {
                var utilizationModelJson = JsonConvert.SerializeObject(appUtilizationModel);

                var stringContent = new StringContent(utilizationModelJson, Encoding.UTF8, "application/json");

                var response = Client.PutAsync(this.BaseAddress, stringContent).Result;

                response.EnsureSuccessStatusCode();
            }
            catch (HttpRequestException e)
            {
                var errorMessage = $"KnowledgeBaseProvider: telemetry tracking failed.";

                _logger.LogDebug(e, errorMessage);
            }
        }