Столкнулся с проблемой, что Transformation script возвращает int32 из DCI, с принудительно установленным форматом int64. В результате получаем переполнение переменной и отрицательное число там, где должно быть положительное.
Как пример - отображение результата вычисления полного обьема многотерабайтного хранилища из данных, полученных по snmp.
OID(.1.3.6.1.2.1.25.2.3.1.5.32) * OID(.1.3.6.1.2.1.25.2.3.1.4.32)
Надо хотя-бы один операнд принудительно сконвертировать в int64. Скрипт не расширяет результат умножения автоматически (что возможно неправильно, я подумаю позже об этом).
Не смог найти на вики описания функций приведения типов.
Разобрался проведя несколько экспериментов.
$1 * int64(GetDCIValueByName($node,".1.3.6.1.2.1.25.2.3.1.4.32"))
Спасибо!