Exemplo n.º 1
0
        public static void Main(string[] args)
        {
            SelectProtocol(args);
            SelectHost(args);
            SelectPort(args);

            bool keepAlive = true;

            var paceMaker = SensuNinja.Get(_host, _port, _type, new HostInfoEnricher());

            paceMaker.Start(new Heartbeat(AppName));
            using (var client = Client())
            {
                var monitor = new SensuMonitor(client, AppName);

                Console.WriteLine("Connected to server.");
                Menu();
                while (keepAlive)
                {
                    Console.WriteLine("");
                    var choice = Console.ReadKey();
                    if (choice.KeyChar == '1')
                    {
                        Console.WriteLine("Output: ");
                        SendOk(monitor, Console.ReadLine());
                    }

                    if (choice.KeyChar == '2')
                    {
                        Console.WriteLine("Output: ");
                        SendAppWarning(monitor, Console.ReadLine());
                    }

                    if (choice.KeyChar == '3')
                    {
                        Console.WriteLine("Output: ");
                        SendAppError(monitor, Console.ReadLine());
                    }

                    if (choice.KeyChar == '0')
                    {
                        Console.WriteLine("Output: ");
                        ManualHeartbeat(monitor, Console.ReadLine());
                    }

                    if (choice.KeyChar == 'q')
                    {
                        keepAlive = false;
                    }

                    Console.WriteLine();
                }
                paceMaker.Stop();
            }
            Environment.Exit(0);
        }
Exemplo n.º 2
0
        public void Heartbeat_WithNoParameters_SendsHeartbeat()
        {
            var client = new MockSensuClient();
            var sut    = new SensuMonitor(client, "testApp");

            sut.Heartbeat();
            var message = client.Messages.First();

            Assert.IsType <Heartbeat>(message);
        }
Exemplo n.º 3
0
        public void Error_WithNoParameters_SendsAppError()
        {
            var client = new MockSensuClient();
            var sut    = new SensuMonitor(client, "testApp");

            sut.Error("some_dependency");
            var message = client.Messages.First();

            Assert.IsType <Error>(message);
        }
Exemplo n.º 4
0
        public void Heartbeat_WithPeriod5_SetsTtlTo5()
        {
            var client = new MockSensuClient();
            var sut    = new SensuMonitor(client, "testApp");

            sut.Heartbeat(period: 5);
            var message = client.Messages.First() as Heartbeat;

            Assert.Equal(5, message.Ttl);
        }
Exemplo n.º 5
0
        public void Heartbeat_WithNoParameters_SetsTtlTo60()
        {
            var client = new MockSensuClient();
            var sut    = new SensuMonitor(client, "testApp");

            sut.Heartbeat();
            var message = client.Messages.First() as Heartbeat;

            Assert.Equal(60, message.Ttl);
        }
Exemplo n.º 6
0
        public void Heartbeat_WithOutput_SetsOutputOnHeartbeat()
        {
            var text   = "text";
            var client = new MockSensuClient();
            var sut    = new SensuMonitor(client, "testApp");

            sut.Heartbeat(message: text);
            var message = client.Messages.First() as Heartbeat;

            Assert.Equal(text, message.Output);
        }
Exemplo n.º 7
0
 private static void ManualHeartbeat(SensuMonitor monitor, string message)
 {
     monitor.Heartbeat(60, message);
 }
Exemplo n.º 8
0
 private static void SendAppError(SensuMonitor monitor, string message)
 {
     monitor.Error("some_metric", message);
 }
Exemplo n.º 9
0
 private static void SendAppWarning(SensuMonitor monitor, string message)
 {
     monitor.Warning("some_metric", message);
 }
Exemplo n.º 10
0
 private static void SendOk(SensuMonitor monitor, string message)
 {
     monitor.Ok("some_metric", message);
 }