IGetMetrics migration to labels
В связи с переходом PM на метки интерфейс IGetMetrics должен быть доработан:
class IGetMetrics(BaseInterface):
"""
Collect metrics from managed object
"""
metrics = DictListParameter(
attrs={
# Opaque id to be returned in response
"id": IntParameter(),
# Metric type
"metric": StringParameter(),
# Optional path
"labels": StringListParameter(required=False),
# ifindex hint
"ifindex": IntParameter(required=False),
# SLA probe hint
"sla_type": StringParameter(required=False),
}
)
returns = DictListParameter(
attrs={
# Opaque id as in input
"id": IntParameter(),
# Measurement timestamp
"ts": IntParameter(),
# Metric name, as *metric* in *metrics* input
"metric": StringParameter(),
# Metric path as *path* in *metrics* input
"labels": StringListParameter(required=False),
# Measured value
"value": FloatParameter(),
# Measurement type
"type": StringParameter(choices=["gauge", "counter", "bool", "delta"]),
# Measurement scale
"scale": IntParameter(default=1),
}
)
Поле path
с жестко заданной структурой заменяется на поле labels
, содержащее текстовые метки.
Все скрипты get_metrics
необходимо доработать для работы с новым интерфейсом.