예제 #1
0
        public void TestLatencyAlert()
        {
            var services   = new[] { "s0", "s1", "s2" };
            var customers  = new[] { "c0", "c1", "c2" };
            var limitSpike = new[] { 15000L, 10000L, 10040L };

            // Set up limits for 3 services/customer combinations
            for (var i = 0; i < services.Length; i++)
            {
                var limit = new LatencyLimit(services[i], customers[i], limitSpike[i]);
                runtime.SendEvent(limit);
            }

            // Send events
            for (int i = 0; i < 100; i++)
            {
                for (int index = 0; index < services.Length; index++)
                {
                    var measurement = new OperationMeasurement(services[index], customers[index], 9950 + i, true);
                    runtime.SendEvent(measurement);
                }
            }

            // Send a new limit
            var nlimit = new LatencyLimit(services[1], customers[1], 8000);

            runtime.SendEvent(nlimit);

            // Send a new spike
            var nmeasurement = new OperationMeasurement(services[1], customers[1], 8001, true);

            runtime.SendEvent(nmeasurement);
        }
예제 #2
0
        public void TestLatencyAlert()
        {
            String[]             services  = { "s0", "s1", "s2" };
            String[]             customers = { "c0", "c1", "c2" };
            OperationMeasurement measurement;

            for (int i = 0; i < 100; i++)
            {
                for (int index = 0; index < services.Length; index++)
                {
                    measurement = new OperationMeasurement(services[index], customers[index],
                                                           9950 + i, true);
                    runtime.SendEvent(measurement);
                }
            }

            // This should generate an alert
            measurement = new OperationMeasurement(services[0], customers[0], 10000, true);
            runtime.SendEvent(measurement);

            // This should generate an alert
            measurement = new OperationMeasurement(services[1], customers[1], 10001, true);
            runtime.SendEvent(measurement);

            // This should not generate an alert
            measurement = new OperationMeasurement(services[2], customers[2], 9999, true);
            runtime.SendEvent(measurement);
        }
예제 #3
0
        private void SendEvent(String service, long latency, bool success)
        {
            OperationMeasurement measurement = new OperationMeasurement(service, "myCustomer", latency, success);

            runtime.SendEvent(measurement);
        }
예제 #4
0
        private void SendEvent(bool success)
        {
            var measurement = new OperationMeasurement("myService", "myCustomer", 10000, success);

            _runtime.SendEvent(measurement);
        }
예제 #5
0
        public void TestLatencyAlert()
        {
            var measurement = new OperationMeasurement("svc", "cust", 21000, true);

            _runtime.SendEvent(measurement);
        }