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 -",
|
||||
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
|
||||
result = self.gnocchi('metric', params="list")
|
||||
metrics = self.parser.listing(result)
|
||||
|
|
|
@ -151,7 +151,7 @@ class MetricManager(base.Manager):
|
|||
headers={'Content-Type': "application/json"},
|
||||
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
|
||||
|
||||
:param measures: measurements
|
||||
|
@ -162,7 +162,8 @@ class MetricManager(base.Manager):
|
|||
return self._post(
|
||||
self.resources_batch_url,
|
||||
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,
|
||||
granularity=None, resource_id=None, refresh=False,
|
||||
|
|
|
@ -216,10 +216,17 @@ class CliMetricsMeasuresBatch(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):
|
||||
with parsed_args.file as f:
|
||||
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):
|
||||
|
|
Loading…
Reference in New Issue