public static long safeGetThreadCpuTime() { if (!isThreadCpuTimeEnabled()) { return 0L; } else { return getCurrentThreadCpuTime(); } }
@Override public Runnable commit() { return Runnables.getNoopRunnable(); }
public int intermediateComputeSizeBytes() { int sizeBytesConfigured = intermediateComputeSizeBytesConfigured(); if (sizeBytesConfigured != DEFAULT_PROCESSING_BUFFER_SIZE_BYTES) { return sizeBytesConfigured; } else if (computedBufferSizeBytes.get() != null) { return computedBufferSizeBytes.get(); } long directSizeBytes = JvmUtils.getRuntimeInfo().getDirectMemorySizeBytes(); int numProcessingThreads = getNumThreads(); int numMergeBuffers = getNumMergeBuffers(); int totalNumBuffers = numMergeBuffers + numProcessingThreads; int sizePerBuffer = (int) ((double) directSizeBytes / (double) (totalNumBuffers + 1)); final int computedSizePerBuffer = Math.min(sizePerBuffer, MAX_DEFAULT_PROCESSING_BUFFER_SIZE_BYTES); if (computedBufferSizeBytes.compareAndSet(null, computedSizePerBuffer)) { log.info( "Auto sizing buffers to [%,d] bytes each for [%,d] processing and [%,d] merge buffers " + "out of [%,d] max direct memory", computedSizePerBuffer, numProcessingThreads, numMergeBuffers, directSizeBytes ); } return computedSizePerBuffer; }
public Memory(RuntimeInfo runtime) { maxMemory = runtime.getMaxHeapSizeBytes(); totalMemory = runtime.getTotalHeapSizeBytes(); freeMemory = runtime.getFreeHeapSizeBytes(); usedMemory = totalMemory - freeMemory; directMemory = runtime.getDirectMemorySizeBytes(); }
public int getNumThreads() { int numThreadsConfigured = getNumThreadsConfigured(); if (numThreadsConfigured != DEFAULT_NUM_THREADS) { return numThreadsConfigured; } else { return Math.max(JvmUtils.getRuntimeInfo().getAvailableProcessors() - 1, 1); } }
public Status(Collection<DruidModule> modules) { this.version = getDruidVersion(); this.modules = getExtensionVersions(modules); this.memory = new Memory(JvmUtils.getRuntimeInfo()); }
@Nullable public static List<String> getMessagesFromSavedParseExceptions(CircularBuffer<Throwable> savedParseExceptions) { if (savedParseExceptions == null) { return null; } List<String> events = new ArrayList<>(); for (int i = 0; i < savedParseExceptions.size(); i++) { events.add(savedParseExceptions.getLatest(i).getMessage()); } return events; }
public ChangeRequestHistory(int maxSize) { this.maxSize = maxSize; this.changes = new CircularBuffer<>(maxSize); this.waitingFutures = new LinkedHashMap<>(); this.resolveWaitingFuturesRunnable = this::resolveWaitingFutures; this.singleThreadedExecutor = Execs.singleThreaded("SegmentChangeRequestHistory"); }
public static <T> QueryRunner<T> safeBuild( QueryRunner<T> delegate, QueryToolChest<T, ? extends Query<T>> queryToolChest, ServiceEmitter emitter, AtomicLong accumulator, boolean report ) { if (!JvmUtils.isThreadCpuTimeEnabled()) { return delegate; } else { return new CPUTimeMetricQueryRunner<>(delegate, queryToolChest, emitter, accumulator, report); } } }
@Override public <RetType> RetType wrap(Supplier<RetType> sequenceProcessing) { final long start = JvmUtils.getCurrentThreadCpuTime(); try { return sequenceProcessing.get(); } finally { cpuTimeAccumulator.addAndGet(JvmUtils.getCurrentThreadCpuTime() - start); } }
@Override public Runnable commit() { return Runnables.getNoopRunnable(); }
@Test public void testgetMaxDirectMemory() { try { long maxMemory = JvmUtils.getRuntimeInfo().getDirectMemorySizeBytes(); Assert.assertTrue((maxMemory > 0)); } catch (UnsupportedOperationException expected) { Assert.assertTrue(true); } catch (RuntimeException expected) { Assert.assertTrue(true); } } }
public enum CompressionCodec { IDENTITY { @Override public String getEncodingString() { return "identity"; } }, GZIP { @Override public String getEncodingString() { return "gzip"; } }, @SuppressWarnings("unused") //TODO test this CompressionCodec (it counts as usage) DEFLATE { @Override public String getEncodingString() { return "deflate"; } }; /** * Get the header-ified name of this encoding, which should go in "Accept-Encoding" and * "Content-Encoding" headers. This is not just the lowercasing of the enum name, since * we may one day support x- encodings like LZ4, which would likely be an enum named * "LZ4" that has an encoding string like "x-lz4".
private CPUTimeMetricQueryRunner( QueryRunner<T> delegate, QueryToolChest<T, ? extends Query<T>> queryToolChest, ServiceEmitter emitter, AtomicLong cpuTimeAccumulator, boolean report ) { if (!JvmUtils.isThreadCpuTimeEnabled()) { throw new ISE("Cpu time must enabled"); } this.delegate = delegate; this.queryToolChest = queryToolChest; this.emitter = emitter; this.cpuTimeAccumulator = cpuTimeAccumulator == null ? new AtomicLong(0L) : cpuTimeAccumulator; this.report = report; }
@Override public Runnable commit() { return Runnables.getNoopRunnable(); }
@Override public Runnable commit() { return Runnables.getNoopRunnable(); }
@Override public Runnable commit() { return Runnables.getNoopRunnable(); }
@Override public Runnable commit() { return Runnables.getNoopRunnable(); }
@Override public Runnable commit() { return Runnables.getNoopRunnable(); }