Merge "remove batch processing requirement from arithmetic transformer"

This commit is contained in:
Jenkins 2015-09-22 09:49:39 +00:00 committed by Gerrit Code Review
commit 1a6dc5f9ec
2 changed files with 8 additions and 10 deletions

View File

@ -1742,12 +1742,11 @@ class BasePipelineTestCase(base.BaseTestCase):
pipeline_manager = pipeline.PipelineManager(self.pipeline_cfg,
self.transformer_manager)
pipe = pipeline_manager.pipelines[0]
pipe.publish_data(None, counters)
for s in counters:
pipe.publish_data(None, s)
pipe.flush(None)
publisher = pipeline_manager.pipelines[0].publishers[0]
expected_len = len(test_resources) * len(expected)
self.assertEqual(0, len(publisher.samples))
pipe.flush(None)
self.assertEqual(expected_len, len(publisher.samples))
# bucket samples by resource first
@ -1817,7 +1816,7 @@ class BasePipelineTestCase(base.BaseTestCase):
dict(name='memory.usage', volume=512.0),
dict(name='memory', volume=1024.0),
]
expected = [50.0]
expected = [25.0]
self._do_test_arithmetic(expression, scenario, expected)
def test_arithmetic_transformer_missing(self):

View File

@ -101,15 +101,14 @@ class ArithmeticTransformer(transformer.TransformerBase):
def flush(self, context):
new_samples = []
cache_clean_list = []
if not self.misconfigured:
for resource_id in self.cache:
if self._check_requirements(resource_id):
new_samples.append(self._calculate(resource_id))
else:
LOG.warn(_('Unable to perform calculation, not all of '
'{%s} are present'),
', '.join(self.required_meters))
self.cache.clear()
cache_clean_list.append(resource_id)
for res_id in cache_clean_list:
self.cache.pop(res_id)
return new_samples
@classmethod