private IEnumerable <SubscriptionSummary> ToSummaryDto(HttpEntityManager manager, MonitoringMessage.GetPersistentSubscriptionStatsCompleted message) { if (message == null) { yield break; } if (message.SubscriptionStats == null) { yield break; } foreach (var stat in message.SubscriptionStats) { var info = new SubscriptionSummary { Links = new List <RelLink>() { new RelLink(MakeUrl(manager, string.Format("/subscriptions/{0}/{1}", stat.EventStreamId, stat.GroupName)), "detail"), }, EventStreamId = stat.EventStreamId, GroupName = stat.GroupName, Status = stat.Status, AverageItemsPerSecond = stat.AveragePerSecond, TotalItemsProcessed = stat.TotalItems, LastKnownEventNumber = stat.LastKnownMessage, LastProcessedEventNumber = stat.LastProcessedEventNumber, ParkedMessageUri = MakeUrl(manager, string.Format("/streams/$persistentsubscription-{0}::{1}-parked", stat.EventStreamId, stat.GroupName)), TotalInFlightMessages = stat.TotalInFlightMessages, }; if (stat.Connections != null) { info.ConnectionCount = stat.Connections.Count; } yield return(info); } }
public IEnumerable <SubscriptionSummary> ListSubscriptions(string topicName) { var namespaceManager = CreateNamespaceManager(); var azureSubscriptionsEnum = namespaceManager.GetSubscriptions(topicName); var subscriptions = azureSubscriptionsEnum.Select(s => SubscriptionSummary.New(s)); return(subscriptions.OrderBy(s => s.name, StringComparer.CurrentCultureIgnoreCase)); }
private IEnumerable<SubscriptionSummary> ToSummaryDto(HttpEntityManager manager, MonitoringMessage.GetPersistentSubscriptionStatsCompleted message) { if (message == null) yield break; if (message.SubscriptionStats == null) yield break; foreach (var stat in message.SubscriptionStats) { var info = new SubscriptionSummary { Links = new List<RelLink>() { new RelLink(MakeUrl(manager, string.Format("/subscriptions/{0}/{1}", stat.EventStreamId,stat.GroupName)), "detail"), }, EventStreamId = stat.EventStreamId, GroupName = stat.GroupName, Status = stat.Status, AverageItemsPerSecond = stat.AveragePerSecond, TotalItemsProcessed = stat.TotalItems, LastKnownEventNumber = stat.LastKnownMessage, LastProcessedEventNumber = stat.LastProcessedEventNumber, ParkedMessageUri = MakeUrl(manager, string.Format("/streams/$persistentsubscription-{0}::{1}-parked", stat.EventStreamId, stat.GroupName)), TotalInFlightMessages = stat.TotalInFlightMessages, }; if (stat.Connections != null) { info.ConnectionCount = stat.Connections.Count; } yield return info; } }