com.yahoo.container.handler.Timing Maven / Gradle / Ivy
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.handler;
/**
* A wrapper for timing of events in the course of a query evaluation. Advanced
* database searches and similar could use these structures as well.
*
* Not adding this object will lead to less exact entries in the query
* log. It is legal to set only queryStartTime and set the other values
* to zero.
*
* If you do not understand the fields, just avoid creating this object
* in you handler.
*
* @author Steinar Knutsen
*/
public class Timing {
protected long summaryStartTime;
protected long queryStartTime;
protected long timeout;
/**
* Do consider using
* com.yahoo.search.handler.SearchResponse.createTiming(Query, Result) if
* instead of this constructor if you are creating a Timing instance in a
* search context.
*
* @param summaryStartTime when fetching of document contents started
* @param queryStartTime when the request started
* @param timeout maximum allowed lifetime of the request
*/
public Timing(long summaryStartTime, long ignored, long queryStartTime, long timeout) {
super();
this.summaryStartTime = summaryStartTime;
this.queryStartTime = queryStartTime;
this.timeout = timeout;
}
/**
* Summary start time is when the fetching of hit/document contents
* start. (As opposed to just analyzing hit relevancies.)
*
* @return the start time of summary fetching or 0
*/
public long getSummaryStartTime() {
return summaryStartTime;
}
/**
* This is the start of the server's evaluation of a query
* or request, after full reception of it through the network.
* It will usually be intialized implicitly from the value
* generated by the com.yahoo.search.Query constructor.
*
* @return the starting time of query construction
*/
public long getQueryStartTime() {
return queryStartTime;
}
/**
* This is the timeout that was given to this query.
*
* @return The timeout given allowed to the query.
*/
public long getTimeout() {
return timeout;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy