Exemple #1
0
        static void StartTcp(CommandLineOptions options)
        {
            if (options.Tcp > 0)
            {
                if (options.Verbose)
                {
                    LogManager.GetCurrentClassLogger()
                    .Info("Starting Tcp Generator for {0}:{1}", options.TcpHost, options.Tcp);
                }

                _totalMessagesToSend += options.NumMessages;

                _tasks.Add(Task.Factory.StartNew(() =>
                {
                    var p = new TcpTestParameters()
                    {
                        Port                  = options.Tcp,
                        Host                  = options.TcpHost,
                        NumMessages           = options.NumMessages,
                        SleepTimeMilliseconds = options.TcpRate
                    };
                    TcpTestGenerator.Generate(p);
                }));
            }
        }
Exemple #2
0
        public static int Generate(TcpTestParameters parms)
        {
            TcpClient server = new TcpClient(parms.Host, parms.Port);

            var hostName = System.Environment.MachineName + "." +
                           Microsoft.Win32.Registry.LocalMachine.OpenSubKey(
                "SYSTEM\\CurrentControlSet\\services\\Tcpip\\Parameters").GetValue("Domain", "").ToString();


            using (NetworkStream stream = server.GetStream())
            {
                for (int i = 0; i < parms.NumMessages; i++)
                {
                    JObject o = new JObject
                    {
                        { "Application", "tcp-generator" },
                        { "Host", hostName },
                        { "UtcTimestamp", DateTime.UtcNow.ToString("o") },
                        { "Type", "tcp" },
                        { "Message", "tcp message " + DateTime.UtcNow.ToString("o") },
                        { "Index", "logstash" }
                    };
                    byte[] data = Encoding.UTF8.GetBytes(string.Format("{0}\n", o.ToString()));
                    stream.Write(data, 0, data.Length);
                    Thread.Sleep(parms.SleepTimeMilliseconds);
                }
            }

            return(parms.NumMessages);
        }