Forum Discussion
Jason_Bender_10
Nimbostratus
Mar 14, 2005STATISTIC_HTTP_GET_REQUEST
I can get this to display anything after building pool.exe and running. It is listed in the locallbpoolmembers.cs file. Is there a special parameter I have to run to get this statistic?
Thanks
Jason
14 Replies
- Loc_Pham_101863Historic F5 AccountThis specific statistic is only available when you're using an HTTP profile or FastHTTP profile with your virtual server. When this is the case, one of the following methods can be used to retrieve the statistic, depending on which profile you're using:
LocalLB::ProfileHttp::get_all_statistics
LocalLB::ProfileHttp::get_statistics
System::Statistics::get_http_statistics
LocalLB::ProfileFastHttp::get_all_statistics
LocalLB::ProfileFastHttp::get_statistics
System::Statistics::get_fasthttp_statistics
Loc - Ryan_Rashell_80
Nimbostratus
I am not savvy with c. What file and what syntax is used to add and remove stats such as this one? - Currently there is no way to remove statistics. As for querying them, I'd suggest you refer to some of the C samples in the sdk (/sdk/samples/soap/c/Microsoft) that query statistics and use those as a reference. I believe the NodeAddress, Pool, and VSStats apps in the LocalLB directory all reference the stats for the respective object types.
- Ryan_Rashell_80
Nimbostratus
Yes, we have actaully built and ran the Pool.exe but there are some stats we simply do not need to query. So if there is no way to remove the stats we do not need from Pool.exe can we still ADD a stat? If so, my question of syntax and file is still open and concerning how to add STATISTIC_HTTP_GET_REQUEST. Thanks again for the help! - Ryan_Rashell_80
Nimbostratus
Thanks Joe. We were able to get the STATISTICS_HTTP_GET_REQUEST from the HTTP profile but we are not sure of our numbers. For some reason it looped through twice and gave us these numbers
STATISTIC_HTTP_GET_REQUESTS : 3440790
STATISTIC_HTTP_GET_REQUESTS : 61927
These seem very high. We would like to get the number seen in the GUI Graph for HTTP REQUESTS, which show 2k - 3.5k over the course of the day. Is this possible? Where would we get this number from?
Thanks,
-RR - Posted By Roachie_34 on 5/3/2005 3:00:14 PM
Thanks Joe. We were able to get the STATISTICS_HTTP_GET_REQUEST from the HTTP profile but we are not sure of our numbers. For some reason it looped through twice and gave us these numbers
STATISTIC_HTTP_GET_REQUESTS : 3440790
STATISTIC_HTTP_GET_REQUESTS : 61927
These seem very high. We would like to get the number seen in the GUI Graph for HTTP REQUESTS, which show 2k - 3.5k over the course of the day. Is this possible? Where would we get this number from?
Thanks,
-RR
The performance graphs in the GUI are displaying the "rates" while the numbers exposed from the statistics() methods all return "totals". It is up to the client application to perform a rate calculation
rate = (total2 - total1)/(t2-t1)
Where total1 and 2 are the 64 bit values and t1 and t2 are the relative time in seconds that the calls were made for total1 and total2. The statistics structures returned from the stats calls all contain a timestamp that you can use to calculate the time that the statistics were taken.
One last thing to note is that you should make sure you are using the full 64 bit values in your calculations. For C, you can use the following helper functionUInt64 build64(CommonULong64 value) { return ((ulong)value.high<<32)|(ulong)value.low; }
Before you ask, yes, we are planning on exposing the data from the performance graphs that already contain the rates. This will be available in BIG-IP v9.2.
-Joe - Loc_Pham_101863Historic F5 AccountI'd like to add some additional information.
As I've mentioned in my earliest post, you can get the STATISTIC_HTTP_GET_REQUESTS stat only when using HTTP or FastHTTP profiles, and you can get the stat by calling:
LocalLB::ProfileHttp::get_statistics
LocalLB::ProfileFastHttp::get_statistics
or:
System::Statistics::get_http_statistics
System::Statistics::get_fashhttp_statistics
The statistics returned by the System::Statistics::get_http_statistics or System::Statistics::get_fasthttp_statistics are the rolled up or global statistics for all the HTTP or FastHTTP profiles in the system, respectively. The statistics returned by LocalLB::ProfileHttp or LocalLB::ProfileFastHttp are for the specific profiles only.
With this in mind, does the first statistic in your last post correspond to the stat returned by System::Statistics::get_http_statistics, and your second stat correspond to that returned by LocalLB::ProfileHttp::get_statistics ? If so, the first stat (3440790) represents the total HTTP GET requests from all HTTP profiles in the system, whereas the second stat (61927) represents the HTTP GET request for a specific HTTP profile used to get the stat.
Regards,
Loc - Jeff_MacDonald_
Nimbostratus
We are trying to use this same method to get some egress numbers, we're using this statistic
--> STATISTIC_CLIENT_SIDE_BYTES_OUT :
Here's the data that is returned sampling every minute
770483506918
770710557928
770946243355
18446744071789620234
18446744072013105958
18446744072243454005
18446744072468708102
18446744072705257264
18446744072930734391
18446744073161324933
18446744073391077276
18446744073616951729
773225461075
773457142371
773683848017
773904778300
774123504258
774363210149
774578852132
774802350794
775013717568
775234845129
18446744071782249483
18446744072008059388
18446744072239486480
Obviously I can't get valid calculations when it jumps between the two ranges, what is going on here?
Thanks,
jeff - This indeed looks odd. Can you log the Low and High values returned from the UInt64 structure so that we can determine if it's indeed the data that is incorrect or if it is in the calculation of the 64bit value?
Also, if you could post which method you are using and which statisitic this corresponds to that would help out. Also, the version of BIG-IP might help as well.
One thing to note is that we have recently introduced an API to pull down the CSV values associated with the performance graphs. I'll have to check which version of 9.x they were introduced in (I believe it won't be until 9.2.0). We are using a round robin database which allows for decay of data over time to allow for a fixed result set. This should be released with the next SDK in time for BIG-IP v9.2.0 (late summer).
-Joe - Jeff_MacDonald_
Nimbostratus
I am just using the vsstats.exe sample code as is that comes in the sdk and one of the statistics returned is
--> STATISTIC_CLIENT_SIDE_BYTES_OUT
Here's what's returned for that stat running vsstats every 5 minutes
1792046826596
1942014224669
18446744072041273985
1946015507947
18446744071729214894
18446744073640195150
1951766616044
18446744073162192014
1955505485325
18446744072512350211
1959158405079
18446744071909981514
1962881229517
1964828299687
18446744073619993414
1969217487444
1971416366594
.
.
.
.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
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
