public ISnapshottingConfiguration Hooks(Action<PipelineModule> config) { var module = new PipelineModule(); config(module); builder.RegisterModule(module); return this; }
public void MeticsRollupTest_ShouldSetPartitionKey() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(PipelineModule.Id, result.PartitionKey); }
public void MeticsRollupTest_ShouldCalculateElapsedMS() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual((rollupTime - startTime).TotalMilliseconds, result.ElapsedMS, 0.01); }
public void MeticsRollupTest_ShouldAddVersionProperty() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual("1.2.3.4", result.Version); }
public void MeticsRollupTest_ShouldSetStartTimeAndHaveEmptyEndOfOfCurrentToRollup() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(rollupTime.ToJSONString(), PipelineModule.Metrics.StartTimeStamp); Assert.IsTrue(String.IsNullOrEmpty(PipelineModule.Metrics.EndTimeStamp)); }
public void MeticsRollupTest_ShouldSetPropertStartEndTimesOnRolledUpRecord() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(rollupTime.ToJSONString(), result.EndTimeStamp); Assert.AreEqual(rollupTime.ToJSONString(), PipelineModule.Metrics.StartTimeStamp); }
public void MeticsRollupTest_ShouldSetRowKey() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.IsFalse(String.IsNullOrEmpty(result.RowKey)); Assert.IsTrue(32 < result.RowKey.Length); /* This will be based on the time stamp and a random guid and timestamp, can't determine exact way (well not worth it, assume if it's longer than 32 characters we probably created the right row key */ }
public void MeticsRollupTest_RollupMessagesPerSecond() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.MessagesProcessed = 120; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(result.MessagesProcessed / (rollupTime - startTime).TotalSeconds, result.MessagesPerSecond, 0.01); }
public void MeticsRollupTest_ShouldMaintainActiveAcount() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.ActiveCount = 23; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(23, PipelineModule.Metrics.ActiveCount); }
public void MeticsRollupTest_ShouldProcessingMS() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.ProcessingMS = 22425; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(0, PipelineModule.Metrics.ProcessingMS); }
public void MeticsRollupTest_RollupAverageProcessingTime() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.MessagesProcessed = 120; PipelineModule.Metrics.ProcessingMS = 20000; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(result.ProcessingMS / result.MessagesProcessed, result.AverageProcessingMS, 0.01); }
public void MeticsRollupTest_ShouldIdProperties() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); PipelineModule.Metrics.HostId = Instance.PrimaryHost.Id; PipelineModule.Metrics.InstanceId = Instance.Id; PipelineModule.Metrics.PipelineModuleId = PipelineModule.Id; var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(Instance.PrimaryHost.Id, result.HostId); Assert.AreEqual(Instance.Id, result.InstanceId); Assert.AreEqual(PipelineModule.Id, result.PipelineModuleId); Assert.AreEqual(PipelineModule.Status.ToString(), result.Status); }
public void MeticsRollupTest_ShouldResetCounts() { var startTime = DateTime.UtcNow.AddMinutes(-1); var rollupTime = DateTime.UtcNow; PipelineModule.Metrics.BytesProcessed = 2000000; PipelineModule.Metrics.MessagesProcessed = 120; PipelineModule.Metrics.DeadLetterCount = 300; PipelineModule.Metrics.WarningCount = 120; PipelineModule.Metrics.ErrorCount = 50; PipelineModule.Metrics.StartTimeStamp = startTime.ToJSONString(); var result = PipelineModule.GetAndResetMetrics(rollupTime, "1.2.3.4"); Assert.AreEqual(0, PipelineModule.Metrics.BytesProcessed); Assert.AreEqual(0, PipelineModule.Metrics.MessagesProcessed); Assert.AreEqual(0, PipelineModule.Metrics.ErrorCount); Assert.AreEqual(0, PipelineModule.Metrics.WarningCount); Assert.AreEqual(0, PipelineModule.Metrics.DeadLetterCount); }