Collect results from remote machine

if [ $# -lt 1 ]
  then
    echo "please provide jmx file name to copy to load generators e.g. ./command_execute.sh cmdi-devofour-insync-perf-july-nineteen.jmx"
    exit 1
fi

script=$1 #cmdi-devofour-insync-perf-july-nineteen.jmx

cp /cygdrive/c/JMETER/bin/jmxscripts/cmdi-dev04-insync-impersonate-search-dailynote-signoff-delete-loop.jmx $script

threads=`printf "%03d\n" $(cat $script | sed -n 's/.*ThreadGroup.num_threads">\(.*\)<\/stringProp>/\1/p')`
rampTime=`printf "%04d\n" $(cat $script | sed -n 's/.*ThreadGroup.ramp_time">\(.*\)<\/stringProp>/\1/p')`
sLoops=`printf "%03d\n" $(cat $script | sed -n 's/.*LoopController.loops">\(.*\)<\/stringProp>.*/\1/p')`
echo $threads
echo $rampTime
echo $sLoops
clinicianLoops=`echo $sLoops | cut -d' ' -f1`
patientLoops=`echo $sLoops | cut -d' ' -f2`

loadgens=(`cat hosts.txt`)

for y in "${loadgens[@]}"
do 
    scp -i ../ati-dqs-env-test-keypair.pem $script ec2-user@$y:/home/ec2-user/EMR_TEST/$script
done

echo Scripts are copied



for x in "${loadgens[@]}"
do 
    ssh -i ../ati-dqs-env-test-keypair.pem ec2-user@$x \
    'sudo nohup /home/ec2-user/apache-jmeter-5.1.1/bin/jmeter -n -t /home/ec2-user/EMR_TEST/'$script' \
    -l /home/ec2-user/EMR_TEST/JTL/dev04-insync-perf-t'$threads'-r'$rampTime'-c'$clinicianLoops'-p'$patientLoops'\
    -`date +"%m%d%Y-%H%M"`.jtl </dev/null >command.log 2>&1 &'
done
if [ $# -lt 1 ]
  then
    echo "please provide jmx file name to copy to load generators e.g. ./command_execute.sh cmdi-devofour-insync-perf-july-nineteen.jmx"
    exit 1
fi

script=$1 #cmdi-devofour-insync-perf-july-nineteen.jmx

cp /cygdrive/c/JMETER/bin/jmxscripts/cmdi-dev04-insync-impersonate-search-dailynote-signoff-delete-loop.jmx $script

threads=`printf "%03d\n" $(cat $script | sed -n 's/.*ThreadGroup.num_threads">\(.*\)<\/stringProp>/\1/p')`
rampTime=`printf "%04d\n" $(cat $script | sed -n 's/.*ThreadGroup.ramp_time">\(.*\)<\/stringProp>/\1/p')`
sLoops=`printf "%03d\n" $(cat $script | sed -n 's/.*LoopController.loops">\(.*\)<\/stringProp>.*/\1/p')`
echo $threads
echo $rampTime
echo $sLoops
clinicianLoops=`echo $sLoops | cut -d' ' -f1`
patientLoops=`echo $sLoops | cut -d' ' -f2`

loadgens=(`cat hosts.txt`)

for y in "${loadgens[@]}"
do 
    scp -i ../ati-dqs-env-test-keypair.pem $script ec2-user@$y:/home/ec2-user/EMR_TEST/$script
done

echo Scripts are copied



for x in "${loadgens[@]}"
do 
    ssh -i ../ati-dqs-env-test-keypair.pem ec2-user@$x \
	'sudo nohup /home/ec2-user/apache-jmeter-5.1.1/bin/jmeter -n -t /home/ec2-user/EMR_TEST/' \
	$script' -l /home/ec2-user/EMR_TEST/JTL/dev04-insync-perf-t'$threads'-r'$rampTime'-c'$clinicianLoops'-p'$patientLoops'-`date +"%m%d%Y-%H%M"`.jtl </dev/null >command.log 2>&1 &'
done
using System;
using System.Configuration;
using System.IO;
using System.Net;
using System.Xml;
using System.Threading;

namespace OneMDS_CreateJob
{
    public class NewJob
    {
        static void Main(string[] args)
        {
            execJob(); Thread thr1 = new Thread(execJob); thr1.Start();
        }
        public static void execJob()
        {
            string sFileName;
            string[] aJobTypes = ConfigurationManager.AppSettings["JobTypes"].Split(',');
            string ServerName = ConfigurationManager.AppSettings["ServerName"];
            for (int r = 0; r < aJobTypes.Length; r++) {
                sFileName = aJobTypes[r] + ".xml";
                if (File.Exists(sFileName)){
                    Console.WriteLine("file name is " + sFileName);
                    HttpWebRequest Req = (HttpWebRequest)WebRequest.Create(@"http://" + ServerName + "/Cgi.Ssp.Web.Site/InboundJobService.asmx");
                    Req.ContentType = "text/xml;charset=\"utf-8\"";
                    Req.Accept = "text/xml";
                    Req.Method = "POST";
                    XmlDocument SOAPReqBody = new XmlDocument();
                    SOAPReqBody.Load(aJobTypes[r] + ".xml");
                    using (Stream stream = Req.GetRequestStream())
                    {
                        SOAPReqBody.Save(stream);
                    }
                    //Geting response from request  
                    using (WebResponse Serviceres = Req.GetResponse())
                    {
                        using (StreamReader rd = new StreamReader(Serviceres.GetResponseStream()))
                        {
                            var ServiceResult = rd.ReadToEnd();
                            XmlDocument xmlDoc = new XmlDocument();
                            xmlDoc.LoadXml(ServiceResult);
                            XmlNodeList jobId = xmlDoc.GetElementsByTagName("JobNumber");
                            Console.WriteLine("jobID " + jobId[0].InnerText);
                        }
                    }
                }
            }
        }
    }
}
GoBack