Forum Discussion

Marvin's avatar
Marvin
Icon for Cirrocumulus rankCirrocumulus
Feb 03, 2020

AVR average server latency istats with Irule

I am looking for a particular use case to be able to read the AVR analytics average server response time and be able to mark the specific server down and use this information to make a proper load balancing decision. So basically lets say when the average server response latency is higher then 1000ms then we should not send traffic there but do a load balancing reselection. The following command is used in TMSH to view this data. Now I would like to collect this within the Irule.

 

show analytics http report view-by pool-member range now-3d measures {average-server-latency }

 

In the analytics profile I have seen the option "publish Irule statistics" and that is what I need, but how do I read the specific metric data from within the Irule? I read about istats is that what I need?

  • The short answer is that you can't access the control plane from the user plane - for very good reasons. What you could do is track the response time of requests to pool members, store them in a table and average them to make your decision. Use the table command to store the response time. Obviously this will have an impact on CPU but is more workable