You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Pascal (JIRA)" <ji...@apache.org> on 2014/03/05 15:47:44 UTC

[jira] [Commented] (HTTPCLIENT-1475) Add a requests count readable stat for each HttpGet to be processed

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13920901#comment-13920901 ] 

Pascal commented on HTTPCLIENT-1475:
------------------------------------

Ok, it's an RTFM no-issue,

Using 'httpContext.setAttribute(..)' just before sending the first request with 'httpClient.execute(..)', permits to keep track of the current URI in the custom retry-handlers (base retry and HTTP501-retry ones) classes one prepared for this case.

In the end, for the main sent query occurence (the first and only one, that's a successful one, or the last retry success or failure), as well as all retry ones (in handlers), one is able to trackdown the sent query URI, and by extension, to count all queries sent for a specific URI.

I updated with details on StackOverflow.
Thanks, I'm closing it ;)

> Add a requests count readable stat for each HttpGet to be processed
> -------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1475
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1475
>             Project: HttpComponents HttpClient
>          Issue Type: New Feature
>          Components: HttpClient
>    Affects Versions: 4.3.3
>            Reporter: Pascal
>            Priority: Minor
>              Labels: HttpGet, count, retry
>
> Hi,
> Coding a use case involving massive querying of a web API, but having requests count restrictions, I'm trying to count all requests sent by HttpClient, including configured default retries and HTTP501-specific retries.
> The restriction is an access key, provided as a GET parameter, and being restricted to n daily usages, being revoked by the service maintainer if this rule is not respected (this is about the Steam gaming platform web API, nothing warez).
> In a nutshell, the needed feature is an overall requests-sent counter for each processed HttpGet.
> I found no way of doing this, and the source of 'org.apache.http.impl.execchain.RetryExec' (keyword: 'execCount') let me think this is not possible to do so. 'execCount' is a local variable not transmitted to other objects, so it doesn't seem like the info is provided in some other convenience stat object of the API. This counter could be in the deeps of 'requestExecutor.execute(route, request, context, execAware)' by the way.
> Also, I thought of extending the retry-related handlers, to count manually in some overriden 'retryRequest(ex, execCount, context)' methods. But the 'request' is not available in here, making it impossible to know what HttpGet/URL one is counting for.
> Issue is best described on Stackoverflow, also mentionning the ' https://issues.apache.org/jira/browse/HTTPCORE-21 ', which may be related (a ' git diff --name-only 4.0-alpha4 4.0-beta1 ' was too big, so I could not find any relevant usage tip. '4.0-alpha6' was not tagged):
> http://stackoverflow.com/questions/22195471/how-to-count-all-http-requests-sent-retries-in
> It may be a my-fault "RTFM" or an API documentation issue also. I really hope a feature or workaround exists to achieve so :)
> Thanks in advance



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org