Всем привет!
Есть правило item prorotype:
metric_name.{#DEST}.{#COMMAND}.{#RESPONSE}
Оно порождает множество items
metric_name.Rostov.GET.200
metric_name.Rostov.GET.500
metric_name.Rostov.GET.404
metric_name.Rostov.PUT.200
metric_name.Rostov.PUT.500
metric_name.Rostov.PUT.404
metric_name.Khabarovsk.GET.200
metric_name.Khabarovsk.GET.500
metric_name.Khabarovsk.GET.404
Количество направлений, команд и кодов ответа может увеличиваться или уменьшаться.
Как сделать calculated item чтобы считалась сумма команд по конкретному destination используя макросы? Например, для статической картинки когда заранее известно направление и список кодов это будет выглядеть так:
metric_name.Rostov.GET.sum = last(metric_name.Rostov.GET.200)+last(metric_name. Rostov.GET.500)+last(metric_name.Rostov.GET.404)
metric_name.Rostov.PUT.sum = last(metric_name.Rostov.PUT.200)+last(metric_name. Rostov.PUT.500)+last(metric_name.Rostov.PUT.404)
А нужен item prototype вида:
metric_name.{#DEST}.{#COMMAND}.sum = ?
Пробовал sum(last_foreach(//metric_name.{#DEST}.{#COMMAND}.[*])) но почему-то не работает, пишет cannot evaluate expression: no input data for function at sum(last_foreach(//metric_name.Rostov.GET.[*]))
Что я делаю не так?
Есть правило item prorotype:
metric_name.{#DEST}.{#COMMAND}.{#RESPONSE}
Оно порождает множество items
metric_name.Rostov.GET.200
metric_name.Rostov.GET.500
metric_name.Rostov.GET.404
metric_name.Rostov.PUT.200
metric_name.Rostov.PUT.500
metric_name.Rostov.PUT.404
metric_name.Khabarovsk.GET.200
metric_name.Khabarovsk.GET.500
metric_name.Khabarovsk.GET.404
Количество направлений, команд и кодов ответа может увеличиваться или уменьшаться.
Как сделать calculated item чтобы считалась сумма команд по конкретному destination используя макросы? Например, для статической картинки когда заранее известно направление и список кодов это будет выглядеть так:
metric_name.Rostov.GET.sum = last(metric_name.Rostov.GET.200)+last(metric_name. Rostov.GET.500)+last(metric_name.Rostov.GET.404)
metric_name.Rostov.PUT.sum = last(metric_name.Rostov.PUT.200)+last(metric_name. Rostov.PUT.500)+last(metric_name.Rostov.PUT.404)
А нужен item prototype вида:
metric_name.{#DEST}.{#COMMAND}.sum = ?
Пробовал sum(last_foreach(//metric_name.{#DEST}.{#COMMAND}.[*])) но почему-то не работает, пишет cannot evaluate expression: no input data for function at sum(last_foreach(//metric_name.Rostov.GET.[*]))
Что я делаю не так?
Comment