Added indexes into stats responses
Closes bug 1256818 Change-Id: I4c90873471d8a05146e54b90869b6089f612b6ad
This commit is contained in:
parent
a70a127c5e
commit
d95f2d560a
@ -95,9 +95,8 @@ function renderTableAndChart(url, container_id, table_id, chart_id, link_param,
|
||||
var tableData = [];
|
||||
var chartData = [];
|
||||
|
||||
var limit = 10;
|
||||
const limit = 10;
|
||||
var aggregate = 0;
|
||||
var index = 1;
|
||||
var i;
|
||||
|
||||
data = data["stats"];
|
||||
@ -114,12 +113,6 @@ function renderTableAndChart(url, container_id, table_id, chart_id, link_param,
|
||||
aggregate += data[i].metric;
|
||||
}
|
||||
|
||||
var index_label = index;
|
||||
if (data[i].name == "*independent") {
|
||||
index_label = "";
|
||||
} else {
|
||||
index++;
|
||||
}
|
||||
if (!data[i].link) {
|
||||
if (data[i].id) {
|
||||
data[i]["link"] = make_link(data[i].id, data[i].name, link_param);
|
||||
@ -127,7 +120,6 @@ function renderTableAndChart(url, container_id, table_id, chart_id, link_param,
|
||||
data[i]["link"] = data[i].name
|
||||
}
|
||||
}
|
||||
data[i]["index"] = index_label;
|
||||
tableData.push(data[i]);
|
||||
}
|
||||
|
||||
|
@ -88,6 +88,7 @@ def _get_aggregated_stats(records, metric_filter, keys, param_id,
|
||||
response = [finalize_handler(result[r]) for r in result
|
||||
if result[r]['metric']]
|
||||
response.sort(key=lambda x: x['metric'], reverse=True)
|
||||
utils.add_index(response, item_filter=lambda x: x['id'] != '*independent')
|
||||
return response
|
||||
|
||||
|
||||
@ -264,6 +265,7 @@ def get_bpd(records):
|
||||
})
|
||||
|
||||
result.sort(key=lambda x: x['metric'], reverse=True)
|
||||
utils.add_index(result)
|
||||
|
||||
return result
|
||||
|
||||
|
@ -144,3 +144,14 @@ def merge_records(original, new):
|
||||
|
||||
def get_blueprint_id(module, name):
|
||||
return module + ':' + name
|
||||
|
||||
|
||||
def add_index(sequence, start=1, item_filter=lambda x: True):
|
||||
n = start
|
||||
for item in sequence:
|
||||
if item_filter(item):
|
||||
item['index'] = n
|
||||
n += 1
|
||||
else:
|
||||
item['index'] = ''
|
||||
return sequence
|
||||
|
@ -64,3 +64,16 @@ class TestUtils(testtools.TestCase):
|
||||
'stackalytics/​+spec/​stackalytics-core')
|
||||
|
||||
self.assertEqual(expected, utils.format_text(original))
|
||||
|
||||
def test_add_index(self):
|
||||
sequence = [{'name': 'A'}, {'name': 'B'}, {'name': 'C'}]
|
||||
expected = [{'index': 1, 'name': 'A'}, {'index': 2, 'name': 'B'},
|
||||
{'index': 3, 'name': 'C'}]
|
||||
self.assertEqual(expected, utils.add_index(sequence))
|
||||
|
||||
def test_add_index_with_filter(self):
|
||||
sequence = [{'name': 'A'}, {'name': 'B'}, {'name': 'C'}]
|
||||
expected = [{'index': 0, 'name': 'A'}, {'index': '', 'name': 'B'},
|
||||
{'index': 1, 'name': 'C'}]
|
||||
self.assertEqual(expected, utils.add_index(
|
||||
sequence, start=0, item_filter=lambda x: x['name'] != 'B'))
|
||||
|
Loading…
x
Reference in New Issue
Block a user