Sideload() changes "value" when using fields in comparison


when using tags from the sideload() function, the field “value” is changed, but I don’t see why.
Without sideloaded fields like “disk_used_crit”, “value” is the actual disk usage, but when i) sideload finds host data in a .yml file or ii) the alert() function accesses the field “disk_used_crit”, then the field “value” is changed to e.g. 95.
Even stranger, also other fields like “used_percent” are at 95 now, but I cannot see why it is overwritten.

 var message = 'Service {{ index .Tags "host" }}/{{.Name}} is  {{.Level}}
 {{ index .Tags "path" }} is at {{ index .Fields "value" }}'


 var data = stream
     |eval(lambda: "used_percent")
         .field('disk_used_info', 80.0)
         .field('disk_used_warn', 90.0)
         .field('disk_used_crit', 95.0)

 var trigger = data
         .info(lambda: "value" > "disk_used_info")
         .warn(lambda: "value" > "disk_used_warn")
         .crit(lambda: "value" > "disk_used_crit")

When I revert to static value like this, I see the corret value:

        .info(lambda: "value" > 80)
        .warn(lambda: "value" > 90)
        .crit(lambda: "value" > 95)

Unless a .yml file for the host exists.

Any ideas?


Looks like the scrips is ok and the bug was later in the processing.
Can I delete this post?