b=392057, incorporate graph server fixes from vlad's tree, r=alice -- Make getdata-fake generate fake discrete data, too

git-svn-id: svn://10.0.0.236/trunk@232132 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
vladimir%pobox.com
2007-08-15 16:45:42 +00:00
parent 807fbf163c
commit dccbf1df30

View File

@@ -1,47 +1,120 @@
#!/usr/bin/perl
#!/usr/bin/python
import os
import minjson as json
import random
import datetime
print "Content-type: text/plain\n\n";
#foreach my $k (keys(%ENV)) {
# print "$k => " . $ENV{$k} . "\n";
#}
def getQuery():
query = {}
try:
QS = os.environ["QUERY_STRING"]
querybits = QS.split("&");
for q in querybits:
qq = q.split("=")
if len(qq) == 2:
query[qq[0]] = qq[1]
else:
query[qq[0]] = 1
except:
pass
return query
my $QS = $ENV{"QUERY_STRING"};
my %query = ();
query = getQuery()
{
my @qp = split /\&/,$QS;
foreach my $q (@qp) {
my @qp1 = split /=/,$q;
$query{$qp1[0]} = $qp1[1];
}
}
def main():
if "type" in query and query["type"] == "continuous":
data = {
'resultcode': 0,
'results': [
{ 'id': 1, 'machine': 'tbox1', 'test': 'test1', 'test_type': 'perf', 'extra_data': None },
{ 'id': 4, 'machine': 'tbox2', 'test': 'test1', 'test_type': 'perf', 'extra_data': None },
{ 'id': 3, 'machine': 'tbox1', 'test': 'test3', 'test_type': 'perf', 'extra_data': None },
{ 'id': 6, 'machine': 'tbox3', 'test': 'test3', 'test_type': 'perf', 'extra_data': None },
{ 'id': 2, 'machine': 'tbox1', 'test': 'test2', 'test_type': 'perf', 'extra_data': None },
{ 'id': 5, 'machine': 'tbox2', 'test': 'test2', 'test_type': 'perf', 'extra_data': None },
]
}
print json.write(data)
return
if (defined($query{"setid"})) {
my $testid = $query{"setid"};
if "type" in query and query["type"] == "discrete":
data = None
if "getlist" in query:
if "machine" in query:
data = { 'resultcode': 0, 'results': [ {'value': 'qm-pxp01'} ] }
elif "branch" in query:
data = { 'resultcode': 0, 'results': [ {'value': 1.9} ] }
elif "test" in query:
data = { 'resultcode': 0, 'results': [ {'value': "tp_CPUUsage"}, {'value': "tp_loadtime"} ] }
if data is None:
results = []
if "test" in query:
if query["test"] == "tp_CPUUsage":
results.append({"test_type": "perf", "machine": "qm-pxp01", "date": 1180657203, "branch": 1.9, "test": "tp_CPUUsage", "extra_data": "branch=1.9", "id": 100})
results.append({"test_type": "perf", "machine": "qm-pxp01", "date": 1180667203, "branch": 1.9, "test": "tp_CPUUsage", "extra_data": "branch=1.9", "id": 101})
results.append({"test_type": "perf", "machine": "qm-pxp01", "date": 1180677203, "branch": 1.9, "test": "tp_CPUUsage", "extra_data": "branch=1.9", "id": 102})
elif query["test"] == "tp_loadtime":
results.append({"test_type": "perf", "machine": "qm-pxp01", "date": 1180657203, "branch": 1.9, "test": "tp_loadtime", "extra_data": "branch=1.9", "id": 200})
results.append({"test_type": "perf", "machine": "qm-pxp01", "date": 1180667203, "branch": 1.9, "test": "tp_loadtime", "extra_data": "branch=1.9", "id": 201})
results.append({"test_type": "perf", "machine": "qm-pxp01", "date": 1180677203, "branch": 1.9, "test": "tp_loadtime", "extra_data": "branch=1.9", "id": 202})
data = {'resultcode': 0, 'results': results}
print json.write(data)
return
print "{ resultcode: 0, results: [";
if "setid" in query:
setid = int(query["setid"])
srand();
# if less than 100, then it's a continuous set
if setid < 100:
random.seed()
starttime = 1148589000
data = []
val = int(random.random() * 100 + 200)
for z in range(500):
timeval = starttime + (z*60*20) + int(random.random() * 240 - 120);
data.append(timeval)
data.append(val)
val = val + int(random.random() * 10 - 5)
result = { 'resultcode': 0, 'results': data }
print json.write(result)
return
# if less than 200 then it's a CPU usage percentage thing
if setid < 200:
random.seed()
data = []
val = int(random.random() * 100)
for z in range(500):
data.append(z)
data.append(val)
val = val + int(random.random() * 30 - 15)
val = max(min(val, 100), 0)
result = { 'resultcode': 0, 'results': data, 'stats': [100.0, 100.0, 0.0] }
print json.write(result)
return
# dgraph stuff
if setid < 300:
random.seed()
data = []
rawdata = []
for z in range(20):
tname = chr(65+z) + chr(65+z) + chr(65+z) + chr(65+z)
data.append(z)
data.append(random.random() * 500)
rawdata.append(z)
rawdata.append(tname)
result = { 'resultcode': 0, 'results': data, 'annotations': [], 'baselines': {}, 'rawdata': rawdata }
print json.write(result)
return
main()
my $lv = 200 + rand (100);
foreach my $k (1 .. 500) {
#my $kv = $k;
#my $v = $k;
my $kv = 1148589000 + ($k*60*20);
my $v = $lv;
$lv = $lv + (rand(10) - 5);
print "$kv, $v, ";
}
print "] }";
} else {
print "{ resultcode: 0, results: [
{ id: 1, machine: 'tbox1', test: 'test1', test_type: 'perf', extra_data: null },
{ id: 4, machine: 'tbox2', test: 'test1', test_type: 'perf', extra_data: null },
{ id: 3, machine: 'tbox1', test: 'test3', test_type: 'perf', extra_data: null },
{ id: 6, machine: 'tbox3', test: 'test3', test_type: 'perf', extra_data: null },
{ id: 2, machine: 'tbox1', test: 'test2', test_type: 'perf', extra_data: null },
{ id: 5, machine: 'tbox2', test: 'test2', test_type: 'perf', extra_data: null },
] }";
}