iRule Editor Updates

As you may have noticed today, when you fired up the iRule Editor, that a new version is available for download.  I snuck in a couple of releases over the last couple of months and have been meaning on writing up some of the new features so looks like this is my chance.

The version information, along with features/enhancements put into each release, is always available from within the F5 iRule Editor Help menu item from within the editor but for those of you to lazy to click the couple of links it takes to get to the "What's New" section of the help, I'll go over the major points here.

Administrative Domains

With BIG-IP v9.4, the concept of configuration "silos" was added to allow an administrator the ability to place sections of the configuration into "buckets" and assign control of those "buckets" to individual users. Basically allowing the admin to give each user control of only portions of the configuration.  If you are running post v9.4, check out the new "Partition" file menu where you can view, and change if you are allowed, the current partition you are working in.

Auto Indenting

Thanks to one of our awesome DevCentral users for submitting the code changes to allow auto-indenting when the enter key is typed.  This will save in a lot of wear-and-tear on your tab or space keys!

Enhanced CPU Statistics Reporting

This has been a long time coming.  Way back, heck I can't even remember exactly how long, unRuleY posted a message to the forums indicating some calculations that can be done on the clock cycle statistics that are presented when the "timing" command is used within your iRule.  Last week, Deb published a tech tip with an Excel spreadsheet that will do these calculations for you.  I took this as the final kick-in-the-butt to get moving on Editor integration.  Well, it's here.  Right click on an iRule, select the "Statistics" tab, and you'll be presented with few new options.  First, is the CPU Speed.  Since this is not directly exposed via iControl, we had to make some assumptions based on the platform that iControl reports you are running on.  Click on "Guess" for the Editor to get that info from the BIG-IP and present what the platform guides for your system states that the CPU is running at.  For an exact value, you can run "cat /proc/cpuinfo" from the BIG-IP command prompt and search for the CPU speed in MHz.  Once you get the clock speed correct, you can view the following metric types

  • CPU Cycles/Request - This is the raw number of clock cycles that the LocalLB::Rule::get_statistics() method returns.  So, you can see the smallest (Minimum), Average and Largest (Maximum) number of clock cycles each iRule Event takes to execute.
  • Run Time (ms)/Request - This is the number of milliseconds (1/1000th of a second) that the events take to execute per request.  Again, the smallest, average, and largest requests are displayed.
  • Percent CPU Usage/Request - This is the percentage of the CPU that each request took up per request. 
  • Max Concurrent Requests - By taking the inverse of the Percent CPU Usage/Request we come up with the max number of requests until maxing out the CPU.  Keep in mind that this value assumes that the CPU is 100% dedicated to iRule processing which isn't the case.  You'll want to assume a number smaller that this.

Enjoy these new features and make sure to let me know what you think of the Editor and any and all new feature requests you would like to see added in the future.

-Joe

Reading: Confessions of a Economic Hitman

Listening To: 155 by +44

Published Nov 12, 2007
Version 1.0

Was this article helpful?