blob: 41d8ad53f6e3adac6b7c4acecc0e339ce4f0e023 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#!/bin/env python
##
## Copyright (c) 2010-2017 Intel Corporation
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
import sys
from decimal import *
def usage(progName):
print "usage: " + progName + " config [up|down]"
print " The script reads a lua configuration "
print " and outputs a histogram wit 21 buckets."
print " The first 20 buckets contain 70th percentile."
print " The last bucket contains the remaining items."
exit(-1);
if (len(sys.argv) != 3):
usage(sys.argv[0])
if (sys.argv[2] == "down"):
match = "dn_bps"
elif (sys.argv[2] == "up"):
match = "up_bps"
else:
usage(sys.argv[0])
values = []
for line in open(sys.argv[1]).readlines():
line = line.strip();
if line.find(match) != -1:
v = line.split(" = ")[1].strip(",")
values.append(Decimal(v));
values = sorted(values)
treshold = values[int(len(values)*0.7)]
buckets = [0]*21;
for v in values:
if (v > treshold):
buckets[20] += 1
else:
buckets[int(v * 20 / treshold)] += 1
stepSize = treshold / 20;
print "# bucket range, count"
for i in range(len(buckets) - 1):
beg = str(int(i * stepSize))
end = str(int((i + 1) * stepSize - 1))
print beg + "-" + end + "," + str(buckets[i])
i = len(buckets) - 1
print beg + "+," + str(buckets[i])
|