<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Apache Druid">
<meta name="keywords" content="druid,kafka,database,analytics,streaming,real-time,real time,apache,open source">
<meta name="author" content="Apache Software Foundation">

<title>Druid | Apache Druid (incubating) Metrics</title>

<link rel="alternate" type="application/atom+xml" href="/feed">
<link rel="shortcut icon" href="/img/favicon.png">

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">

<link href='//fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700,300italic|Open+Sans:300italic,400italic,600italic,400,300,600,700' rel='stylesheet' type='text/css'>

<link rel="stylesheet" href="/css/bootstrap-pure.css?v=1.1">
<link rel="stylesheet" href="/css/base.css?v=1.1">
<link rel="stylesheet" href="/css/header.css?v=1.1">
<link rel="stylesheet" href="/css/footer.css?v=1.1">
<link rel="stylesheet" href="/css/syntax.css?v=1.1">
<link rel="stylesheet" href="/css/docs.css?v=1.1">

<script>
  (function() {
    var cx = '000162378814775985090:molvbm0vggm';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>


  </head>

  <body>
    <!-- Start page_header include -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

<div class="top-navigator">
  <div class="container">
    <div class="left-cont">
      <a class="logo" href="/"><span class="druid-logo"></span></a>
    </div>
    <div class="right-cont">
      <ul class="links">
        <li class=""><a href="/technology">Technology</a></li>
        <li class=""><a href="/use-cases">Use Cases</a></li>
        <li class=""><a href="/druid-powered">Powered By</a></li>
        <li class=""><a href="/docs/latest/design/">Docs</a></li>
        <li class=""><a href="/community/">Community</a></li>
        <li class="header-dropdown">
          <a>Apache</a>
          <div class="header-dropdown-menu">
            <a href="https://www.apache.org/" target="_blank">Foundation</a>
            <a href="https://www.apache.org/events/current-event" target="_blank">Events</a>
            <a href="https://www.apache.org/licenses/" target="_blank">License</a>
            <a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a>
            <a href="https://www.apache.org/security/" target="_blank">Security</a>
            <a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a>
          </div>
        </li>
        <li class=" button-link"><a href="/downloads.html">Download</a></li>
      </ul>
    </div>
  </div>
  <div class="action-button menu-icon">
    <span class="fa fa-bars"></span> MENU
  </div>
  <div class="action-button menu-icon-close">
    <span class="fa fa-times"></span> MENU
  </div>
</div>

<script type="text/javascript">
  var $menu = $('.right-cont');
  var $menuIcon = $('.menu-icon');
  var $menuIconClose = $('.menu-icon-close');

  function showMenu() {
    $menu.fadeIn(100);
    $menuIcon.fadeOut(100);
    $menuIconClose.fadeIn(100);
  }

  $menuIcon.click(showMenu);

  function hideMenu() {
    $menu.fadeOut(100);
    $menuIconClose.fadeOut(100);
    $menuIcon.fadeIn(100);
  }

  $menuIconClose.click(hideMenu);

  $(window).resize(function() {
    if ($(window).width() >= 840) {
      $menu.fadeIn(100);
      $menuIcon.fadeOut(100);
      $menuIconClose.fadeOut(100);
    }
    else {
      $menu.fadeOut(100);
      $menuIcon.fadeIn(100);
      $menuIconClose.fadeOut(100);
    }
  });
</script>

<!-- Stop page_header include -->


    <div class="container doc-container">
      
      

      
      <p> Looking for the <a href="/docs/0.16.1-incubating/">latest stable documentation</a>?</p>
      

      <div class="row">
        <div class="col-md-9 doc-content">
          <p>
            <a class="btn btn-default btn-xs visible-xs-inline-block visible-sm-inline-block" href="#toc">Table of Contents</a>
          </p>
          <!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~   http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

<h1 id="druid-metrics">Druid Metrics</h1>

<p>Druid generates metrics related to queries, ingestion, and coordination.</p>

<p>Metrics are emitted as JSON objects to a runtime log file or over HTTP (to a service such as Apache Kafka). Metric emission is disabled by default.</p>

<p>All Druid metrics share a common set of fields:</p>

<ul>
<li><code>timestamp</code> - the time the metric was created</li>
<li><code>metric</code> - the name of the metric</li>
<li><code>service</code> - the service name that emitted the metric</li>
<li><code>host</code> - the host name that emitted the metric</li>
<li><code>value</code> - some numeric value associated with the metric</li>
</ul>

<p>Metrics may have additional dimensions beyond those listed above.</p>

<p>Most metric values reset each emission period. By default druid emission period is 1 minute, this can be changed by setting the property <code>druid.monitoring.emissionPeriod</code>.</p>

<h2 id="available-metrics">Available Metrics</h2>

<h2 id="query-metrics">Query Metrics</h2>

<h3 id="broker">Broker</h3>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>query/time</code></td>
<td>Milliseconds taken to complete a query.</td>
<td>Common: dataSource, type, interval, hasFilters, duration, context, remoteAddress, id. Aggregation Queries: numMetrics, numComplexMetrics. GroupBy: numDimensions. TopN: threshold, dimension.</td>
<td>&lt; 1s</td>
</tr>
<tr>
<td><code>query/bytes</code></td>
<td>number of bytes returned in query response.</td>
<td>Common: dataSource, type, interval, hasFilters, duration, context, remoteAddress, id. Aggregation Queries: numMetrics, numComplexMetrics. GroupBy: numDimensions. TopN: threshold, dimension.</td>
<td></td>
</tr>
<tr>
<td><code>query/node/time</code></td>
<td>Milliseconds taken to query individual historical/realtime processes.</td>
<td>id, status, server.</td>
<td>&lt; 1s</td>
</tr>
<tr>
<td><code>query/node/bytes</code></td>
<td>number of bytes returned from querying individual historical/realtime processes.</td>
<td>id, status, server.</td>
<td></td>
</tr>
<tr>
<td><code>query/node/ttfb</code></td>
<td>Time to first byte. Milliseconds elapsed until Broker starts receiving the response from individual historical/realtime processes.</td>
<td>id, status, server.</td>
<td>&lt; 1s</td>
</tr>
<tr>
<td><code>query/node/backpressure</code></td>
<td>Milliseconds that the channel to this process has spent suspended due to backpressure.</td>
<td>id, status, server.</td>
<td></td>
</tr>
<tr>
<td><code>query/intervalChunk/time</code></td>
<td>Only emitted if interval chunking is enabled. Milliseconds required to query an interval chunk. This metric is deprecated and will be removed in the future because interval chunking is deprecated. See <a href="../querying/query-context.html">Query Context</a>.</td>
<td>id, status, chunkInterval (if interval chunking is enabled).</td>
<td>&lt; 1s</td>
</tr>
<tr>
<td><code>query/count</code></td>
<td>number of total queries</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/success/count</code></td>
<td>number of queries successfully processed</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/failed/count</code></td>
<td>number of failed queries</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/interrupted/count</code></td>
<td>number of queries interrupted due to cancellation or timeout</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
</tbody></table>

<h3 id="historical">Historical</h3>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>query/time</code></td>
<td>Milliseconds taken to complete a query.</td>
<td>Common: dataSource, type, interval, hasFilters, duration, context, remoteAddress, id. Aggregation Queries: numMetrics, numComplexMetrics. GroupBy: numDimensions. TopN: threshold, dimension.</td>
<td>&lt; 1s</td>
</tr>
<tr>
<td><code>query/segment/time</code></td>
<td>Milliseconds taken to query individual segment. Includes time to page in the segment from disk.</td>
<td>id, status, segment.</td>
<td>several hundred milliseconds</td>
</tr>
<tr>
<td><code>query/wait/time</code></td>
<td>Milliseconds spent waiting for a segment to be scanned.</td>
<td>id, segment.</td>
<td>&lt; several hundred milliseconds</td>
</tr>
<tr>
<td><code>segment/scan/pending</code></td>
<td>Number of segments in queue waiting to be scanned.</td>
<td></td>
<td>Close to 0</td>
</tr>
<tr>
<td><code>query/segmentAndCache/time</code></td>
<td>Milliseconds taken to query individual segment or hit the cache (if it is enabled on the Historical process).</td>
<td>id, segment.</td>
<td>several hundred milliseconds</td>
</tr>
<tr>
<td><code>query/cpu/time</code></td>
<td>Microseconds of CPU time taken to complete a query</td>
<td>Common: dataSource, type, interval, hasFilters, duration, context, remoteAddress, id. Aggregation Queries: numMetrics, numComplexMetrics. GroupBy: numDimensions. TopN: threshold, dimension.</td>
<td>Varies</td>
</tr>
<tr>
<td><code>query/count</code></td>
<td>number of total queries</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/success/count</code></td>
<td>number of queries successfully processed</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/failed/count</code></td>
<td>number of failed queries</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/interrupted/count</code></td>
<td>number of queries interrupted due to cancellation or timeout</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
</tbody></table>

<h3 id="real-time">Real-time</h3>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>query/time</code></td>
<td>Milliseconds taken to complete a query.</td>
<td>Common: dataSource, type, interval, hasFilters, duration, context, remoteAddress, id. Aggregation Queries: numMetrics, numComplexMetrics. GroupBy: numDimensions. TopN: threshold, dimension.</td>
<td>&lt; 1s</td>
</tr>
<tr>
<td><code>query/wait/time</code></td>
<td>Milliseconds spent waiting for a segment to be scanned.</td>
<td>id, segment.</td>
<td>several hundred milliseconds</td>
</tr>
<tr>
<td><code>segment/scan/pending</code></td>
<td>Number of segments in queue waiting to be scanned.</td>
<td></td>
<td>Close to 0</td>
</tr>
<tr>
<td><code>query/count</code></td>
<td>number of total queries</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/success/count</code></td>
<td>number of queries successfully processed</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/failed/count</code></td>
<td>number of failed queries</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
<tr>
<td><code>query/interrupted/count</code></td>
<td>number of queries interrupted due to cancellation or timeout</td>
<td>This metric is only available if the QueryCountStatsMonitor module is included.</td>
<td></td>
</tr>
</tbody></table>

<h3 id="jetty">Jetty</h3>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>jetty/numOpenConnections</code></td>
<td>Number of open jetty connections.</td>
<td>Not much higher than number of jetty threads.</td>
</tr>
</tbody></table>

<h3 id="cache">Cache</h3>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>query/cache/delta/*</code></td>
<td>Cache metrics since the last emission.</td>
<td></td>
</tr>
<tr>
<td><code>query/cache/total/*</code></td>
<td>Total cache metrics.</td>
<td></td>
</tr>
</tbody></table>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>*/numEntries</code></td>
<td>Number of cache entries.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>*/sizeBytes</code></td>
<td>Size in bytes of cache entries.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>*/hits</code></td>
<td>Number of cache hits.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>*/misses</code></td>
<td>Number of cache misses.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>*/evictions</code></td>
<td>Number of cache evictions.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>*/hitRate</code></td>
<td>Cache hit rate.</td>
<td></td>
<td>~40%</td>
</tr>
<tr>
<td><code>*/averageByte</code></td>
<td>Average cache entry byte size.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>*/timeouts</code></td>
<td>Number of cache timeouts.</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td><code>*/errors</code></td>
<td>Number of cache errors.</td>
<td></td>
<td>0</td>
</tr>
<tr>
<td><code>*/put/ok</code></td>
<td>Number of new cache entries successfully cached.</td>
<td></td>
<td>Varies, but more than zero.</td>
</tr>
<tr>
<td><code>*/put/error</code></td>
<td>Number of new cache entries that could not be cached due to errors.</td>
<td></td>
<td>Varies, but more than zero.</td>
</tr>
<tr>
<td><code>*/put/oversized</code></td>
<td>Number of potential new cache entries that were skipped due to being too large (based on <code>druid.{broker,historical,realtime}.cache.maxEntrySize</code> properties).</td>
<td></td>
<td>Varies.</td>
</tr>
</tbody></table>

<h4 id="memcached-only-metrics">Memcached only metrics</h4>

<p>Memcached client metrics are reported as per the following. These metrics come directly from the client as opposed to from the cache retrieval layer.</p>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>query/cache/memcached/total</code></td>
<td>Cache metrics unique to memcached (only if <code>druid.cache.type=memcached</code>) as their actual values</td>
<td>Variable</td>
<td>N/A</td>
</tr>
<tr>
<td><code>query/cache/memcached/delta</code></td>
<td>Cache metrics unique to memcached (only if <code>druid.cache.type=memcached</code>) as their delta from the prior event emission</td>
<td>Variable</td>
<td>N/A</td>
</tr>
</tbody></table>

<h2 id="sql-metrics">SQL Metrics</h2>

<p>If SQL is enabled, the Broker will emit the following metrics for SQL.</p>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>sqlQuery/time</code></td>
<td>Milliseconds taken to complete a SQL.</td>
<td>id, nativeQueryIds, dataSource, remoteAddress, success.</td>
<td>&lt; 1s</td>
</tr>
<tr>
<td><code>sqlQuery/bytes</code></td>
<td>number of bytes returned in SQL response.</td>
<td>id, nativeQueryIds, dataSource, remoteAddress, success.</td>
<td></td>
</tr>
</tbody></table>

<h2 id="ingestion-metrics-kafka-indexing-service">Ingestion Metrics (Kafka Indexing Service)</h2>

<p>These metrics are applicable for the Kafka Indexing Service.</p>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>ingest/kafka/lag</code></td>
<td>Total lag between the offsets consumed by the Kafka indexing tasks and latest offsets in Kafka brokers across all partitions. Minimum emission period for this metric is a minute.</td>
<td>dataSource.</td>
<td>Greater than 0, should not be a very high number</td>
</tr>
<tr>
<td><code>ingest/kafka/maxLag</code></td>
<td>Max lag between the offsets consumed by the Kafka indexing tasks and latest offsets in Kafka brokers across all partitions. Minimum emission period for this metric is a minute.</td>
<td>dataSource.</td>
<td>Greater than 0, should not be a very high number</td>
</tr>
<tr>
<td><code>ingest/kafka/avgLag</code></td>
<td>Average lag between the offsets consumed by the Kafka indexing tasks and latest offsets in Kafka brokers across all partitions. Minimum emission period for this metric is a minute.</td>
<td>dataSource.</td>
<td>Greater than 0, should not be a very high number</td>
</tr>
</tbody></table>

<h2 id="ingestion-metrics-realtime-process">Ingestion Metrics (Realtime process)</h2>

<p>These metrics are only available if the RealtimeMetricsMonitor is included in the monitors list for the Realtime process. These metrics are deltas for each emission period.</p>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>ingest/events/thrownAway</code></td>
<td>Number of events rejected because they are outside the windowPeriod.</td>
<td>dataSource, taskId, taskType.</td>
<td>0</td>
</tr>
<tr>
<td><code>ingest/events/unparseable</code></td>
<td>Number of events rejected because the events are unparseable.</td>
<td>dataSource, taskId, taskType.</td>
<td>0</td>
</tr>
<tr>
<td><code>ingest/events/duplicate</code></td>
<td>Number of events rejected because the events are duplicated.</td>
<td>dataSource, taskId, taskType.</td>
<td>0</td>
</tr>
<tr>
<td><code>ingest/events/processed</code></td>
<td>Number of events successfully processed per emission period.</td>
<td>dataSource, taskId, taskType.</td>
<td>Equal to your # of events per emission period.</td>
</tr>
<tr>
<td><code>ingest/rows/output</code></td>
<td>Number of Druid rows persisted.</td>
<td>dataSource, taskId, taskType.</td>
<td>Your # of events with rollup.</td>
</tr>
<tr>
<td><code>ingest/persists/count</code></td>
<td>Number of times persist occurred.</td>
<td>dataSource, taskId, taskType.</td>
<td>Depends on configuration.</td>
</tr>
<tr>
<td><code>ingest/persists/time</code></td>
<td>Milliseconds spent doing intermediate persist.</td>
<td>dataSource, taskId, taskType.</td>
<td>Depends on configuration. Generally a few minutes at most.</td>
</tr>
<tr>
<td><code>ingest/persists/cpu</code></td>
<td>Cpu time in Nanoseconds spent on doing intermediate persist.</td>
<td>dataSource, taskId, taskType.</td>
<td>Depends on configuration. Generally a few minutes at most.</td>
</tr>
<tr>
<td><code>ingest/persists/backPressure</code></td>
<td>Milliseconds spent creating persist tasks and blocking waiting for them to finish.</td>
<td>dataSource, taskId, taskType.</td>
<td>0 or very low</td>
</tr>
<tr>
<td><code>ingest/persists/failed</code></td>
<td>Number of persists that failed.</td>
<td>dataSource, taskId, taskType.</td>
<td>0</td>
</tr>
<tr>
<td><code>ingest/handoff/failed</code></td>
<td>Number of handoffs that failed.</td>
<td>dataSource, taskId, taskType.</td>
<td>0</td>
</tr>
<tr>
<td><code>ingest/merge/time</code></td>
<td>Milliseconds spent merging intermediate segments</td>
<td>dataSource, taskId, taskType.</td>
<td>Depends on configuration. Generally a few minutes at most.</td>
</tr>
<tr>
<td><code>ingest/merge/cpu</code></td>
<td>Cpu time in Nanoseconds spent on merging intermediate segments.</td>
<td>dataSource, taskId, taskType.</td>
<td>Depends on configuration. Generally a few minutes at most.</td>
</tr>
<tr>
<td><code>ingest/handoff/count</code></td>
<td>Number of handoffs that happened.</td>
<td>dataSource, taskId, taskType.</td>
<td>Varies. Generally greater than 0 once every segment granular period if cluster operating normally</td>
</tr>
<tr>
<td><code>ingest/sink/count</code></td>
<td>Number of sinks not handoffed.</td>
<td>dataSource, taskId, taskType.</td>
<td>1~3</td>
</tr>
<tr>
<td><code>ingest/events/messageGap</code></td>
<td>Time gap between the data time in event and current system time.</td>
<td>dataSource, taskId, taskType.</td>
<td>Greater than 0, depends on the time carried in event</td>
</tr>
</tbody></table>

<p>Note: If the JVM does not support CPU time measurement for the current thread, ingest/merge/cpu and ingest/persists/cpu will be 0.</p>

<h3 id="indexing-service">Indexing Service</h3>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>task/run/time</code></td>
<td>Milliseconds taken to run a task.</td>
<td>dataSource, taskId, taskType, taskStatus.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>task/action/log/time</code></td>
<td>Milliseconds taken to log a task action to the audit log.</td>
<td>dataSource, taskId, taskType</td>
<td>&lt; 1000 (subsecond)</td>
</tr>
<tr>
<td><code>task/action/run/time</code></td>
<td>Milliseconds taken to execute a task action.</td>
<td>dataSource, taskId, taskType</td>
<td>Varies from subsecond to a few seconds, based on action type.</td>
</tr>
<tr>
<td><code>segment/added/bytes</code></td>
<td>Size in bytes of new segments created.</td>
<td>dataSource, taskId, taskType, interval.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/moved/bytes</code></td>
<td>Size in bytes of segments moved/archived via the Move Task.</td>
<td>dataSource, taskId, taskType, interval.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/nuked/bytes</code></td>
<td>Size in bytes of segments deleted via the Kill Task.</td>
<td>dataSource, taskId, taskType, interval.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>task/success/count</code></td>
<td>Number of successful tasks per emission period. This metric is only available if the TaskCountStatsMonitor module is included.</td>
<td>dataSource.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>task/failed/count</code></td>
<td>Number of failed tasks per emission period. This metric is only available if the TaskCountStatsMonitor module is included.</td>
<td>dataSource.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>task/running/count</code></td>
<td>Number of current running tasks. This metric is only available if the TaskCountStatsMonitor module is included.</td>
<td>dataSource.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>task/pending/count</code></td>
<td>Number of current pending tasks. This metric is only available if the TaskCountStatsMonitor module is included.</td>
<td>dataSource.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>task/waiting/count</code></td>
<td>Number of current waiting tasks. This metric is only available if the TaskCountStatsMonitor module is included.</td>
<td>dataSource.</td>
<td>Varies.</td>
</tr>
</tbody></table>

<h2 id="coordination">Coordination</h2>

<p>These metrics are for the Druid Coordinator and are reset each time the Coordinator runs the coordination logic.</p>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>segment/assigned/count</code></td>
<td>Number of segments assigned to be loaded in the cluster.</td>
<td>tier.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/moved/count</code></td>
<td>Number of segments moved in the cluster.</td>
<td>tier.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/dropped/count</code></td>
<td>Number of segments dropped due to being overshadowed.</td>
<td>tier.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/deleted/count</code></td>
<td>Number of segments dropped due to rules.</td>
<td>tier.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/unneeded/count</code></td>
<td>Number of segments dropped due to being marked as unused.</td>
<td>tier.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/cost/raw</code></td>
<td>Used in cost balancing. The raw cost of hosting segments.</td>
<td>tier.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/cost/normalization</code></td>
<td>Used in cost balancing. The normalization of hosting segments.</td>
<td>tier.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/cost/normalized</code></td>
<td>Used in cost balancing. The normalized cost of hosting segments.</td>
<td>tier.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/loadQueue/size</code></td>
<td>Size in bytes of segments to load.</td>
<td>server.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/loadQueue/failed</code></td>
<td>Number of segments that failed to load.</td>
<td>server.</td>
<td>0</td>
</tr>
<tr>
<td><code>segment/loadQueue/count</code></td>
<td>Number of segments to load.</td>
<td>server.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/dropQueue/count</code></td>
<td>Number of segments to drop.</td>
<td>server.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/size</code></td>
<td>Size in bytes of available segments.</td>
<td>dataSource.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/count</code></td>
<td>Number of available segments.</td>
<td>dataSource.</td>
<td>&lt; max</td>
</tr>
<tr>
<td><code>segment/overShadowed/count</code></td>
<td>Number of overShadowed segments.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/unavailable/count</code></td>
<td>Number of segments (not including replicas) left to load until segments that should be loaded in the cluster are available for queries.</td>
<td>datasource.</td>
<td>0</td>
</tr>
<tr>
<td><code>segment/underReplicated/count</code></td>
<td>Number of segments (including replicas) left to load until segments that should be loaded in the cluster are available for queries.</td>
<td>tier, datasource.</td>
<td>0</td>
</tr>
</tbody></table>

<p>If <code>emitBalancingStats</code> is set to <code>true</code> in the Coordinator <a href="../configuration/index.html#dynamic-configuration">dynamic configuration</a>, then <a href="../configuration/logging.html">log entries</a> for class <code>org.apache.druid.server.coordinator.helper.DruidCoordinatorLogger</code> will have extra information on balancing decisions.</p>

<h2 id="general-health">General Health</h2>

<h3 id="historical">Historical</h3>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>segment/max</code></td>
<td>Maximum byte limit available for segments.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/used</code></td>
<td>Bytes used for served segments.</td>
<td>dataSource, tier, priority.</td>
<td>&lt; max</td>
</tr>
<tr>
<td><code>segment/usedPercent</code></td>
<td>Percentage of space used by served segments.</td>
<td>dataSource, tier, priority.</td>
<td>&lt; 100%</td>
</tr>
<tr>
<td><code>segment/count</code></td>
<td>Number of served segments.</td>
<td>dataSource, tier, priority.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>segment/pendingDelete</code></td>
<td>On-disk size in bytes of segments that are waiting to be cleared out</td>
<td>Varies.</td>
<td></td>
</tr>
</tbody></table>

<h3 id="jvm">JVM</h3>

<p>These metrics are only available if the JVMMonitor module is included.</p>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>jvm/pool/committed</code></td>
<td>Committed pool.</td>
<td>poolKind, poolName.</td>
<td>close to max pool</td>
</tr>
<tr>
<td><code>jvm/pool/init</code></td>
<td>Initial pool.</td>
<td>poolKind, poolName.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>jvm/pool/max</code></td>
<td>Max pool.</td>
<td>poolKind, poolName.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>jvm/pool/used</code></td>
<td>Pool used.</td>
<td>poolKind, poolName.</td>
<td>&lt; max pool</td>
</tr>
<tr>
<td><code>jvm/bufferpool/count</code></td>
<td>Bufferpool count.</td>
<td>bufferPoolName.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>jvm/bufferpool/used</code></td>
<td>Bufferpool used.</td>
<td>bufferPoolName.</td>
<td>close to capacity</td>
</tr>
<tr>
<td><code>jvm/bufferpool/capacity</code></td>
<td>Bufferpool capacity.</td>
<td>bufferPoolName.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>jvm/mem/init</code></td>
<td>Initial memory.</td>
<td>memKind.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>jvm/mem/max</code></td>
<td>Max memory.</td>
<td>memKind.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>jvm/mem/used</code></td>
<td>Used memory.</td>
<td>memKind.</td>
<td>&lt; max memory</td>
</tr>
<tr>
<td><code>jvm/mem/committed</code></td>
<td>Committed memory.</td>
<td>memKind.</td>
<td>close to max memory</td>
</tr>
<tr>
<td><code>jvm/gc/count</code></td>
<td>Garbage collection count.</td>
<td>gcName (cms/g1/parallel/etc.), gcGen (old/young)</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>jvm/gc/cpu</code></td>
<td>Cpu time in Nanoseconds spent on garbage collection.</td>
<td>gcName, gcGen</td>
<td>Sum of <code>jvm/gc/cpu</code> should be within 10-30% of sum of <code>jvm/cpu/total</code>, depending on the GC algorithm used (reported by <a href="../configuration/index.html#enabling-metrics"><code>JvmCpuMonitor</code></a>)</td>
</tr>
</tbody></table>

<h3 id="eventreceiverfirehose">EventReceiverFirehose</h3>

<p>The following metric is only available if the EventReceiverFirehoseMonitor module is included.</p>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>ingest/events/buffered</code></td>
<td>Number of events queued in the EventReceiverFirehose&#39;s buffer</td>
<td>serviceName, dataSource, taskId, taskType, bufferCapacity.</td>
<td>Equal to current # of events in the buffer queue.</td>
</tr>
<tr>
<td><code>ingest/bytes/received</code></td>
<td>Number of bytes received by the EventReceiverFirehose.</td>
<td>serviceName, dataSource, taskId, taskType.</td>
<td>Varies.</td>
</tr>
</tbody></table>

<h2 id="sys">Sys</h2>

<p>These metrics are only available if the SysMonitor module is included.</p>

<table><thead>
<tr>
<th>Metric</th>
<th>Description</th>
<th>Dimensions</th>
<th>Normal Value</th>
</tr>
</thead><tbody>
<tr>
<td><code>sys/swap/free</code></td>
<td>Free swap.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/swap/max</code></td>
<td>Max swap.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/swap/pageIn</code></td>
<td>Paged in swap.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/swap/pageOut</code></td>
<td>Paged out swap.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/disk/write/count</code></td>
<td>Writes to disk.</td>
<td>fsDevName, fsDirName, fsTypeName, fsSysTypeName, fsOptions.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/disk/read/count</code></td>
<td>Reads from disk.</td>
<td>fsDevName, fsDirName, fsTypeName, fsSysTypeName, fsOptions.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/disk/write/size</code></td>
<td>Bytes written to disk. Can we used to determine how much paging is occuring with regards to segments.</td>
<td>fsDevName, fsDirName, fsTypeName, fsSysTypeName, fsOptions.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/disk/read/size</code></td>
<td>Bytes read from disk. Can we used to determine how much paging is occuring with regards to segments.</td>
<td>fsDevName, fsDirName, fsTypeName, fsSysTypeName, fsOptions.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/net/write/size</code></td>
<td>Bytes written to the network.</td>
<td>netName, netAddress, netHwaddr</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/net/read/size</code></td>
<td>Bytes read from the network.</td>
<td>netName, netAddress, netHwaddr</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/fs/used</code></td>
<td>Filesystem bytes used.</td>
<td>fsDevName, fsDirName, fsTypeName, fsSysTypeName, fsOptions.</td>
<td>&lt; max</td>
</tr>
<tr>
<td><code>sys/fs/max</code></td>
<td>Filesystesm bytes max.</td>
<td>fsDevName, fsDirName, fsTypeName, fsSysTypeName, fsOptions.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/mem/used</code></td>
<td>Memory used.</td>
<td></td>
<td>&lt; max</td>
</tr>
<tr>
<td><code>sys/mem/max</code></td>
<td>Memory max.</td>
<td></td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/storage/used</code></td>
<td>Disk space used.</td>
<td>fsDirName.</td>
<td>Varies.</td>
</tr>
<tr>
<td><code>sys/cpu</code></td>
<td>CPU used.</td>
<td>cpuName, cpuTime.</td>
<td>Varies.</td>
</tr>
</tbody></table>

        </div>
        <div class="col-md-3">
          <div class="searchbox">
            <gcse:searchbox-only></gcse:searchbox-only>
          </div>
          <div id="toc" class="nav toc hidden-print">
          </div>
        </div>
      </div>
    </div>

    <!-- Start page_footer include -->
<footer class="druid-footer">
<div class="container">
  <div class="text-center">
    <p>
    <a href="/technology">Technology</a>&ensp;·&ensp;
    <a href="/use-cases">Use Cases</a>&ensp;·&ensp;
    <a href="/druid-powered">Powered by Druid</a>&ensp;·&ensp;
    <a href="/docs/latest">Docs</a>&ensp;·&ensp;
    <a href="/community/">Community</a>&ensp;·&ensp;
    <a href="/downloads.html">Download</a>&ensp;·&ensp;
    <a href="/faq">FAQ</a>
    </p>
  </div>
  <div class="text-center">
    <a title="Join the user group" href="https://groups.google.com/forum/#!forum/druid-user" target="_blank"><span class="fa fa-comments"></span></a>&ensp;·&ensp;
    <a title="Follow Druid" href="https://twitter.com/druidio" target="_blank"><span class="fab fa-twitter"></span></a>&ensp;·&ensp;
    <a title="Download via Apache" href="https://www.apache.org/dyn/closer.cgi?path=/incubator/druid/0.16.1-incubating/apache-druid-0.16.1-incubating-bin.tar.gz" target="_blank"><span class="fas fa-feather"></span></a>&ensp;·&ensp;
    <a title="GitHub" href="https://github.com/apache/incubator-druid" target="_blank"><span class="fab fa-github"></span></a>
  </div>
  <div class="text-center license">
    Copyright © 2019 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a>.<br>
    Except where otherwise noted, licensed under <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.<br>
    Apache Druid, Druid, and the Druid logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
  </div>
</div>
</footer>

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-131010415-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-131010415-1');
</script>
<script>
  function trackDownload(type, url) {
    ga('send', 'event', 'download', type, url);
  }
</script>
<script src="//code.jquery.com/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="/assets/js/druid.js"></script>
<!-- stop page_footer include -->


    <script>
    $(function() {
      $(".toc").load("/docs/0.14.0-incubating/toc.html");

      // There is no way to tell when .gsc-input will be async loaded into the page so just try to set a placeholder until it works
      var tries = 0;
      var timer = setInterval(function() {
        tries++;
        if (tries > 300) clearInterval(timer);
        var searchInput = $('input.gsc-input');
        if (searchInput.length) {
          searchInput.attr('placeholder', 'Search');
          clearInterval(timer);
        }
      }, 100);
    });
    </script>
  </body>
</html>
