Forum Discussion
ahmad_2312
Jul 09, 2011Nimbostratus
Measuring Response time based on POST and GET Parameters
HI
I am trying to measure the response time of each transaction in our website, however due to security reasons all URLs are masked and the only way to identify the page is by using a submit...
hooleylist
Jul 13, 2011Cirrostratus
Hamish is right here. HTTP::header $header_name will return a null string if the header doesn't exist. HTTP::collect expects an integer so that's why you're getting the error.
Going back to the original scenario, are you trying to do this for troubleshooting purposes or ongoing reporting? Trying to collect every request payload is going to add latency to the requests and require a non-trivial amount of TMM memory. If you want to troubleshoot a specific issue, using tcpdump might be a more effective method. If you want to do this long term, you might consider the new AVR module in v11.0. It provides these types of metrics and more for web app traffic. You could sign up for the beta on beta.f5.com to get a preview of the functionality (though hurry as it ends this week).
If you do want to pursue the iRule route, you might try checking [HTTP::payload] in HTTP_REQUEST without collecting the payload to see if the parameters you need have already been seen in the first packet(s) TMM needs to buffer to parse the request HTTP headers.
And as Hamish suggested, definitely consider using High Speed Logging for this instead of the log command. The performance (or lack of resource utilization) is incredible.
http://devcentral.f5.com/wiki/default.aspx/iRules/hsl
Aaron
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects