blob: a9a2f2424aaee3a814dd7721079530dddf47f399 [file] [log] [blame]
<!--
Javascript to render AIRFLOW-XXX and PR references in text
as HTML links.
Overrides extrahead block from sphinx_rtd_theme
https://www.sphinx-doc.org/en/master/templating.html
-->
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Metrics &mdash; Airflow Documentation</title>
<link rel="shortcut icon" href="_static/pin_32.png"/>
<script type="text/javascript" src="_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/jira-links.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/graphviz.css" type="text/css" />
<link rel="stylesheet" href="_static/exampleinclude.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Error Tracking" href="errors.html" />
<link rel="prev" title="Integration" href="integration.html" />
<script>
</script>
<style>
</style>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home"> Airflow
</a>
<div class="version">
1.10.8
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="project.html">Project</a></li>
<li class="toctree-l1"><a class="reference internal" href="license.html">License</a></li>
<li class="toctree-l1"><a class="reference internal" href="start.html">Quick Start</a></li>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="howto/index.html">How-to Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="ui.html">UI / Screenshots</a></li>
<li class="toctree-l1"><a class="reference internal" href="concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="profiling.html">Data Profiling</a></li>
<li class="toctree-l1"><a class="reference internal" href="cli.html">Command Line Interface Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="scheduler.html">Scheduling &amp; Triggers</a></li>
<li class="toctree-l1"><a class="reference internal" href="executor/index.html">Executor</a></li>
<li class="toctree-l1"><a class="reference internal" href="plugins.html">Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="timezone.html">Time zones</a></li>
<li class="toctree-l1"><a class="reference internal" href="api.html">REST API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="integration.html">Integration</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Metrics</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#setup">Setup</a></li>
<li class="toctree-l2"><a class="reference internal" href="#counters">Counters</a></li>
<li class="toctree-l2"><a class="reference internal" href="#gauges">Gauges</a></li>
<li class="toctree-l2"><a class="reference internal" href="#timers">Timers</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="errors.html">Error Tracking</a></li>
<li class="toctree-l1"><a class="reference internal" href="kubernetes.html">Kubernetes</a></li>
<li class="toctree-l1"><a class="reference internal" href="lineage.html">Lineage</a></li>
<li class="toctree-l1"><a class="reference internal" href="dag-serialization.html">DAG Serialization</a></li>
<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
<li class="toctree-l1"><a class="reference internal" href="best-practices.html">Best Practices</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="macros.html">Macros reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="privacy_notice.html">Privacy Notice</a></li>
</ul>
<p class="caption"><span class="caption-text">References</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="_api/index.html">Python API</a></li>
<li class="toctree-l1"><a class="reference internal" href="configurations-ref.html">Configurations</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Airflow</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li>Metrics</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/metrics.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<blockquote>
<div></div></blockquote>
<div class="section" id="metrics">
<h1>Metrics<a class="headerlink" href="#metrics" title="Permalink to this headline"></a></h1>
<p>Airflow can be set up to send metrics to <a class="reference external" href="https://github.com/etsy/statsd">StatsD</a>.</p>
<div class="section" id="setup">
<h2>Setup<a class="headerlink" href="#setup" title="Permalink to this headline"></a></h2>
<p>First you must install statsd requirement:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip install <span class="s1">&#39;apache-airflow[statsd]&#39;</span>
</pre></div>
</div>
<p>Add the following lines to your configuration file e.g. <code class="docutils literal notranslate"><span class="pre">airflow.cfg</span></code></p>
<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[scheduler]</span>
<span class="na">statsd_on</span> <span class="o">=</span> <span class="s">True</span>
<span class="na">statsd_host</span> <span class="o">=</span> <span class="s">localhost</span>
<span class="na">statsd_port</span> <span class="o">=</span> <span class="s">8125</span>
<span class="na">statsd_prefix</span> <span class="o">=</span> <span class="s">airflow</span>
</pre></div>
</div>
<p>If you want to avoid send all the available metrics to StatsD, you can configure an allow list of prefixes to send only
the metrics that start with the elements of the list:</p>
<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[scheduler]</span>
<span class="na">statsd_allow_list</span> <span class="o">=</span> <span class="s">scheduler,executor,dagrun</span>
</pre></div>
</div>
</div>
<div class="section" id="counters">
<h2>Counters<a class="headerlink" href="#counters" title="Permalink to this headline"></a></h2>
<table class="docutils align-default">
<colgroup>
<col style="width: 34%" />
<col style="width: 66%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">&lt;job_name&gt;_start</span></code></p></td>
<td><p>Number of started <code class="docutils literal notranslate"><span class="pre">&lt;job_name&gt;</span></code> job, ex. <code class="docutils literal notranslate"><span class="pre">SchedulerJob</span></code>, <code class="docutils literal notranslate"><span class="pre">LocalTaskJob</span></code></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">&lt;job_name&gt;_end</span></code></p></td>
<td><p>Number of ended <code class="docutils literal notranslate"><span class="pre">&lt;job_name&gt;</span></code> job, ex. <code class="docutils literal notranslate"><span class="pre">SchedulerJob</span></code>, <code class="docutils literal notranslate"><span class="pre">LocalTaskJob</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">operator_failures_&lt;operator_name&gt;</span></code></p></td>
<td><p>Operator <code class="docutils literal notranslate"><span class="pre">&lt;operator_name&gt;</span></code> failures</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">operator_successes_&lt;operator_name&gt;</span></code></p></td>
<td><p>Operator <code class="docutils literal notranslate"><span class="pre">&lt;operator_name&gt;</span></code> successes</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ti_failures</span></code></p></td>
<td><p>Overall task instances failures</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ti_successes</span></code></p></td>
<td><p>Overall task instances successes</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">zombies_killed</span></code></p></td>
<td><p>Zombie tasks killed</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">scheduler_heartbeat</span></code></p></td>
<td><p>Scheduler heartbeats</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dag_processing.processes</span></code></p></td>
<td><p>Number of currently running DAG parsing processes</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">scheduler.tasks.killed_externally</span></code></p></td>
<td><p>Number of tasks killed externally</p></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="gauges">
<h2>Gauges<a class="headerlink" href="#gauges" title="Permalink to this headline"></a></h2>
<table class="docutils align-default">
<colgroup>
<col style="width: 41%" />
<col style="width: 59%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dagbag_size</span></code></p></td>
<td><p>DAG bag size</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dag_processing.import_errors</span></code></p></td>
<td><p>Number of errors from trying to parse DAG files</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dag_processing.total_parse_time</span></code></p></td>
<td><p>Seconds taken to scan and import all DAG files once</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dag_processing.last_runtime.&lt;dag_file&gt;</span></code></p></td>
<td><p>Seconds spent processing <code class="docutils literal notranslate"><span class="pre">&lt;dag_file&gt;</span></code> (in most recent iteration)</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dag_processing.last_run.seconds_ago.&lt;dag_file&gt;</span></code></p></td>
<td><p>Seconds since <code class="docutils literal notranslate"><span class="pre">&lt;dag_file&gt;</span></code> was last processed</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dag_processing.processor_timeouts</span></code></p></td>
<td><p>Number of file processors that have been killed due to taking too long</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">executor.open_slots</span></code></p></td>
<td><p>Number of open slots on executor</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">executor.queued_tasks</span></code></p></td>
<td><p>Number of queued tasks on executor</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">executor.running_tasks</span></code></p></td>
<td><p>Number of running tasks on executor</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">pool.open_slots.&lt;pool_name&gt;</span></code></p></td>
<td><p>Number of open slots in the pool</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">pool.used_slots.&lt;pool_name&gt;</span></code></p></td>
<td><p>Number of used slots in the pool</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">pool.starving_tasks.&lt;pool_name&gt;</span></code></p></td>
<td><p>Number of starving tasks in the pool</p></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="timers">
<h2>Timers<a class="headerlink" href="#timers" title="Permalink to this headline"></a></h2>
<table class="docutils align-default">
<colgroup>
<col style="width: 44%" />
<col style="width: 56%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dagrun.dependency-check.&lt;dag_id&gt;</span></code></p></td>
<td><p>Milliseconds taken to check DAG dependencies</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dag.&lt;dag_id&gt;.&lt;task_id&gt;.duration</span></code></p></td>
<td><p>Milliseconds taken to finish a task</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dag_processing.last_duration.&lt;dag_file&gt;</span></code></p></td>
<td><p>Milliseconds taken to load the given DAG file</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dagrun.duration.success.&lt;dag_id&gt;</span></code></p></td>
<td><p>Milliseconds taken for a DagRun to reach success state</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dagrun.duration.failed.&lt;dag_id&gt;</span></code></p></td>
<td><p>Milliseconds taken for a DagRun to reach failed state</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dagrun.schedule_delay.&lt;dag_id&gt;</span></code></p></td>
<td><p>Milliseconds of delay between the scheduled DagRun
start date and the actual DagRun start date</p></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="errors.html" class="btn btn-neutral float-right" title="Error Tracking" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="integration.html" class="btn btn-neutral float-left" title="Integration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
<div class="footer">This page uses <a href="https://analytics.google.com/">
Google Analytics</a> to collect statistics. You can disable it by blocking
the JavaScript coming from www.google-analytics.com. Check our
<a href="privacy_notice.html">Privacy Policy</a>
for more details.
</div>
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
<!-- Theme Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-140539454-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>