public Task ProcessDeviceMessageBatch(IIdentity identity, IEnumerable <IMessage> messages) { IEnumerable <IRoutingMessage> routingMessages = Preconditions.CheckNotNull(messages) .Select(m => this.ProcessMessageInternal(m, true)); return(this.router.RouteAsync(routingMessages)); }
public Task ProcessDeviceMessage(IIdentity identity, IMessage message) { Preconditions.CheckNotNull(message, nameof(message)); Preconditions.CheckNotNull(identity, nameof(identity)); Events.MessageReceived(identity); IRoutingMessage routingMessage = this.ProcessMessageInternal(message, true); return(this.router.RouteAsync(routingMessage)); }
public Task ProcessDeviceMessageBatch(IIdentity identity, IEnumerable <IMessage> messages) { Preconditions.CheckNotNull(messages, nameof(messages)); Metrics.MessageCount(identity, messages.Count()); IEnumerable <IRoutingMessage> routingMessages = messages .Select(m => this.ProcessMessageInternal(m, true)); return(this.router.RouteAsync(routingMessages)); }
async void CloudConnectionEstablished(object sender, IIdentity identity) { try { await this.ProcessSubscriptions(identity.Id); } catch (Exception e) { Events.ErrorProcessingSubscriptions(e, identity); } }
public static void ErrorProcessingSubscriptions(Exception ex, IIdentity identity) { if (ex.HasTimeoutException()) { Log.LogDebug((int)EventIds.ErrorProcessingSubscriptions, ex, Invariant($"Timed out while processing subscriptions for client {identity.Id}. Will try again when connected.")); } else { Log.LogWarning((int)EventIds.ErrorProcessingSubscriptions, ex, Invariant($"Error processing subscriptions for client {identity.Id}.")); } }
internal static void MessageReceived(IIdentity identity, IMessage message) { if (message.SystemProperties.TryGetValue(SystemProperties.MessageId, out string messageId)) { Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received message from {identity.Id} with message Id {messageId}")); } else { Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received message from {identity.Id}")); } }
public Task UpdateReportedPropertiesAsync(IIdentity identity, IMessage reportedPropertiesMessage) { Preconditions.CheckNotNull(identity, nameof(identity)); Preconditions.CheckNotNull(reportedPropertiesMessage, nameof(reportedPropertiesMessage)); Events.UpdateReportedPropertiesReceived(identity); Task cloudSendMessageTask = this.twinManager.UpdateReportedPropertiesAsync(identity.Id, reportedPropertiesMessage); IRoutingMessage routingMessage = this.ProcessMessageInternal(reportedPropertiesMessage, false); Task routingSendMessageTask = this.router.RouteAsync(routingMessage); return(Task.WhenAll(cloudSendMessageTask, routingSendMessageTask)); }
public static void MessagesReceived(IIdentity identity, IList <IMessage> messages) { if (Logger.GetLogLevel() <= LogEventLevel.Debug) { string messageIdsString = messages .Select(m => m.SystemProperties.TryGetValue(SystemProperties.MessageId, out string messageId) ? messageId : string.Empty) .Where(m => !string.IsNullOrWhiteSpace(m)) .Join(", "); if (!string.IsNullOrWhiteSpace(messageIdsString)) { Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received {messages.Count} message(s) from {identity.Id} with message Id(s) [{messageIdsString}]")); } else { Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received {messages.Count} message(s) from {identity.Id}")); } } }
public static void ErrorProcessingSubscriptions(Exception ex, IIdentity identity) { Log.LogWarning((int)EventIds.ErrorProcessingSubscriptions, ex, Invariant($"Error processing subscriptions for client {identity.Id}.")); }
internal static void UpdateReportedPropertiesReceived(IIdentity identity) { Log.LogDebug((int)EventIds.ReportedPropertiesUpdateReceived, Invariant($"Reported properties update message received from {identity.Id}")); }
internal static void MessageReceived(IIdentity identity) { Log.LogDebug((int)EventIds.MessageReceived, Invariant($"Received message from {identity.Id}")); }
public static IDisposable MessageLatency(IIdentity identity) => Util.Metrics.Latency(GetTags(identity), EdgeHubMessageLatencyOptions);
public static void MessageCount(IIdentity identity) => Util.Metrics.Count(GetTags(identity), EdgeHubMessageReceivedCountOptions);
internal static MetricTags GetTags(IIdentity identity) { return(new MetricTags("Id", identity.Id)); }
public static void ProcessingSubscriptions(IIdentity identity) { Log.LogInformation((int)EventIds.ProcessingSubscriptions, Invariant($"Processing subscriptions for client {identity.Id}.")); }
public static void MessageCount(IIdentity identity, long count) => Util.Metrics.CountIncrement(GetTags(identity), EdgeHubMessageReceivedCountOptions, count);