Workaround for memk() functon lacking TB, PB, etc support. Create two macros:
[vmemk(1)]
args = field
definition = eval $field$=case(\
like($field$,"%B"), tonumber(rtrim($field$,"B"))/1024,\
like($field$,"%K"), tonumber(rtrim($field$,"K")),\
like($field$,"%M"), tonumber(rtrim($field$,"M"))*pow(1024,1), \
like($field$,"%G"), tonumber(rtrim($field$,"G"))*pow(1024,2), \
like($field$,"%T"), tonumber(rtrim($field$,"T"))*pow(1024,3), \
like($field$,"%P"), tonumber(rtrim($field$,"P"))*pow(1024,4)\
)
iseval = 0
[memk2(1)]
args = fields
definition = foreach $fields$ [`vmemk(<<FIELD>>)`]
iseval = 0
Use them as:
| metadata type=hosts | head 1 | fields _raw | eval _raw="description=\"current behavior\" field_B=512.0B field_K=512.0K field_M=512.0M field_G=5.0G field_T=5.0T field_P=5.0P" | extract
| append [ |metadata type=hosts | head 1 | fields _raw | eval _raw="description=\"1field behavior\" field_B=512.0B field_K=512.0K field_M=512.0M field_G=5.0G field_T=5.0T field_P=5.0P" | extract | `vmemk(field_B)` | `vmemk(field_K)` | `vmemk(field_M)`| `vmemk(field_G)`| `vmemk(field_T)`| `vmemk(field_P)`]
| append [| metadata type=hosts | head 1 | fields _raw | eval _raw="description=\"forloop multi-field behavior\" field_B=512.0B field_K=512.0K field_M=512.0M field_G=5.0G field_T=5.0T field_P=5.0P" | extract | `memk2(field_*)`]
... View more