diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-05-17 11:08:57 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-05-17 11:08:57 +0200 |
| commit | 7c9410246fc64f2638de7779b11070d95e7756e3 (patch) | |
| tree | 2cd99dbd0241bcf3209b3bf09b2f27ad64cc6af6 /g5k_bak/clients.py | |
| parent | 1ab4a6a97aab850aa496fccc8c26293c57561620 (diff) | |
Add analysis script
Diffstat (limited to 'g5k_bak/clients.py')
| -rwxr-xr-x | g5k_bak/clients.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/g5k_bak/clients.py b/g5k_bak/clients.py new file mode 100755 index 0000000..db40996 --- /dev/null +++ b/g5k_bak/clients.py @@ -0,0 +1,48 @@ +#!/usr/bin/python +from __future__ import division +import os,sys,random, time,datetime +from subprocess import Popen + +# Check script argument +if len(sys.argv) != 6: + print("Usage: "+sys.argv[0]+" <mysqlServerIp> <nbSensors> <nbSensorsFactor> <requestPerSensor> <sendInterval>") + exit(1) + +# Init script parameters +serverIp=sys.argv[1] +nbSensors=int(sys.argv[2]) +nbSensorsFactor=int(sys.argv[3]) +effectiveNbSensors=nbSensors*nbSensorsFactor +requestPerSensor=int(sys.argv[4]) +sendInterval=int(sys.argv[5]) +avgSiteTemp=list() +for i in range(0,effectiveNbSensors): + avgSiteTemp.append(random.randint(-10,30)) + + +def insert(sensorId, value): + """ Send value of sensorId into the database """ + stamp=int(time.mktime(datetime.datetime.today().timetuple())) + insertCMD = "mysql -u user --password=mysql --host="+serverIp+" experiment -e" + insertCMD=insertCMD.split() + insertCMD.append("INSERT INTO temperature (id,stamp,val) VALUES("+str(sensorId)+","+str(stamp)+","+str(value)+");") + Popen(insertCMD) # Run command asynchronously + +def send(): + """ Send temperature of each sensors into the database """ + for i in range(0,effectiveNbSensors): + insert(i,random.gauss(avgSiteTemp[i], 3)) + + +# Print infos +print("Launching clients with:") +print(" - Mysql Server IP {:>20}".format(serverIp)) +print(" - Number of sensors {:>18}".format(effectiveNbSensors)) +print(" - Number of request per sensor {:>7}".format(effectiveNbSensors)) + +# Send data +for i in range(0, requestPerSensor): + send() + time.sleep(sendInterval) # We assume send() take no time + + |
