blob: 853c3a753f7ad42f90f3ab65aaa6930f0f8354d7 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metrics ยท Apache Druid</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="canonical" href="https://druid.apache.org/docs/latest/operations/metrics.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="26.0.0" /><meta property="og:title" content="Metrics ยท Apache Druid"/><meta property="og:type" content="website"/><meta property="og:url" content="https://druid.apache.org/index.html"/><meta property="og:description" content="&lt;!--"/><meta property="og:image" content="https://druid.apache.org/img/druid_nav.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://druid.apache.org/img/druid_nav.png"/><link rel="shortcut icon" href="/img/favicon.png"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/><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><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/druid_nav.png" alt="Apache Druid"/></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/technology" target="_self">Technology</a></li><li class=""><a href="/use-cases" target="_self">Use Cases</a></li><li class=""><a href="/druid-powered" target="_self">Powered By</a></li><li class="siteNavGroupActive"><a href="/docs/latest/design/index.html" target="_self">Docs</a></li><li class=""><a href="/community/" target="_self">Community</a></li><li class=""><a href="https://www.apache.org" target="_self">Apache</a></li><li class=""><a href="/downloads.html" target="_self">Download</a></li><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i>โ€บ</i><span>Monitoring</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Getting started<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/design/index.html">Introduction to Apache Druid</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/index.html">Quickstart (local)</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/single-server.html">Single server deployment</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/cluster.html">Clustered deployment</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Tutorials<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-batch.html">Load files natively</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-msq-extern.html">Load files using SQL ๐Ÿ†•</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-kafka.html">Load from Apache Kafka</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-batch-hadoop.html">Load from Apache Hadoop</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-query.html">Querying data</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-rollup.html">Roll-up</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-sketches-theta.html">Theta sketches</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-retention.html">Configuring data retention</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-update-data.html">Updating existing data</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-compaction.html">Compacting segments</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-delete-data.html">Deleting data</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-ingestion-spec.html">Writing an ingestion spec</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-transform-spec.html">Transforming input data</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/docker.html">Tutorial: Run with Docker</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-kerberos-hadoop.html">Kerberized HDFS deep storage</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-msq-convert-spec.html">Convert ingestion spec to SQL</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-sql-query-view.html">Get to know Query view</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-unnest-arrays.html">Unnesting arrays</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-jupyter-index.html">Jupyter Notebook tutorials</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-jupyter-docker.html">Docker for tutorials</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/tutorials/tutorial-jdbc.html">JDBC connector</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Design<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/design/architecture.html">Design</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/segments.html">Segments</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/processes.html">Processes and servers</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/dependencies/deep-storage.html">Deep storage</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/dependencies/metadata-storage.html">Metadata storage</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/dependencies/zookeeper.html">ZooKeeper</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Ingestion<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/index.html">Ingestion</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/data-formats.html">Data formats</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/data-model.html">Data model</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/rollup.html">Data rollup</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/partitioning.html">Partitioning</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/ingestion-spec.html">Ingestion spec</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/schema-design.html">Schema design tips</a></li><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Stream ingestion</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/kafka-ingestion.html">Apache Kafka ingestion</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/kafka-supervisor-reference.html">Apache Kafka supervisor</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/kafka-supervisor-operations.html">Apache Kafka operations</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/kinesis-ingestion.html">Amazon Kinesis</a></li></ul></div><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Batch ingestion</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/native-batch.html">Native batch</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/native-batch-input-sources.html">Native batch: input sources</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/migrate-from-firehose.html">Migrate from firehose</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/hadoop.html">Hadoop-based</a></li></ul></div><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">SQL-based ingestion ๐Ÿ†•</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/multi-stage-query/index.html">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/multi-stage-query/concepts.html">Key concepts</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/multi-stage-query/api.html">API</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/multi-stage-query/security.html">Security</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/multi-stage-query/examples.html">Examples</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/multi-stage-query/reference.html">Reference</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/multi-stage-query/known-issues.html">Known issues</a></li></ul></div><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/tasks.html">Task reference</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/faq.html">Troubleshooting FAQ</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Data management<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/data-management/index.html">Overview</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/data-management/update.html">Data updates</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/data-management/delete.html">Data deletion</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/data-management/schema-changes.html">Schema changes</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/data-management/compaction.html">Compaction</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/data-management/automatic-compaction.html">Automatic compaction</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Querying<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Druid SQL</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql.html">Overview and syntax</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-data-types.html">SQL data types</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-operators.html">Operators</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-scalar.html">Scalar functions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-aggregations.html">Aggregation functions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-multivalue-string-functions.html">Multi-value string functions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-json-functions.html">JSON functions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-functions.html">All functions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-api.html">Druid SQL API</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-jdbc.html">JDBC driver API</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-query-context.html">SQL query context</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-metadata-tables.html">SQL metadata tables</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sql-translation.html">SQL query translation</a></li></ul></div><li class="navListItem"><a class="navItem" href="/docs/latest/querying/querying.html">Native queries</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/query-execution.html">Query execution</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/troubleshooting.html">Troubleshooting</a></li><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Concepts</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/querying/datasource.html">Datasources</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/joins.html">Joins</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/lookups.html">Lookups</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/multi-value-dimensions.html">Multi-value dimensions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/nested-columns.html">Nested columns</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/multitenancy.html">Multitenancy</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/caching.html">Query caching</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/using-caching.html">Using query caching</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/query-context.html">Query context</a></li></ul></div><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Native query types</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/querying/timeseriesquery.html">Timeseries</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/topnquery.html">TopN</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/groupbyquery.html">GroupBy</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/scan-query.html">Scan</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/searchquery.html">Search</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/timeboundaryquery.html">TimeBoundary</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/segmentmetadataquery.html">SegmentMetadata</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/datasourcemetadataquery.html">DatasourceMetadata</a></li></ul></div><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Native query components</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/querying/filters.html">Filters</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/granularities.html">Granularities</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/dimensionspecs.html">Dimensions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/aggregations.html">Aggregations</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/post-aggregations.html">Post-aggregations</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/misc/math-expr.html">Expressions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/having.html">Having filters (groupBy)</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/limitspec.html">Sorting and limiting (groupBy)</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/topnmetricspec.html">Sorting (topN)</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/sorting-orders.html">String comparators</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/virtual-columns.html">Virtual columns</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/geo.html">Spatial filters</a></li></ul></div></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Configuration<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/configuration/index.html">Configuration reference</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions.html">Extensions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/configuration/logging.html">Logging</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Operations<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/operations/web-console.html">Web console</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/java.html">Java runtime</a></li><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Security</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/operations/security-overview.html">Security overview</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/security-user-auth.html">User authentication and authorization</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/auth-ldap.html">LDAP auth</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/password-provider.html">Password providers</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/dynamic-config-provider.html">Dynamic Config Providers</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/tls-support.html">TLS support</a></li></ul></div><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Performance tuning</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/operations/basic-cluster-tuning.html">Basic cluster tuning</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/segment-optimization.html">Segment size optimization</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/mixed-workloads.html">Mixed workloads</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/http-compression.html">HTTP compression</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/clean-metadata-store.html">Automated metadata cleanup</a></li></ul></div><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Monitoring</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/operations/request-logging.html">Request logging</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/docs/latest/operations/metrics.html">Metrics</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/alerts.html">Alerts</a></li></ul></div><li class="navListItem"><a class="navItem" href="/docs/latest/operations/api-reference.html">API reference</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/high-availability.html">High availability</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/rolling-updates.html">Rolling updates</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/rule-configuration.html">Using rules to drop and retain data</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/other-hadoop.html">Working with different versions of Apache Hadoop</a></li><div class="navGroup subNavGroup"><h4 class="navGroupSubcategoryTitle">Misc</h4><ul><li class="navListItem"><a class="navItem" href="/docs/latest/operations/dump-segment.html">dump-segment tool</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/reset-cluster.html">reset-cluster tool</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/insert-segment-to-db.html">insert-segment-to-db tool</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/pull-deps.html">pull-deps tool</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/deep-storage-migration.html">Deep storage migration</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/export-metadata.html">Export Metadata Tool</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/metadata-migration.html">Metadata Migration</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/use_sbt_to_build_fat_jar.html">Content for build.sbt</a></li></ul></div></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Development<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/development/overview.html">Developing on Druid</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/modules.html">Creating extensions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/javascript.html">JavaScript functionality</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/build.html">Build from source</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/versioning.html">Versioning</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/experimental.html">Experimental features</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Misc<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/misc/papers-and-talks.html">Papers</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Hidden<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/latest/comparisons/druid-vs-elasticsearch.html">Apache Druid vs Elasticsearch</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/comparisons/druid-vs-key-value.html">Apache Druid vs. Key/Value Stores (HBase/Cassandra/OpenTSDB)</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/comparisons/druid-vs-kudu.html">Apache Druid vs Kudu</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/comparisons/druid-vs-redshift.html">Apache Druid vs Redshift</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/comparisons/druid-vs-spark.html">Apache Druid vs Spark</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/comparisons/druid-vs-sql-on-hadoop.html">Apache Druid vs SQL-on-Hadoop</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/auth.html">Authentication and Authorization</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/broker.html">Broker</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/coordinator.html">Coordinator Process</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/historical.html">Historical Process</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/indexer.html">Indexer Process</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/indexing-service.html">Indexing Service</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/middlemanager.html">MiddleManager Process</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/overlord.html">Overlord Process</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/router.html">Router Process</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/design/peons.html">Peons</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/approximate-histograms.html">Approximate Histogram aggregators</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/avro.html">Apache Avro</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/azure.html">Microsoft Azure</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/bloom-filter.html">Bloom Filter</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/datasketches-extension.html">DataSketches extension</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/datasketches-hll.html">DataSketches HLL Sketch module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/datasketches-quantiles.html">DataSketches Quantiles Sketch module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/datasketches-theta.html">DataSketches Theta Sketch module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/datasketches-tuple.html">DataSketches Tuple Sketch module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/druid-basic-security.html">Basic Security</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/druid-kerberos.html">Kerberos</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/druid-lookups.html">Cached Lookup Module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/druid-ranger-security.html">Apache Ranger Security</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/google.html">Google Cloud Storage</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/hdfs.html">HDFS</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/kafka-extraction-namespace.html">Apache Kafka Lookups</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/lookups-cached-global.html">Globally Cached Lookups</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/mysql.html">MySQL Metadata Store</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/orc.html">ORC Extension</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/druid-pac4j.html">Druid pac4j based Security extension</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/parquet.html">Apache Parquet Extension</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/postgresql.html">PostgreSQL Metadata Store</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/protobuf.html">Protobuf</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/s3.html">S3-compatible</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/simple-client-sslcontext.html">Simple SSLContext Provider Module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/stats.html">Stats aggregator</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/test-stats.html">Test Stats Aggregators</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/druid-aws-rds.html">Druid AWS RDS Module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-core/kubernetes.html">Kubernetes</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/ambari-metrics-emitter.html">Ambari Metrics Emitter</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/cassandra.html">Apache Cassandra</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/cloudfiles.html">Rackspace Cloud Files</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/distinctcount.html">DistinctCount Aggregator</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/graphite.html">Graphite Emitter</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/influx.html">InfluxDB Line Protocol Parser</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/influxdb-emitter.html">InfluxDB Emitter</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/kafka-emitter.html">Kafka Emitter</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/materialized-view.html">Materialized View</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/momentsketch-quantiles.html">Moment Sketches for Approximate Quantiles module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/moving-average-query.html">Moving Average Query</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/opentsdb-emitter.html">OpenTSDB Emitter</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/redis-cache.html">Druid Redis Cache</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/sqlserver.html">Microsoft SQLServer</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/statsd.html">StatsD Emitter</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/tdigestsketch-quantiles.html">T-Digest Quantiles Sketch module</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/thrift.html">Thrift</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/time-min-max.html">Timestamp Min/Max aggregators</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/gce-extensions.html">GCE Extensions</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/aliyun-oss.html">Aliyun OSS</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/development/extensions-contrib/prometheus.html">Prometheus Emitter</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/operations/kubernetes.html">kubernetes</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/hll-old.html">Cardinality/HyperUnique aggregators</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/querying/select-query.html">Select</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/native-batch-firehose.html">Firehose (deprecated)</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/native-batch-simple-task.html">Native batch (simple)</a></li><li class="navListItem"><a class="navItem" href="/docs/latest/ingestion/standalone-realtime.html">Realtime Process</a></li></ul></div></div></section></div><script>
var coll = document.getElementsByClassName('collapsible');
var checkActiveCategory = true;
for (var i = 0; i < coll.length; i++) {
var links = coll[i].nextElementSibling.getElementsByTagName('*');
if (checkActiveCategory){
for (var j = 0; j < links.length; j++) {
if (links[j].classList.contains('navListItemActive')){
coll[i].nextElementSibling.classList.toggle('hide');
coll[i].childNodes[1].classList.toggle('rotate');
checkActiveCategory = false;
break;
}
}
}
coll[i].addEventListener('click', function() {
var arrow = this.childNodes[1];
arrow.classList.toggle('rotate');
var content = this.nextElementSibling;
content.classList.toggle('hide');
});
}
document.addEventListener('DOMContentLoaded', function() {
createToggler('#navToggler', '#docsNav', 'docsSliderActive');
createToggler('#tocToggler', 'body', 'tocActive');
var headings = document.querySelector('.toc-headings');
headings && headings.addEventListener('click', function(event) {
var el = event.target;
while(el !== headings){
if (el.tagName === 'A') {
document.body.classList.remove('tocActive');
break;
} else{
el = el.parentNode;
}
}
}, false);
function createToggler(togglerSelector, targetSelector, className) {
var toggler = document.querySelector(togglerSelector);
var target = document.querySelector(targetSelector);
if (!toggler) {
return;
}
toggler.onclick = function(event) {
event.preventDefault();
target.classList.toggle(className);
};
}
});
</script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/operations/metrics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Metrics</h1></header><article><div><span><!--
~ 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.
-->
<p>You can configure Druid to <a href="/docs/latest/configuration/index.html#enabling-metrics">emit metrics</a> that are essential for monitoring query execution, ingestion, coordination, and so on.</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>
<blockquote>
<p>Most metric values reset each emission period, as specified in <code>druid.monitoring.emissionPeriod</code>.</p>
</blockquote>
<h2><a class="anchor" aria-hidden="true" id="query-metrics"></a><a href="#query-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Query metrics</h2>
<h3><a class="anchor" aria-hidden="true" id="router"></a><a href="#router" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Router</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>Native Query: <code>dataSource</code>, <code>type</code>, <code>interval</code>, <code>hasFilters</code>, <code>duration</code>, <code>context</code>, <code>remoteAddress</code>, <code>id</code>.</td><td>&lt; 1s</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="broker"></a><a href="#broker" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>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><p>Common: <code>dataSource</code>, <code>type</code>, <code>interval</code>, <code>hasFilters</code>, <code>duration</code>, <code>context</code>, <code>remoteAddress</code>, <code>id</code>.</p><p>Aggregation Queries: <code>numMetrics</code>, <code>numComplexMetrics</code>.</p><p>GroupBy: <code>numDimensions</code>.</p><p> TopN: <code>threshold</code>, <code>dimension</code>.</p></td><td>&lt; 1s</td></tr>
<tr><td><code>query/bytes</code></td><td>The total number of bytes returned to the requesting client in the query response from the broker. Other services report the total bytes for their portion of the query.</td><td><p>Common: <code>dataSource</code>, <code>type</code>, <code>interval</code>, <code>hasFilters</code>, <code>duration</code>, <code>context</code>, <code>remoteAddress</code>, <code>id</code>.</p><p> Aggregation Queries: <code>numMetrics</code>, <code>numComplexMetrics</code>.</p><p> GroupBy: <code>numDimensions</code>.</p><p> TopN: <code>threshold</code>, <code>dimension</code>.</p></td><td></td></tr>
<tr><td><code>query/node/time</code></td><td>Milliseconds taken to query individual historical/realtime processes.</td><td><code>id</code>, <code>status</code>, <code>server</code></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><code>id</code>, <code>status</code>, <code>server</code></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><code>id</code>, <code>status</code>, <code>server</code></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><code>id</code>, <code>status</code>, <code>server</code>.</td><td></td></tr>
<tr><td><code>query/count</code></td><td>Number of total queries.</td><td>This metric is only available if the <code>QueryCountStatsMonitor</code> 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 <code>QueryCountStatsMonitor</code> 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 <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
<tr><td><code>query/interrupted/count</code></td><td>Number of queries interrupted due to cancellation.</td><td>This metric is only available if the <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
<tr><td><code>query/timeout/count</code></td><td>Number of timed out queries.</td><td>This metric is only available if the <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
<tr><td><code>query/segments/count</code></td><td>This metric is not enabled by default. See the <code>QueryMetrics</code> Interface for reference regarding enabling this metric. Number of segments that will be touched by the query. In the broker, it makes a plan to distribute the query to realtime tasks and historicals based on a snapshot of segment distribution state. If there are some segments moved after this snapshot is created, certain historicals and realtime tasks can report those segments as missing to the broker. The broker will resend the query to the new servers that serve those segments after move. In this case, those segments can be counted more than once in this metric.</td><td></td><td>Varies</td></tr>
<tr><td><code>query/priority</code></td><td>Assigned lane and priority, only if Laning strategy is enabled. Refer to <a href="/docs/latest/configuration/index.html#laning-strategies">Laning strategies</a></td><td><code>lane</code>, <code>dataSource</code>, <code>type</code></td><td>0</td></tr>
<tr><td><code>sqlQuery/time</code></td><td>Milliseconds taken to complete a SQL query.</td><td><code>id</code>, <code>nativeQueryIds</code>, <code>dataSource</code>, <code>remoteAddress</code>, <code>success</code>, <code>engine</code></td><td>&lt; 1s</td></tr>
<tr><td><code>sqlQuery/planningTimeMs</code></td><td>Milliseconds taken to plan a SQL to native query.</td><td><code>id</code>, <code>nativeQueryIds</code>, <code>dataSource</code>, <code>remoteAddress</code>, <code>success</code>, <code>engine</code></td><td></td></tr>
<tr><td><code>sqlQuery/bytes</code></td><td>Number of bytes returned in the SQL query response.</td><td><code>id</code>, <code>nativeQueryIds</code>, <code>dataSource</code>, <code>remoteAddress</code>, <code>success</code>, <code>engine</code></td><td></td></tr>
<tr><td><code>init/serverview/time</code></td><td>Time taken to initialize the broker server view. Useful to detect if brokers are taking too long to start.</td><td></td><td>Depends on the number of segments.</td></tr>
<tr><td><code>init/metadatacache/time</code></td><td>Time taken to initialize the broker segment metadata cache. Useful to detect if brokers are taking too long to start</td><td></td><td>Depends on the number of segments.</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="historical"></a><a href="#historical" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>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><p>Common: <code>dataSource</code>, <code>type</code>, <code>interval</code>, <code>hasFilters</code>, <code>duration</code>, <code>context</code>, <code>remoteAddress</code>, <code>id</code>.</p><p> Aggregation Queries: <code>numMetrics</code>, <code>numComplexMetrics</code>.</p><p> GroupBy: <code>numDimensions</code>.</p><p> TopN: <code>threshold</code>, <code>dimension</code>.</p></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><code>id</code>, <code>status</code>, <code>segment</code>, <code>vectorized</code>.</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><code>id</code>, <code>segment</code></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><code>id</code>, <code>segment</code></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><p>Common: <code>dataSource</code>, <code>type</code>, <code>interval</code>, <code>hasFilters</code>, <code>duration</code>, <code>context</code>, <code>remoteAddress</code>, <code>id</code>.</p><p> Aggregation Queries: <code>numMetrics</code>, <code>numComplexMetrics</code>.</p><p> GroupBy: <code>numDimensions</code>.</p><p> TopN: <code>threshold</code>, <code>dimension</code>.</p></td><td>Varies</td></tr>
<tr><td><code>query/count</code></td><td>Total number of queries.</td><td>This metric is only available if the <code>QueryCountStatsMonitor</code> 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 <code>QueryCountStatsMonitor</code> 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 <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
<tr><td><code>query/interrupted/count</code></td><td>Number of queries interrupted due to cancellation.</td><td>This metric is only available if the <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
<tr><td><code>query/timeout/count</code></td><td>Number of timed out queries.</td><td>This metric is only available if the <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="real-time"></a><a href="#real-time" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>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><p>Common: <code>dataSource</code>, <code>type</code>, <code>interval</code>, <code>hasFilters</code>, <code>duration</code>, <code>context</code>, <code>remoteAddress</code>, <code>id</code>.</p><p> Aggregation Queries: <code>numMetrics</code>, <code>numComplexMetrics</code>.</p><p> GroupBy: <code>numDimensions</code>.</p><p> TopN: <code>threshold</code>, <code>dimension</code>.</p></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><code>id</code>, <code>segment</code></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/cpu/time</code></td><td>Microseconds of CPU time taken to complete a query.</td><td><p>Common: <code>dataSource</code>, <code>type</code>, <code>interval</code>, <code>hasFilters</code>, <code>duration</code>, <code>context</code>, <code>remoteAddress</code>, <code>id</code>.</p><p> Aggregation Queries: <code>numMetrics</code>, <code>numComplexMetrics</code>.</p><p> GroupBy: <code>numDimensions</code>. </p><p>TopN: <code>threshold</code>, <code>dimension</code>.</p></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 <code>QueryCountStatsMonitor</code> 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 <code>QueryCountStatsMonitor</code> 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 <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
<tr><td><code>query/interrupted/count</code></td><td>Number of queries interrupted due to cancellation.</td><td>This metric is only available if the <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
<tr><td><code>query/timeout/count</code></td><td>Number of timed out queries.</td><td>This metric is only available if the <code>QueryCountStatsMonitor</code> module is included.</td><td></td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="jetty"></a><a href="#jetty" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>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>
<tr><td><code>jetty/threadPool/total</code></td><td>Number of total workable threads allocated.</td><td>The number should equal to <code>threadPoolNumIdleThreads</code> + <code>threadPoolNumBusyThreads</code>.</td></tr>
<tr><td><code>jetty/threadPool/idle</code></td><td>Number of idle threads.</td><td>Less than or equal to <code>threadPoolNumTotalThreads</code>. Non zero number means there is less work to do than configured capacity.</td></tr>
<tr><td><code>jetty/threadPool/busy</code></td><td>Number of busy threads that has work to do from the worker queue.</td><td>Less than or equal to <code>threadPoolNumTotalThreads</code>.</td></tr>
<tr><td><code>jetty/threadPool/isLowOnThreads</code></td><td>A rough indicator of whether number of total workable threads allocated is enough to handle the works in the work queue.</td><td>0</td></tr>
<tr><td><code>jetty/threadPool/min</code></td><td>Number of minimum threads allocatable.</td><td><code>druid.server.http.numThreads</code> plus a small fixed number of threads allocated for Jetty acceptors and selectors.</td></tr>
<tr><td><code>jetty/threadPool/max</code></td><td>Number of maximum threads allocatable.</td><td><code>druid.server.http.numThreads</code> plus a small fixed number of threads allocated for Jetty acceptors and selectors.</td></tr>
<tr><td><code>jetty/threadPool/queueSize</code></td><td>Size of the worker queue.</td><td>Not much higher than <code>druid.server.http.queueSize</code>.</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="cache"></a><a href="#cache" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Cache</h3>
<table>
<thead>
<tr><th>Metric</th><th>Description</th><th>Dimensions</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><td>N/A</td></tr>
<tr><td><code>query/cache/total/*</code></td><td>Total cache metrics.</td><td></td><td>N/A</td></tr>
<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><a class="anchor" aria-hidden="true" id="memcached-only-metrics"></a><a href="#memcached-only-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>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><a class="anchor" aria-hidden="true" id="sql-metrics"></a><a href="#sql-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>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><code>id</code>, <code>nativeQueryIds</code>, <code>dataSource</code>, <code>remoteAddress</code>, <code>success</code></td><td>&lt; 1s</td></tr>
<tr><td><code>sqlQuery/planningTimeMs</code></td><td>Milliseconds taken to plan a SQL to native query.</td><td><code>id</code>, <code>nativeQueryIds</code>, <code>dataSource</code>, <code>remoteAddress</code>, <code>success</code></td><td></td></tr>
<tr><td><code>sqlQuery/bytes</code></td><td>number of bytes returned in SQL response.</td><td><code>id</code>, <code>nativeQueryIds</code>, <code>dataSource</code>, <code>remoteAddress</code>, <code>success</code></td><td></td></tr>
</tbody>
</table>
<h2><a class="anchor" aria-hidden="true" id="ingestion-metrics"></a><a href="#ingestion-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Ingestion metrics</h2>
<h2><a class="anchor" aria-hidden="true" id="general-native-ingestion-metrics"></a><a href="#general-native-ingestion-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>General native ingestion metrics</h2>
<table>
<thead>
<tr><th>Metric</th><th>Description</th><th>Dimensions</th><th>Normal Value</th></tr>
</thead>
<tbody>
<tr><td><code>ingest/count</code></td><td>Count of <code>1</code> every time an ingestion job runs (includes compaction jobs). Aggregate using dimensions.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>taskIngestionMode</code>, <code>tags</code></td><td>Always <code>1</code>.</td></tr>
<tr><td><code>ingest/segments/count</code></td><td>Count of final segments created by job (includes tombstones).</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>taskIngestionMode</code>, <code>tags</code></td><td>At least <code>1</code>.</td></tr>
<tr><td><code>ingest/tombstones/count</code></td><td>Count of tombstones created by job.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>taskIngestionMode</code>, <code>tags</code></td><td>Zero or more for replace. Always zero for non-replace tasks (always zero for legacy replace, see below).</td></tr>
</tbody>
</table>
<p>The <code>taskIngestionMode</code> dimension includes the following modes:</p>
<ul>
<li><code>APPEND</code>: a native ingestion job appending to existing segments</li>
<li><code>REPLACE_LEGACY</code>: the original replace before tombstones</li>
<li><code>REPLACE</code>: a native ingestion job replacing existing segments using tombstones</li>
</ul>
<p>The mode is decided using the values
of the <code>isAppendToExisting</code> and <code>isDropExisting</code> flags in the
task's <code>IOConfig</code> as follows:</p>
<table>
<thead>
<tr><th><code>isAppendToExisting</code></th><th><code>isDropExisting</code></th><th>mode</th></tr>
</thead>
<tbody>
<tr><td><code>true</code></td><td><code>false</code></td><td><code>APPEND</code></td></tr>
<tr><td><code>true</code></td><td><code>true</code></td><td>Invalid combination, exception thrown.</td></tr>
<tr><td><code>false</code></td><td><code>false</code></td><td><code>REPLACE_LEGACY</code> (this is the default for native batch ingestion).</td></tr>
<tr><td><code>false</code></td><td><code>true</code></td><td><code>REPLACE</code></td></tr>
</tbody>
</table>
<p>The <code>tags</code> dimension is reported only for metrics emitted from ingestion tasks whose ingest spec specifies the <code>tags</code>
field in the <code>context</code> field of the ingestion spec. <code>tags</code> is expected to be a map of string to object.</p>
<h3><a class="anchor" aria-hidden="true" id="ingestion-metrics-for-kafka"></a><a href="#ingestion-metrics-for-kafka" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Ingestion metrics for Kafka</h3>
<p>These metrics apply to the <a href="/docs/latest/development/extensions-core/kafka-ingestion.html">Kafka indexing service</a>.</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><code>dataSource</code>, <code>stream</code>, <code>tags</code></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><code>dataSource</code>, <code>stream</code>, <code>tags</code></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><code>dataSource</code>, <code>stream</code>, <code>tags</code></td><td>Greater than 0, should not be a very high number.</td></tr>
<tr><td><code>ingest/kafka/partitionLag</code></td><td>Partition-wise lag between the offsets consumed by the Kafka indexing tasks and latest offsets in Kafka brokers. Minimum emission period for this metric is a minute.</td><td><code>dataSource</code>, <code>stream</code>, <code>partition</code>, <code>tags</code></td><td>Greater than 0, should not be a very high number.</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="ingestion-metrics-for-kinesis"></a><a href="#ingestion-metrics-for-kinesis" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Ingestion metrics for Kinesis</h3>
<p>These metrics apply to the <a href="/docs/latest/development/extensions-core/kinesis-ingestion.html">Kinesis indexing service</a>.</p>
<table>
<thead>
<tr><th>Metric</th><th>Description</th><th>Dimensions</th><th>Normal Value</th></tr>
</thead>
<tbody>
<tr><td><code>ingest/kinesis/lag/time</code></td><td>Total lag time in milliseconds between the current message sequence number consumed by the Kinesis indexing tasks and latest sequence number in Kinesis across all shards. Minimum emission period for this metric is a minute.</td><td><code>dataSource</code>, <code>stream</code>, <code>tags</code></td><td>Greater than 0, up to max Kinesis retention period in milliseconds.</td></tr>
<tr><td><code>ingest/kinesis/maxLag/time</code></td><td>Max lag time in milliseconds between the current message sequence number consumed by the Kinesis indexing tasks and latest sequence number in Kinesis across all shards. Minimum emission period for this metric is a minute.</td><td><code>dataSource</code>, <code>stream</code>, <code>tags</code></td><td>Greater than 0, up to max Kinesis retention period in milliseconds.</td></tr>
<tr><td><code>ingest/kinesis/avgLag/time</code></td><td>Average lag time in milliseconds between the current message sequence number consumed by the Kinesis indexing tasks and latest sequence number in Kinesis across all shards. Minimum emission period for this metric is a minute.</td><td><code>dataSource</code>, <code>stream</code>, <code>tags</code></td><td>Greater than 0, up to max Kinesis retention period in milliseconds.</td></tr>
<tr><td><code>ingest/kinesis/partitionLag/time</code></td><td>Partition-wise lag time in milliseconds between the current message sequence number consumed by the Kinesis indexing tasks and latest sequence number in Kinesis. Minimum emission period for this metric is a minute.</td><td><code>dataSource</code>, <code>stream</code>, <code>partition</code>, <code>tags</code></td><td>Greater than 0, up to max Kinesis retention period in milliseconds.</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="other-ingestion-metrics"></a><a href="#other-ingestion-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Other ingestion metrics</h3>
<p>Streaming ingestion tasks and certain types of
batch ingestion emit the following metrics. 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 either null, or filtered by the transform spec, or outside the windowPeriod.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>0</td></tr>
<tr><td><code>ingest/events/processed</code></td><td>Number of events successfully processed per emission period.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>Equal to the number of events per emission period.</td></tr>
<tr><td><code>ingest/rows/output</code></td><td>Number of Druid rows persisted.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code></td><td>Your number of events with rollup.</td></tr>
<tr><td><code>ingest/persists/count</code></td><td>Number of times persist occurred.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>Depends on configuration.</td></tr>
<tr><td><code>ingest/persists/time</code></td><td>Milliseconds spent doing intermediate persist.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>0 or very low</td></tr>
<tr><td><code>ingest/persists/failed</code></td><td>Number of persists that failed.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>0</td></tr>
<tr><td><code>ingest/handoff/failed</code></td><td>Number of handoffs that failed.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>0</td></tr>
<tr><td><code>ingest/merge/time</code></td><td>Milliseconds spent merging intermediate segments.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>1~3</td></tr>
<tr><td><code>ingest/events/messageGap</code></td><td>Time gap in milliseconds between the latest ingested event timestamp and the current system timestamp of metrics emission. If the value is increasing but lag is low, Druid may not be receiving new data. This metric is reset as new tasks spawn up.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>Greater than 0, depends on the time carried in event.</td></tr>
<tr><td><code>ingest/notices/queueSize</code></td><td>Number of pending notices to be processed by the coordinator.</td><td><code>dataSource</code>, <code>tags</code></td><td>Typically 0 and occasionally in lower single digits. Should not be a very high number.</td></tr>
<tr><td><code>ingest/notices/time</code></td><td>Milliseconds taken to process a notice by the supervisor.</td><td><code>dataSource</code>, <code>tags</code></td><td>&lt; 1s</td></tr>
<tr><td><code>ingest/pause/time</code></td><td>Milliseconds spent by a task in a paused state without ingesting.</td><td><code>dataSource</code>, <code>taskId</code>, <code>tags</code></td><td>&lt; 10 seconds</td></tr>
<tr><td><code>ingest/handoff/time</code></td><td>Total number of milliseconds taken to handoff a set of segments.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></td><td>Depends on coordinator cycle time.</td></tr>
</tbody>
</table>
<p>Note: If the JVM does not support CPU time measurement for the current thread, <code>ingest/merge/cpu</code> and <code>ingest/persists/cpu</code> will be 0.</p>
<h2><a class="anchor" aria-hidden="true" id="indexing-service"></a><a href="#indexing-service" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Indexing service</h2>
<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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>taskStatus</code>, <code>tags</code></td><td>Varies</td></tr>
<tr><td><code>task/pending/time</code></td><td>Milliseconds taken for a task to wait for running.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>taskActionType</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>taskActionType</code>, <code>tags</code></td><td>Varies from subsecond to a few seconds, based on action type.</td></tr>
<tr><td><code>task/action/success/count</code></td><td>Number of task actions that were executed successfully during the emission period. Currently only being emitted for <a href="/docs/latest/ingestion/tasks.html#batching-segmentallocate-actions">batched <code>segmentAllocate</code> actions</a>.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>taskActionType</code>, <code>tags</code></td><td>Varies</td></tr>
<tr><td><code>task/action/failed/count</code></td><td>Number of task actions that failed during the emission period. Currently only being emitted for <a href="/docs/latest/ingestion/tasks.html#batching-segmentallocate-actions">batched <code>segmentAllocate</code> actions</a>.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>taskActionType</code>, <code>tags</code></td><td>Varies</td></tr>
<tr><td><code>task/action/batch/queueTime</code></td><td>Milliseconds spent by a batch of task actions in queue. Currently only being emitted for <a href="/docs/latest/ingestion/tasks.html#batching-segmentallocate-actions">batched <code>segmentAllocate</code> actions</a>.</td><td><code>dataSource</code>, <code>taskActionType</code>, <code>interval</code></td><td>Varies based on the <code>batchAllocationWaitTime</code> and number of batches in queue.</td></tr>
<tr><td><code>task/action/batch/runTime</code></td><td>Milliseconds taken to execute a batch of task actions. Currently only being emitted for <a href="/docs/latest/ingestion/tasks.html#batching-segmentallocate-actions">batched <code>segmentAllocate</code> actions</a>.</td><td><code>dataSource</code>, <code>taskActionType</code>, <code>interval</code></td><td>Varies from subsecond to a few seconds, based on action type and batch size.</td></tr>
<tr><td><code>task/action/batch/size</code></td><td>Number of task actions in a batch that was executed during the emission period. Currently only being emitted for <a href="/docs/latest/ingestion/tasks.html#batching-segmentallocate-actions">batched <code>segmentAllocate</code> actions</a>.</td><td><code>dataSource</code>, <code>taskActionType</code>, <code>interval</code></td><td>Varies based on number of concurrent task actions.</td></tr>
<tr><td><code>task/action/batch/attempts</code></td><td>Number of execution attempts for a single batch of task actions. Currently only being emitted for <a href="/docs/latest/ingestion/tasks.html#batching-segmentallocate-actions">batched <code>segmentAllocate</code> actions</a>.</td><td><code>dataSource</code>, <code>taskActionType</code>, <code>interval</code></td><td>1 if there are no failures or retries.</td></tr>
<tr><td><code>task/segmentAvailability/wait/time</code></td><td>The amount of milliseconds a batch indexing task waited for newly created segments to become available for querying.</td><td><code>dataSource</code>, <code>taskType</code>, <code>taskId</code>, <code>segmentAvailabilityConfirmed</code>, <code>tags</code></td><td>Varies</td></tr>
<tr><td><code>segment/added/bytes</code></td><td>Size in bytes of new segments created.</td><td><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>interval</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>interval</code>, <code>tags</code></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><code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>interval</code>, <code>tags</code></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><code>dataSource</code></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><code>dataSource</code></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 <code>TaskCountStatsMonitor</code> module is included.</td><td><code>dataSource</code></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 <code>TaskCountStatsMonitor</code> module is included.</td><td><code>dataSource</code></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 <code>TaskCountStatsMonitor</code> module is included.</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>taskSlot/total/count</code></td><td>Number of total task slots per emission period. This metric is only available if the <code>TaskSlotCountStatsMonitor</code> module is included.</td><td><code>category</code></td><td>Varies</td></tr>
<tr><td><code>taskSlot/idle/count</code></td><td>Number of idle task slots per emission period. This metric is only available if the <code>TaskSlotCountStatsMonitor</code> module is included.</td><td><code>category</code></td><td>Varies</td></tr>
<tr><td><code>taskSlot/used/count</code></td><td>Number of busy task slots per emission period. This metric is only available if the <code>TaskSlotCountStatsMonitor</code> module is included.</td><td><code>category</code></td><td>Varies</td></tr>
<tr><td><code>taskSlot/lazy/count</code></td><td>Number of total task slots in lazy marked MiddleManagers and Indexers per emission period. This metric is only available if the <code>TaskSlotCountStatsMonitor</code> module is included.</td><td><code>category</code></td><td>Varies</td></tr>
<tr><td><code>taskSlot/blacklisted/count</code></td><td>Number of total task slots in blacklisted MiddleManagers and Indexers per emission period. This metric is only available if the <code>TaskSlotCountStatsMonitor</code> module is included.</td><td><code>category</code></td><td>Varies</td></tr>
<tr><td><code>worker/task/failed/count</code></td><td>Number of failed tasks run on the reporting worker per emission period. This metric is only available if the <code>WorkerTaskCountStatsMonitor</code> module is included, and is only supported for middleManager nodes.</td><td><code>category</code>, <code>workerVersion</code></td><td>Varies</td></tr>
<tr><td><code>worker/task/success/count</code></td><td>Number of successful tasks run on the reporting worker per emission period. This metric is only available if the <code>WorkerTaskCountStatsMonitor</code> module is included, and is only supported for middleManager nodes.</td><td><code>category</code>,<code>workerVersion</code></td><td>Varies</td></tr>
<tr><td><code>worker/taskSlot/idle/count</code></td><td>Number of idle task slots on the reporting worker per emission period. This metric is only available if the <code>WorkerTaskCountStatsMonitor</code> module is included, and is only supported for middleManager nodes.</td><td><code>category</code>, <code>workerVersion</code></td><td>Varies</td></tr>
<tr><td><code>worker/taskSlot/total/count</code></td><td>Number of total task slots on the reporting worker per emission period. This metric is only available if the <code>WorkerTaskCountStatsMonitor</code> module is included.</td><td><code>category</code>, <code>workerVersion</code></td><td>Varies</td></tr>
<tr><td><code>worker/taskSlot/used/count</code></td><td>Number of busy task slots on the reporting worker per emission period. This metric is only available if the <code>WorkerTaskCountStatsMonitor</code> module is included.</td><td><code>category</code>, <code>workerVersion</code></td><td>Varies</td></tr>
</tbody>
</table>
<h2><a class="anchor" aria-hidden="true" id="shuffle-metrics-native-parallel-task"></a><a href="#shuffle-metrics-native-parallel-task" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Shuffle metrics (Native parallel task)</h2>
<p>The shuffle metrics can be enabled by adding <code>org.apache.druid.indexing.worker.shuffle.ShuffleMonitor</code> in <code>druid.monitoring.monitors</code>
See <a href="/docs/latest/configuration/index.html#enabling-metrics">Enabling Metrics</a> for more details.</p>
<table>
<thead>
<tr><th>Metric</th><th>Description</th><th>Dimensions</th><th>Normal Value</th></tr>
</thead>
<tbody>
<tr><td><code>ingest/shuffle/bytes</code></td><td>Number of bytes shuffled per emission period.</td><td><code>supervisorTaskId</code></td><td>Varies</td></tr>
<tr><td><code>ingest/shuffle/requests</code></td><td>Number of shuffle requests per emission period.</td><td><code>supervisorTaskId</code></td><td>Varies</td></tr>
</tbody>
</table>
<h2><a class="anchor" aria-hidden="true" id="coordination"></a><a href="#coordination" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>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><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>segment/moved/count</code></td><td>Number of segments moved in the cluster.</td><td><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>segment/unmoved/count</code></td><td>Number of segments which were chosen for balancing but were found to be already optimally placed.</td><td><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>segment/dropped/count</code></td><td>Number of segments chosen to be dropped from the cluster due to being over-replicated.</td><td><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>segment/deleted/count</code></td><td>Number of segments marked as unused due to drop rules.</td><td><code>tier</code></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><code>tier</code></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><code>tier</code></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><code>tier</code></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><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>segment/loadQueue/size</code></td><td>Size in bytes of segments to load.</td><td><code>server</code></td><td>Varies</td></tr>
<tr><td><code>segment/loadQueue/failed</code></td><td>Number of segments that failed to load.</td><td><code>server</code></td><td>0</td></tr>
<tr><td><code>segment/loadQueue/count</code></td><td>Number of segments to load.</td><td><code>server</code></td><td>Varies</td></tr>
<tr><td><code>segment/dropQueue/count</code></td><td>Number of segments to drop.</td><td><code>server</code></td><td>Varies</td></tr>
<tr><td><code>segment/size</code></td><td>Total size of used segments in a data source. Emitted only for data sources to which at least one used segment belongs.</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>segment/count</code></td><td>Number of used segments belonging to a data source. Emitted only for data sources to which at least one used segment belongs.</td><td><code>dataSource</code></td><td>&lt; max</td></tr>
<tr><td><code>segment/overShadowed/count</code></td><td>Number of segments marked as unused due to being overshadowed.</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><code>dataSource</code></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><code>tier</code>, <code>dataSource</code></td><td>0</td></tr>
<tr><td><code>tier/historical/count</code></td><td>Number of available historical nodes in each tier.</td><td><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>tier/replication/factor</code></td><td>Configured maximum replication factor in each tier.</td><td><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>tier/required/capacity</code></td><td>Total capacity in bytes required in each tier.</td><td><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>tier/total/capacity</code></td><td>Total capacity in bytes available in each tier.</td><td><code>tier</code></td><td>Varies</td></tr>
<tr><td><code>compact/task/count</code></td><td>Number of tasks issued in the auto compaction run.</td><td></td><td>Varies</td></tr>
<tr><td><code>compactTask/maxSlot/count</code></td><td>Max number of task slots that can be used for auto compaction tasks in the auto compaction run.</td><td></td><td>Varies</td></tr>
<tr><td><code>compactTask/availableSlot/count</code></td><td>Number of available task slots that can be used for auto compaction tasks in the auto compaction run. This is the max number of task slots minus any currently running compaction tasks.</td><td></td><td>Varies</td></tr>
<tr><td><code>segment/waitCompact/bytes</code></td><td>Total bytes of this datasource waiting to be compacted by the auto compaction (only consider intervals/segments that are eligible for auto compaction).</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>segment/waitCompact/count</code></td><td>Total number of segments of this datasource waiting to be compacted by the auto compaction (only consider intervals/segments that are eligible for auto compaction).</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>interval/waitCompact/count</code></td><td>Total number of intervals of this datasource waiting to be compacted by the auto compaction (only consider intervals/segments that are eligible for auto compaction).</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>segment/compacted/bytes</code></td><td>Total bytes of this datasource that are already compacted with the spec set in the auto compaction config.</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>segment/compacted/count</code></td><td>Total number of segments of this datasource that are already compacted with the spec set in the auto compaction config.</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>interval/compacted/count</code></td><td>Total number of intervals of this datasource that are already compacted with the spec set in the auto compaction config.</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>segment/skipCompact/bytes</code></td><td>Total bytes of this datasource that are skipped (not eligible for auto compaction) by the auto compaction.</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>segment/skipCompact/count</code></td><td>Total number of segments of this datasource that are skipped (not eligible for auto compaction) by the auto compaction.</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>interval/skipCompact/count</code></td><td>Total number of intervals of this datasource that are skipped (not eligible for auto compaction) by the auto compaction.</td><td><code>dataSource</code></td><td>Varies</td></tr>
<tr><td><code>coordinator/time</code></td><td>Approximate Coordinator duty runtime in milliseconds. The duty dimension is the string alias of the Duty that is being run.</td><td><code>duty</code></td><td>Varies</td></tr>
<tr><td><code>coordinator/global/time</code></td><td>Approximate runtime of a full coordination cycle in milliseconds. The <code>dutyGroup</code> dimension indicates what type of coordination this run was. i.e. Historical Management vs Indexing</td><td><code>dutyGroup</code></td><td>Varies</td></tr>
<tr><td><code>metadata/kill/supervisor/count</code></td><td>Total number of terminated supervisors that were automatically deleted from metadata store per each Coordinator kill supervisor duty run. This metric can help adjust <code>druid.coordinator.kill.supervisor.durationToRetain</code> configuration based on whether more or less terminated supervisors need to be deleted per cycle. Note that this metric is only emitted when <code>druid.coordinator.kill.supervisor.on</code> is set to true.</td><td></td><td>Varies</td></tr>
<tr><td><code>metadata/kill/audit/count</code></td><td>Total number of audit logs that were automatically deleted from metadata store per each Coordinator kill audit duty run. This metric can help adjust <code>druid.coordinator.kill.audit.durationToRetain</code> configuration based on whether more or less audit logs need to be deleted per cycle. Note that this metric is only emitted when <code>druid.coordinator.kill.audit.on</code> is set to true.</td><td></td><td>Varies</td></tr>
<tr><td><code>metadata/kill/compaction/count</code></td><td>Total number of compaction configurations that were automatically deleted from metadata store per each Coordinator kill compaction configuration duty run. Note that this metric is only emitted when <code>druid.coordinator.kill.compaction.on</code> is set to true.</td><td></td><td>Varies</td></tr>
<tr><td><code>metadata/kill/rule/count</code></td><td>Total number of rules that were automatically deleted from metadata store per each Coordinator kill rule duty run. This metric can help adjust <code>druid.coordinator.kill.rule.durationToRetain</code> configuration based on whether more or less rules need to be deleted per cycle. Note that this metric is only emitted when <code>druid.coordinator.kill.rule.on</code> is set to true.</td><td></td><td>Varies</td></tr>
<tr><td><code>metadata/kill/datasource/count</code></td><td>Total number of datasource metadata that were automatically deleted from metadata store per each Coordinator kill datasource duty run (Note: datasource metadata only exists for datasource created from supervisor). This metric can help adjust <code>druid.coordinator.kill.datasource.durationToRetain</code> configuration based on whether more or less datasource metadata need to be deleted per cycle. Note that this metric is only emitted when <code>druid.coordinator.kill.datasource.on</code> is set to true.</td><td></td><td>Varies</td></tr>
<tr><td><code>init/serverview/time</code></td><td>Time taken to initialize the coordinator server view.</td><td></td><td>Depends on the number of segments</td></tr>
</tbody>
</table>
<p>If <code>emitBalancingStats</code> is set to <code>true</code> in the Coordinator <a href="/docs/latest/configuration/index.html#dynamic-configuration">dynamic configuration</a>, then <a href="/docs/latest/configuration/logging.html">log entries</a> for class <code>org.apache.druid.server.coordinator.duty.EmitClusterStatsAndMetrics</code> will have extra information on balancing decisions.</p>
<h2><a class="anchor" aria-hidden="true" id="general-health"></a><a href="#general-health" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>General Health</h2>
<h3><a class="anchor" aria-hidden="true" id="historical-1"></a><a href="#historical-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>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><code>dataSource</code>, <code>tier</code>, <code>priority</code></td><td>&lt; max</td></tr>
<tr><td><code>segment/usedPercent</code></td><td>Percentage of space used by served segments.</td><td><code>dataSource</code>, <code>tier</code>, <code>priority</code></td><td>&lt; 100%</td></tr>
<tr><td><code>segment/count</code></td><td>Number of served segments.</td><td><code>dataSource</code>, <code>tier</code>, <code>priority</code></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></td><td>Varies</td></tr>
<tr><td><code>segment/rowCount/avg</code></td><td>The average number of rows per segment on a historical. <code>SegmentStatsMonitor</code> must be enabled.</td><td><code>dataSource</code>, <code>tier</code>, <code>priority</code></td><td>Varies. See <a href="/docs/latest/operations/segment-optimization.html">segment optimization</a> for guidance on optimal segment sizes.</td></tr>
<tr><td><code>segment/rowCount/range/count</code></td><td>The number of segments in a bucket. <code>SegmentStatsMonitor</code> must be enabled.</td><td><code>dataSource</code>, <code>tier</code>, <code>priority</code>, <code>range</code></td><td>Varies</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="jvm"></a><a href="#jvm" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>JVM</h3>
<p>These metrics are only available if the <code>JVMMonitor</code> 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><code>poolKind</code>, <code>poolName</code></td><td>Close to max pool</td></tr>
<tr><td><code>jvm/pool/init</code></td><td>Initial pool</td><td><code>poolKind</code>, <code>poolName</code></td><td>Varies</td></tr>
<tr><td><code>jvm/pool/max</code></td><td>Max pool</td><td><code>poolKind</code>, <code>poolName</code></td><td>Varies</td></tr>
<tr><td><code>jvm/pool/used</code></td><td>Pool used</td><td><code>poolKind</code>, <code>poolName</code></td><td>&lt; max pool</td></tr>
<tr><td><code>jvm/bufferpool/count</code></td><td>Bufferpool count</td><td><code>bufferpoolName</code></td><td>Varies</td></tr>
<tr><td><code>jvm/bufferpool/used</code></td><td>Bufferpool used</td><td><code>bufferpoolName</code></td><td>Close to capacity</td></tr>
<tr><td><code>jvm/bufferpool/capacity</code></td><td>Bufferpool capacity</td><td><code>bufferpoolName</code></td><td>Varies</td></tr>
<tr><td><code>jvm/mem/init</code></td><td>Initial memory</td><td><code>memKind</code></td><td>Varies</td></tr>
<tr><td><code>jvm/mem/max</code></td><td>Max memory</td><td><code>memKind</code></td><td>Varies</td></tr>
<tr><td><code>jvm/mem/used</code></td><td>Used memory</td><td><code>memKind</code></td><td>&lt; max memory</td></tr>
<tr><td><code>jvm/mem/committed</code></td><td>Committed memory</td><td><code>memKind</code></td><td>Close to max memory</td></tr>
<tr><td><code>jvm/gc/count</code></td><td>Garbage collection count</td><td><code>gcName</code> (cms/g1/parallel/etc.), <code>gcGen</code> (old/young)</td><td>Varies</td></tr>
<tr><td><code>jvm/gc/cpu</code></td><td>Count of CPU time in Nanoseconds spent on garbage collection. Note: <code>jvm/gc/cpu</code> represents the total time over multiple GC cycles; divide by <code>jvm/gc/count</code> to get the mean GC time per cycle.</td><td><code>gcName</code>, <code>gcGen</code></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="/docs/latest/configuration/index.html#enabling-metrics"><code>JvmCpuMonitor</code></a>).</td></tr>
</tbody>
</table>
<h3><a class="anchor" aria-hidden="true" id="eventreceiverfirehose"></a><a href="#eventreceiverfirehose" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>EventReceiverFirehose</h3>
<p>The following metric is only available if the <code>EventReceiverFirehoseMonitor</code> 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 <code>EventReceiverFirehose</code> buffer.</td><td><code>serviceName</code>, <code>dataSource</code>, <code>taskId</code>, <code>taskType</code>, <code>bufferCapacity</code></td><td>Equal to current number of events in the buffer queue.</td></tr>
<tr><td><code>ingest/bytes/received</code></td><td>Number of bytes received by the <code>EventReceiverFirehose</code>.</td><td><code>serviceName</code>, <code>dataSource</code>, <code>taskId</code>, <code>taskType</code></td><td>Varies</td></tr>
</tbody>
</table>
<h2><a class="anchor" aria-hidden="true" id="sys"></a><a href="#sys" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Sys</h2>
<p>These metrics are only available if the <code>SysMonitor</code> 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><code>fsDevName</code>, <code>fsDirName</code>, <code>fsTypeName</code>, <code>fsSysTypeName</code>, <code>fsOptions</code></td><td>Varies</td></tr>
<tr><td><code>sys/disk/read/count</code></td><td>Reads from disk</td><td><code>fsDevName</code>, <code>fsDirName</code>, <code>fsTypeName</code>, <code>fsSysTypeName</code>, <code>fsOptions</code></td><td>Varies</td></tr>
<tr><td><code>sys/disk/write/size</code></td><td>Bytes written to disk. One indicator of the amount of paging occurring for segments.</td><td><code>fsDevName</code>,<code>fsDirName</code>,<code>fsTypeName</code>, <code>fsSysTypeName</code>, <code>fsOptions</code></td><td>Varies</td></tr>
<tr><td><code>sys/disk/read/size</code></td><td>Bytes read from disk. One indicator of the amount of paging occurring for segments.</td><td><code>fsDevName</code>,<code>fsDirName</code>, <code>fsTypeName</code>, <code>fsSysTypeName</code>, <code>fsOptions</code></td><td>Varies</td></tr>
<tr><td><code>sys/net/write/size</code></td><td>Bytes written to the network</td><td><code>netName</code>, <code>netAddress</code>, <code>netHwaddr</code></td><td>Varies</td></tr>
<tr><td><code>sys/net/read/size</code></td><td>Bytes read from the network</td><td><code>netName</code>, <code>netAddress</code>, <code>netHwaddr</code></td><td>Varies</td></tr>
<tr><td><code>sys/fs/used</code></td><td>Filesystem bytes used</td><td><code>fsDevName</code>, <code>fsDirName</code>, <code>fsTypeName</code>, <code>fsSysTypeName</code>, <code>fsOptions</code></td><td>&lt; max</td></tr>
<tr><td><code>sys/fs/max</code></td><td>Filesystem bytes max</td><td><code>fsDevName</code>, <code>fsDirName</code>, <code>fsTypeName</code>, <code>fsSysTypeName</code>, <code>fsOptions</code></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><code>fsDirName</code></td><td>Varies</td></tr>
<tr><td><code>sys/cpu</code></td><td>CPU used</td><td><code>cpuName</code>, <code>cpuTime</code></td><td>Varies</td></tr>
</tbody>
</table>
<h2><a class="anchor" aria-hidden="true" id="cgroup"></a><a href="#cgroup" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Cgroup</h2>
<p>These metrics are available on operating systems with the cgroup kernel feature. All the values are derived by reading from <code>/sys/fs/cgroup</code>.</p>
<table>
<thead>
<tr><th>Metric</th><th>Description</th><th>Dimensions</th><th>Normal Value</th></tr>
</thead>
<tbody>
<tr><td><code>cgroup/cpu/shares</code></td><td>Relative value of CPU time available to this process. Read from <code>cpu.shares</code>.</td><td></td><td>Varies</td></tr>
<tr><td><code>cgroup/cpu/cores_quota</code></td><td>Number of cores available to this process. Derived from <code>cpu.cfs_quota_us</code>/<code>cpu.cfs_period_us</code>.</td><td></td><td>Varies. A value of -1 indicates there is no explicit quota set.</td></tr>
<tr><td><code>cgroup/memory/*</code></td><td>Memory stats for this process (e.g. <code>cache</code>, <code>total_swap</code>, etc.). Each stat produces a separate metric. Read from <code>memory.stat</code>.</td><td></td><td>Varies</td></tr>
<tr><td><code>cgroup/memory_numa/*/pages</code></td><td>Memory stats, per NUMA node, for this process (e.g. <code>total</code>, <code>unevictable</code>, etc.). Each stat produces a separate metric. Read from <code>memory.num_stat</code>.</td><td><code>numaZone</code></td><td>Varies</td></tr>
<tr><td><code>cgroup/cpuset/cpu_count</code></td><td>Total number of CPUs available to the process. Derived from <code>cpuset.cpus</code>.</td><td></td><td>Varies</td></tr>
<tr><td><code>cgroup/cpuset/effective_cpu_count</code></td><td>Total number of active CPUs available to the process. Derived from <code>cpuset.effective_cpus</code>.</td><td></td><td>Varies</td></tr>
<tr><td><code>cgroup/cpuset/mems_count</code></td><td>Total number of memory nodes available to the process. Derived from <code>cpuset.mems</code>.</td><td></td><td>Varies</td></tr>
<tr><td><code>cgroup/cpuset/effective_mems_count</code></td><td>Total number of active memory nodes available to the process. Derived from <code>cpuset.effective_mems</code>.</td><td></td><td>Varies</td></tr>
</tbody>
</table>
</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/operations/request-logging.html"><span class="arrow-prev">โ† </span><span>Request logging</span></a><a class="docs-next button" href="/docs/latest/operations/alerts.html"><span>Alerts</span><span class="arrow-next"> โ†’</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#query-metrics">Query metrics</a><ul class="toc-headings"><li><a href="#router">Router</a></li><li><a href="#broker">Broker</a></li><li><a href="#historical">Historical</a></li><li><a href="#real-time">Real-time</a></li><li><a href="#jetty">Jetty</a></li><li><a href="#cache">Cache</a></li></ul></li><li><a href="#sql-metrics">SQL Metrics</a></li><li><a href="#ingestion-metrics">Ingestion metrics</a></li><li><a href="#general-native-ingestion-metrics">General native ingestion metrics</a><ul class="toc-headings"><li><a href="#ingestion-metrics-for-kafka">Ingestion metrics for Kafka</a></li><li><a href="#ingestion-metrics-for-kinesis">Ingestion metrics for Kinesis</a></li><li><a href="#other-ingestion-metrics">Other ingestion metrics</a></li></ul></li><li><a href="#indexing-service">Indexing service</a></li><li><a href="#shuffle-metrics-native-parallel-task">Shuffle metrics (Native parallel task)</a></li><li><a href="#coordination">Coordination</a></li><li><a href="#general-health">General Health</a><ul class="toc-headings"><li><a href="#historical-1">Historical</a></li><li><a href="#jvm">JVM</a></li><li><a href="#eventreceiverfirehose">EventReceiverFirehose</a></li></ul></li><li><a href="#sys">Sys</a></li><li><a href="#cgroup">Cgroup</a></li></ul></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/technology">Technology</a>โ€‚ยทโ€‚<a href="/use-cases">Use Cases</a>โ€‚ยทโ€‚<a href="/druid-powered">Powered by Druid</a>โ€‚ยทโ€‚<a href="/docs/latest/">Docs</a>โ€‚ยทโ€‚<a href="/community/">Community</a>โ€‚ยทโ€‚<a href="/downloads.html">Download</a>โ€‚ยทโ€‚<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>โ€‚ยทโ€‚<a title="Follow Druid" href="https://twitter.com/druidio" target="_blank"><span class="fab fa-twitter"></span></a>โ€‚ยทโ€‚<a title="Download via Apache" href="https://www.apache.org/dyn/closer.cgi?path=/incubator/druid/{{ site.druid_versions[0].versions[0].version }}/apache-druid-{{ site.druid_versions[0].versions[0].version }}-bin.tar.gz" target="_blank"><span class="fas fa-feather"></span></a>โ€‚ยทโ€‚<a title="GitHub" href="https://github.com/apache/druid" target="_blank"><span class="fab fa-github"></span></a></div><div class="text-center license">Copyright ยฉ 2022 <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></div><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script><script>
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
}
// keyCode for '/' (slash)
if (e.keyCode === 191) {
const search = document.getElementById('search_input_react');
search && search.focus();
}
});
</script><script>
var search = docsearch({
appId: 'CPK9PMSCEY',
apiKey: 'd4ef4ffe3a2f0c7d1e34b062fd98736b',
indexName: 'apache_druid',
inputSelector: '#search_input_react',
algoliaOptions: {"facetFilters":["language:en","version:26.0.0"]}
});
</script></body></html>