[LNT] r306900 - Don't return null sample data
Chris Matthews via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 30 15:39:21 PDT 2017
Author: cmatthews
Date: Fri Jun 30 15:39:21 2017
New Revision: 306900
URL: http://llvm.org/viewvc/llvm-project?rev=306900&view=rev
Log:
Don't return null sample data
Null sample data was never collected. No need to waste bandwidth etc
by sending nulls around in the REST API.
Modified:
lnt/trunk/docs/api.rst
lnt/trunk/lnt/server/ui/api.py
lnt/trunk/tests/server/ui/test_api.py
Modified: lnt/trunk/docs/api.rst
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/docs/api.rst?rev=306900&r1=306899&r2=306900&view=diff
==============================================================================
--- lnt/trunk/docs/api.rst (original)
+++ lnt/trunk/docs/api.rst Fri Jun 30 15:39:21 2017
@@ -32,9 +32,9 @@ once.
+---------------------------+------------------------------------------------------------------------------------------+
| /samples?runid=1&runid=2 | Retrieve all the sample data for a list of run ids. Run IDs should be pass as args. |
| | Will return sample data in the samples section, as a list of dicts, with a key for |
-| | each metric type. |
+| | each metric type. Empty samples are not sent. |
+---------------------------+------------------------------------------------------------------------------------------+
-| /samples/`id` | Get all sample info for Sample `id`. |
+| /samples/`id` | Get all non-empty sample info for Sample `id`. |
+---------------------------+------------------------------------------------------------------------------------------+
Examples
Modified: lnt/trunk/lnt/server/ui/api.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/api.py?rev=306900&r1=306899&r2=306900&view=diff
==============================================================================
--- lnt/trunk/lnt/server/ui/api.py (original)
+++ lnt/trunk/lnt/server/ui/api.py Fri Jun 30 15:39:21 2017
@@ -196,7 +196,7 @@ class SampleData(Resource):
except NoResultFound:
return abort(404, message="Invalid order.")
sample_output = common_fields_factory()
- sample_output['samples'] = [sample]
+ sample_output['samples'] = [{k: v for k, v in sample.__json__().items() if v is not None}]
return jsonify(sample_output)
@@ -231,7 +231,8 @@ class SamplesData(Resource):
.filter(ts.Sample.run_id.in_(run_ids))
output_samples = common_fields_factory()
# noinspection PyProtectedMember
- output_samples['samples'] = [sample._asdict() for sample in q.all()]
+ output_samples['samples'] = [{k: v for k, v in sample.items() if v is not None}
+ for sample in [sample._asdict() for sample in q.all()]]
return output_samples
Modified: lnt/trunk/tests/server/ui/test_api.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/tests/server/ui/test_api.py?rev=306900&r1=306899&r2=306900&view=diff
==============================================================================
--- lnt/trunk/tests/server/ui/test_api.py (original)
+++ lnt/trunk/tests/server/ui/test_api.py Fri Jun 30 15:39:21 2017
@@ -38,18 +38,10 @@ order_expected_response = {u'llvm_projec
u'name': u'154331'}
sample_expected_response = {u'run_id': 1,
- u'mem_bytes': None,
- u'profile_id': None,
u'id': 1,
- u'compile_status': None,
- u'score': None,
- u'hash': None,
u'execution_time': 0.0003,
- u'execution_status': None,
u'test_id': 1,
- u'compile_time': 0.007,
- u'hash_status': None,
- u'code_size': None}
+ u'compile_time': 0.007}
graph_data = [[[152292], 1.0,
{u'date': u'2012-05-01 16:28:23',
@@ -223,19 +215,12 @@ class JSONAPITester(unittest.TestCase):
self._check_response_is_well_formed(j)
expected = [
{u'compile_time': 0.007, u'llvm_project_revision': u'154331',
- u'hash': None,
u'name': u'SingleSource/UnitTests/2006-12-01-float_varg',
- u'run_id': 1, u'execution_time': 0.0003,
- u'mem_bytes': None, u'compile_status': None,
- u'execution_status': None, u'score': None,
- u'hash_status': None, u'code_size': None, u'id': 1},
+ u'run_id': 1, u'execution_time': 0.0003, u'id': 1},
{u'compile_time': 0.0072, u'llvm_project_revision': u'154331',
- u'hash': None,
u'name': u'SingleSource/UnitTests/2006-12-04-DynAllocAndRestore',
u'run_id': 1,
- u'execution_time': 0.0003, u'mem_bytes': None,
- u'compile_status': None, u'execution_status': None,
- u'score': None, u'hash_status': None, u'code_size': None,
+ u'execution_time': 0.0003,
u'id': 2}]
self.assertEqual(j['samples'], expected)
More information about the llvm-commits
mailing list