Community.. I have a problem accessing normal data point values in a complex data point. I tried every way to access it, normal data points, which I have as MemoryUsageKB MemoryLimitHighKB...
Data I am polling through the data source's collection method ( PERFMON) For SQL server Analysis service memory metrics
Below are the data points I have created.
Now Upon This I have created one complex datapoint for the condition (if 'Memory Usage KB is greater or equal to 'Memory Limit Hard KB, then trigger alert)
By using Infix expression I achieved this. if(gt(MemoryUsageKB,MemoryLimitHardKB)1,0)
But instead of returning 0 (since this is false ) it's returning 1 (as true)
(((
The expression if(gt(MemoryUsageKB,MemoryLimitHardKB),1,0) should return 0 when MemoryUsageKB (3298832) is less than MemoryLimitHardKB (132120162). Given the values you provided, let's break it down:
Comparison: gt(MemoryUsageKB,MemoryLimitHardKB) translates to gt(3298832, 132120162). Evaluation: Since 3298832 is not greater than 132120162, gt returns false. Result: The if statement should return 0 because the condition is false. which is not)))
I have been told to use Groovy to achieve this calculation since the infix expression is failing to do so. So, I need to retrieve the values of normal data points in a groovy complex data point to calculate big values.
This should return 0 because gt(3298832,132120162) is false. If it's not doing that, you shouldn't be writing a groovy complex datapoint, you should be working with LM support.
Have you been working with them? Is that where the bold information comes from above? Is that a quote from them?
I'd like to see a screenshot if your infix expression. Is it possible the two terms of the gt() function are in the wrong order? What happens if you plug in raw values instead of variables into the complex datapoint? Does it still return the wrong value?