private static void CheckQueueName(BusPeckResult result) { const string InvalidChars = "/\\\t\r\n?#"; foreach (var c in InvalidChars) { Assert.DoesNotContain(c.ToString(), result.QueueName); } }
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); }
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); }
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); }