Merge "metric: add support for `--create-metrics' in batch-resources-metrics"
This commit is contained in:
commit
f5035d18fb
|
@ -330,6 +330,14 @@ class MetricClientTest(base.ClientTestBase):
|
||||||
self.gnocchi('measures', params="batch-resources-metrics -",
|
self.gnocchi('measures', params="batch-resources-metrics -",
|
||||||
input=measures.encode('utf8'))
|
input=measures.encode('utf8'))
|
||||||
|
|
||||||
|
# BATCHING --create-metrics
|
||||||
|
measures = json.dumps({'metric-res': {'unknown-metric-name': [{
|
||||||
|
'timestamp': '2015-03-06T14:34:12', 'value': 12
|
||||||
|
}]}})
|
||||||
|
self.gnocchi('measures',
|
||||||
|
params="batch-resources-metrics --create-metrics -",
|
||||||
|
input=measures.encode('utf8'),)
|
||||||
|
|
||||||
# LIST
|
# LIST
|
||||||
result = self.gnocchi('metric', params="list")
|
result = self.gnocchi('metric', params="list")
|
||||||
metrics = self.parser.listing(result)
|
metrics = self.parser.listing(result)
|
||||||
|
|
|
@ -151,7 +151,7 @@ class MetricManager(base.Manager):
|
||||||
headers={'Content-Type': "application/json"},
|
headers={'Content-Type': "application/json"},
|
||||||
data=jsonutils.dumps(measures))
|
data=jsonutils.dumps(measures))
|
||||||
|
|
||||||
def batch_resources_metrics_measures(self, measures):
|
def batch_resources_metrics_measures(self, measures, create_metrics=False):
|
||||||
"""Add measurements to named metrics if resources
|
"""Add measurements to named metrics if resources
|
||||||
|
|
||||||
:param measures: measurements
|
:param measures: measurements
|
||||||
|
@ -162,7 +162,8 @@ class MetricManager(base.Manager):
|
||||||
return self._post(
|
return self._post(
|
||||||
self.resources_batch_url,
|
self.resources_batch_url,
|
||||||
headers={'Content-Type': "application/json"},
|
headers={'Content-Type': "application/json"},
|
||||||
data=jsonutils.dumps(measures))
|
data=jsonutils.dumps(measures),
|
||||||
|
params=dict(create_metrics=create_metrics))
|
||||||
|
|
||||||
def get_measures(self, metric, start=None, stop=None, aggregation=None,
|
def get_measures(self, metric, start=None, stop=None, aggregation=None,
|
||||||
granularity=None, resource_id=None, refresh=False,
|
granularity=None, resource_id=None, refresh=False,
|
||||||
|
|
|
@ -216,10 +216,17 @@ class CliMetricsMeasuresBatch(CliMeasuresBatch):
|
||||||
|
|
||||||
|
|
||||||
class CliResourcesMetricsMeasuresBatch(CliMeasuresBatch):
|
class CliResourcesMetricsMeasuresBatch(CliMeasuresBatch):
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = super(CliResourcesMetricsMeasuresBatch, self).get_parser(
|
||||||
|
prog_name)
|
||||||
|
parser.add_argument("--create-metrics", action='store_true',
|
||||||
|
help="Create unknown metrics"),
|
||||||
|
return parser
|
||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
with parsed_args.file as f:
|
with parsed_args.file as f:
|
||||||
utils.get_client(self).metric.batch_resources_metrics_measures(
|
utils.get_client(self).metric.batch_resources_metrics_measures(
|
||||||
json.load(f))
|
json.load(f), create_metrics=parsed_args.create_metrics)
|
||||||
|
|
||||||
|
|
||||||
class CliMeasuresAggregation(lister.Lister):
|
class CliMeasuresAggregation(lister.Lister):
|
||||||
|
|
Loading…
Reference in New Issue