public ReceivedTelemetryEventArgs(
     TelemetryEventType telemetryType,
     string message,
     string sender,
     string receiver,
     DateTime timestamp)
 {
     TelemetryType = telemetryType;
     Message       = message;
     Sender        = sender;
     Receiver      = receiver;
     Timestamp     = timestamp;
 }
示例#2
0
        public void LogData(TelemetryEventType eventType, string action, Exception exception = null)
        {
            if (!_pluginControl.Settings.AllowLogUsage)
            {
                return;
            }

            switch (eventType)
            {
            case TelemetryEventType.Event:
                _tmClient.TrackEvent(action, AssembleProperties());
                break;
            }
        }
示例#3
0
        private void HandleOnNotificationReceivedTimerTick(object state)
        {
            // there should be actual business logic for receiving data from NASA servers,
            // but that is just testing example application, so just generate messages randomly

            TelemetryEventType argsType = (TelemetryEventType)(_random.Next() % 4);

            var args = new ReceivedTelemetryEventArgs(
                argsType,
                _perNotificationEventTypeMessages[argsType],
                MESSAGES_SENDER,
                MESSAGES_RECEIVER,
                DateTime.Now);

            NotificationReceived?.Invoke(this, args);
        }
示例#4
0
        /// <summary>
        /// Message receive handler, this method will increment a counter that keeps track of the
        /// amount of messages that have been received
        /// </summary>
        public void HandleEvent(TelemetryEventType telemetryEventType, Guid?messageId, IMessageDiagnostics message)
        {
            var elapsedSpan = new TimeSpan(DateTime.UtcNow.Ticks - _createdAt.Ticks);

            if (telemetryEventType == TelemetryEventType.PostConsume)
            {
                Interlocked.Increment(ref _postConsumeMessagesCount);
            }

            _telemetryClient.TrackEvent(
                telemetryEventType,
                messageId ?? Guid.Empty,
                new
            {
                CreatedAt = elapsedSpan.Ticks,
                Message   = new { message.Id }
            }
                );
        }
        /// <summary>
        /// Saves event to _events bag
        /// </summary>
        /// <param name="telemetryEventType">
        /// </param>
        /// <param name="value">
        /// </param>
        public void TrackEvent(TelemetryEventType telemetryEventType, Guid messageId, object value)
        {
            var eventBag = _events.GetValueOrDefault(telemetryEventType);

            eventBag.TryAdd(messageId, value);
        }
示例#6
0
 public void PostEvent(TelemetryEventType eventType, string eventName, TelemetryResult result = TelemetryResult.Success, params (string name, object property)[] namesAndProperties)
 public void PostEvent(TelemetryEventType eventType, string eventName, TelemetryResult result, IReadOnlyList <(string name, object property)> namesAndProperties)
示例#8
0
 internal static string GetEvent(TelemetryEventType type, string message)
 {
     return($"{type}: {message}");
 }
示例#9
0
 public static void Metric(this ITelemetryService telemetry, TelemetryEventType type, string message,
                           double value, Dictionary <string, string> properties = null)
 {
     telemetry.Metric(TelemetryEventHelper.GetEvent(type, message), value, properties);
 }
示例#10
0
 public static void Event(this ITelemetryService telemetry, TelemetryEventType type, string message,
                          Dictionary <string, string> properties = null,
                          Dictionary <string, double> measures   = null)
 {
     telemetry.Event(TelemetryEventHelper.GetEvent(type, message), properties, measures);
 }
 public TelemetryUpdateEventArgs(TelemetryEventType telemetryType, string notificationMessage, string sender)
 {
     TelemetryType       = telemetryType;
     NotificationMessage = notificationMessage;
     Sender = sender;
 }