private void renderTime(XMLWriter writer, Result result) { if ( ! result.getQuery().getPresentation().getTiming()) return; final String threeDecimals = "%.3f"; final double milli = .001d; final long now = System.currentTimeMillis(); final long searchTime = now - result.getElapsedTime().first(); final double searchSeconds = ((double) searchTime) * milli; if (result.getElapsedTime().firstFill() != 0L) { final long queryTime = result.getElapsedTime().weightedSearchTime(); final long summaryFetchTime = result.getElapsedTime().weightedFillTime(); final double querySeconds = ((double) queryTime) * milli; final double summarySeconds = ((double) summaryFetchTime) * milli; writer.attribute(QUERY_TIME, String.format(threeDecimals, querySeconds)); writer.attribute(SUMMARY_FETCH_TIME, String.format(threeDecimals, summarySeconds)); } writer.attribute(SEARCH_TIME, String.format(threeDecimals, searchSeconds)); }
private void renderTime(XMLWriter writer, Result result) { if (!result.getQuery().getPresentation().getTiming()) { return; } final String threeDecimals = "%.3f"; final double milli = .001d; final long now = System.currentTimeMillis(); final long searchTime = now - result.getQuery().getStartTime(); final double searchSeconds = ((double) searchTime) * milli; if (result.getElapsedTime().firstFill() != 0L) { final long queryTime = result.getElapsedTime().firstFill() - result.getQuery().getStartTime(); final long summaryFetchTime = now - result.getElapsedTime().firstFill(); final double querySeconds = ((double) queryTime) * milli; final double summarySeconds = ((double) summaryFetchTime) * milli; writer.attribute(QUERY_TIME, String.format(threeDecimals, querySeconds)); writer.attribute(SUMMARY_FETCH_TIME, String.format(threeDecimals, summarySeconds)); } writer.attribute(SEARCH_TIME, String.format(threeDecimals, searchSeconds)); }
private void renderTiming() throws IOException { if (!getResult().getQuery().getPresentation().getTiming()) return; double milli = .001d; long now = timeSource.getAsLong(); long searchTime = now - getResult().getElapsedTime().first(); double searchSeconds = searchTime * milli; generator.writeObjectFieldStart(TIMING); if (getResult().getElapsedTime().firstFill() != 0L) { long queryTime = getResult().getElapsedTime().weightedSearchTime(); long summaryFetchTime = getResult().getElapsedTime().weightedFillTime(); double querySeconds = queryTime * milli; double summarySeconds = summaryFetchTime * milli; generator.writeNumberField(QUERY_TIME, querySeconds); generator.writeNumberField(SUMMARY_FETCH_TIME, summarySeconds); } generator.writeNumberField(SEARCH_TIME, searchSeconds); generator.writeEndObject(); }
if (key.last().equals(Presentation.SUMMARY)) return query.getPresentation().getSummary(); if (key.last().equals(Presentation.FORMAT)) return query.getPresentation().getFormat(); if (key.last().equals(Presentation.TIMING)) return query.getPresentation().getTiming(); if (key.last().equals(Presentation.SUMMARY_FIELDS)) return query.getPresentation().getSummaryFields();