コード例 #1
0
 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);
     }
 }
コード例 #2
0
        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));
        }
コード例 #3
0
 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;
     }
 }