You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "David Smiley (JIRA)" <ji...@apache.org> on 2017/12/29 23:55:00 UTC

[jira] [Created] (SOLR-11805) SolrRequest elapsedTime is not computed correctly (premature millisecond conversion)

David Smiley created SOLR-11805:
-----------------------------------

             Summary: SolrRequest elapsedTime is not computed correctly (premature millisecond conversion)
                 Key: SOLR-11805
                 URL: https://issues.apache.org/jira/browse/SOLR-11805
             Project: Solr
          Issue Type: Improvement
      Security Level: Public (Default Security Level. Issues are Public)
            Reporter: David Smiley
            Priority: Minor


_(this is not QTime, this is what the SolrJ client request duration is captured as)_
This is what {{SolrRequest.process}} looks like:
{code:java}
    long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
    T res = createResponse(client);
    res.setResponse(client.request(this, collection));
    long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
    res.setElapsedTime(endTime - startTime);
    return res;
{code}

The millisecond conversion should be delayed to the very end, otherwise it could yield a time duration of a millisecond greater than it deserves.  Also, it's better to put the unit into the variable name.  Also, note the convenience methods on TimeUnit like "toMillis".  Here's what this should look like:

{code:java}
    long startNanos = System.nanoTime();
    T res = createResponse(client);
    res.setResponse(client.request(this, collection));
    long endNanos = System.nanoTime();
    res.setElapsedTime(TimeUnit.NANOSECONDS.toMillis(endNanos - startNanos));
    return res;
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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