本文整理了Java中com.addthis.hydra.data.query.Query.isTraced
方法的一些代码示例,展示了Query.isTraced
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.isTraced
方法的具体详情如下:
包路径:com.addthis.hydra.data.query.Query
类名称:Query
方法名:isTraced
暂无
代码示例来源:origin: addthis/hydra
void checkForStragglersMeans() {
int totalTasks = sourceAggregator.totalTasks;
int numRemaining = totalTasks - sourceAggregator.completed;
int tasksDoneCutoff = Math.max(1, (int) Math.ceil(AggregateConfig.stragglerCheckHostPercentage * totalTasks));
long elapsedTime = JitterClock.globalTime() - sourceAggregator.startTime;
double timeCutoff = AggregateConfig.stragglerCheckMeanRuntimeFactor * getMeanRuntime();
if (numRemaining == 0) {
if (MeshSourceAggregator.log.isDebugEnabled() || sourceAggregator.query.isTraced()) {
Query.traceLog.info("Straggler checker for {} detected query done. Exiting.",
sourceAggregator.query.uuid());
}
} else if ((numRemaining <= tasksDoneCutoff) && (elapsedTime > timeCutoff)) {
handleStragglers();
}
}
代码示例来源:origin: addthis/hydra
void checkForStragglersStdDev() {
Query query = sourceAggregator.query;
int totalTasks = sourceAggregator.totalTasks;
int numRemaining = totalTasks - sourceAggregator.completed;
int tasksDoneCutoff = Math.max(1, (int) Math.ceil(AggregateConfig.stragglerCheckHostPercentage * totalTasks));
long elapsedTime = JitterClock.globalTime() - sourceAggregator.startTime;
if (numRemaining == 0) {
if (MeshSourceAggregator.log.isDebugEnabled() || query.isTraced()) {
Query.traceLog.info("Straggler checker for {} detected query done. Exiting.", query.uuid());
}
} else if ((numRemaining <= tasksDoneCutoff) &&
(elapsedTime > getStdDevsAwayRuntime(AggregateConfig.MULTIPLE_STD_DEVS))) {
if (MeshSourceAggregator.log.isTraceEnabled()) {
MeshSourceAggregator.log.trace("Running stragglers for query: {}", query.uuid());
MeshSourceAggregator.log.trace(
"numRemaining: {} taskDoneCutoff: {} deltaTime: {} {} stdDevsAway: {} Mean runtime: {}",
numRemaining, tasksDoneCutoff, elapsedTime, AggregateConfig.MULTIPLE_STD_DEVS,
getStdDevsAwayRuntime(AggregateConfig.MULTIPLE_STD_DEVS), getMeanRuntime());
}
handleStragglers();
}
}
代码示例来源:origin: addthis/hydra
/**
* Part 3 - SEARCH
* Run the search -- most of this logic is in QueryEngine.search(). We only take care of logging times and
* passing the sendComplete message along.
*/
protected void search() {
final long searchStartTime = System.currentTimeMillis();
finalEng.search(query, queryOpProcessor, bridge.getQueryPromise());
queryOpProcessor.sendComplete();
final long searchDuration = System.currentTimeMillis() - searchStartTime;
if (log.isDebugEnabled() || query.isTraced()) {
Query.traceLog.info("[QueryReference] search complete {} in {}ms directory: {} slow={} rowsIn: {}",
query.uuid(), searchDuration, goldDirString,
searchDuration > MeshQuerySource.slowQueryThreshold, queryOpProcessor.getInputRows());
}
MeshQuerySource.queryTimes.update(searchDuration, TimeUnit.MILLISECONDS);
}
}
代码示例来源:origin: addthis/hydra
/**
* Part 2 - ENGINE CACHE
* Get a QueryEngine for our query -- check the cache for a suitable candidate, otherwise make one.
* Most of this logic is handled by the QueryEngineCache.get() function.
*/
protected QueryEngine getEngine() throws Exception {
final long engineGetStartTime = System.currentTimeMillis();
// Use the canonical path stored in the canonicalDirString to create a QueryEngine. By that way
// if the alias changes new queries will use the latest available
// database and the old engines will be automatically closed after their TTL expires.
QueryEngine engine = MeshQuerySource.queryEngineCache.getAndLease(goldDirString);
final long engineGetDuration = System.currentTimeMillis() - engineGetStartTime;
MeshQuerySource.engineGetTimer.update(engineGetDuration, TimeUnit.MILLISECONDS);
if (engine == null) //Cache returned null -- this doesn't mean cache miss. It means something went fairly wrong
{
log.warn("[QueryReference] Unable to retrieve queryEngine for query: {}, key: {} after waiting: {}ms",
query.uuid(), goldDirString, engineGetDuration);
throw new DataChannelError("Unable to retrieve queryEngine for query: " + query.uuid() +
", key: " + goldDirString + " after waiting: " + engineGetDuration + "ms");
} //else we got an engine so we're good -- maybe this logic should be in the cache get
if ((engineGetDuration > MeshQuerySource.slowQueryThreshold) || log.isDebugEnabled() || query.isTraced()) {
Query.traceLog.info(
"[QueryReference] Retrieved queryEngine for query: {}, key:{} after waiting: {}ms. slow={}",
query.uuid(), goldDirString, engineGetDuration,
engineGetDuration > MeshQuerySource.slowQueryThreshold);
}
return engine;
}
代码示例来源:origin: addthis/hydra
public void handleStragglers() {
for (QueryTaskSource taskSource : sourceAggregator.taskSources) {
if (taskSource.oneHasResponded() || (taskSource.options.length == 0)) {
continue;
}
for (QueryTaskSourceOption option : taskSource.options) {
if (!option.isActive()) {
if (option.tryActivate(sourceAggregator.meshy, sourceAggregator.queryOptions)) {
AggregateConfig.totalStragglerCheckerRequests.inc();
if (MeshSourceAggregator.log.isDebugEnabled() || sourceAggregator.query.isTraced()) {
Query.traceLog.info("Straggler detected for {} sending duplicate query to host: {}",
sourceAggregator.query.uuid(), option.queryReference.getHostUUID());
}
break;
}
}
}
}
}
}
代码示例来源:origin: addthis/hydra
.put("query.hosts", query.getParameter("hosts"))
.put("query.ops", query.getOps())
.put("trace", query.isTraced())
.put("sources", query.getParameter("sources"))
.put("time", System.currentTimeMillis())
内容来源于网络,如有侵权,请联系作者删除!