Esempio n. 1
0
        private static void CheckQueueName(BusPeckResult result)
        {
            const string InvalidChars = "/\\\t\r\n?#";

            foreach (var c in InvalidChars)
            {
                Assert.DoesNotContain(c.ToString(), result.QueueName);
            }
        }
Esempio n. 2
0
        public static BusPeckResult Peck(this QueueDescription queueDescription, PeckSource source)
        {
            var peckResult = new BusPeckResult()
            {
                ActiveMessageCount     = queueDescription.MessageCountDetails.ActiveMessageCount,
                DeadLetterMessageCount = queueDescription.MessageCountDetails.DeadLetterMessageCount,
                ScheduledMessageCount  = queueDescription.MessageCountDetails.ScheduledMessageCount,
                MaxSizeInMB            = queueDescription.MaxSizeInMegabytes,
                SizeInMB     = queueDescription.SizeInBytes / (1024 * 1024),
                QueueName    = SanitiseName(queueDescription.Path),
                SourceName   = source.Name,
                TimeCaptured = DateTimeOffset.UtcNow,
                QueueType    = "Q"
            };

            return(peckResult);
        }
Esempio n. 3
0
        public static BusPeckResult Peck(this SubscriptionDescription subscriptionDescription, PeckSource source)
        {
            var peckResult = new BusPeckResult()
            {
                ActiveMessageCount     = subscriptionDescription.MessageCountDetails.ActiveMessageCount,
                DeadLetterMessageCount = subscriptionDescription.MessageCountDetails.DeadLetterMessageCount,
                ScheduledMessageCount  = subscriptionDescription.MessageCountDetails.ScheduledMessageCount,
                MaxSizeInMB            = 0, // N/A
                SizeInMB     = 0,           // N/A
                QueueName    = SanitiseName(string.Format("{0}_{1}", subscriptionDescription.TopicPath, subscriptionDescription.Name)),
                SourceName   = source.Name,
                TimeCaptured = DateTimeOffset.UtcNow,
                QueueType    = "S"
            };

            return(peckResult);
        }
Esempio n. 4
0
        public static DynamicTableEntity ToEntity(this BusPeckResult result)
        {
            var minuteOffset = new DateTimeOffset(DateTime.Parse(result.TimeCaptured.UtcDateTime.ToString("yyyy-MM-dd HH:mm:00")), TimeSpan.Zero);
            var shardKey     = (DateTimeOffset.MaxValue.Ticks - minuteOffset.Ticks).ToString("D19");

            var entity = new DynamicTableEntity(shardKey,
                                                string.Format("{0}_{1}", result.SourceName, result.QueueName));

            entity.Properties.Add("ActiveMessageCount", EntityProperty.GeneratePropertyForLong(result.ActiveMessageCount));
            entity.Properties.Add("DeadLetterMessageCount", EntityProperty.GeneratePropertyForLong(result.DeadLetterMessageCount));
            entity.Properties.Add("MaxSizeInMB", EntityProperty.GeneratePropertyForLong(result.MaxSizeInMB));
            entity.Properties.Add("ScheduledMessageCount", EntityProperty.GeneratePropertyForLong(result.ScheduledMessageCount));
            entity.Properties.Add("SizeInMB", EntityProperty.GeneratePropertyForLong(result.SizeInMB));
            entity.Properties.Add("QueueName", EntityProperty.GeneratePropertyForString(result.QueueName));
            entity.Properties.Add("SourceName", EntityProperty.GeneratePropertyForString(result.SourceName));
            entity.Properties.Add("TimeCaptured", EntityProperty.GeneratePropertyForDateTimeOffset(result.TimeCaptured));
            entity.Properties.Add("QueueType", EntityProperty.GeneratePropertyForString(result.QueueType));

            return(entity);
        }