You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gi...@apache.org on 2018/05/31 03:13:06 UTC

[46/46] mesos-site git commit: Updated the website built from mesos SHA: a52e528.

Updated the website built from mesos SHA: a52e528.


Project: http://git-wip-us.apache.org/repos/asf/mesos-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos-site/commit/e42c5d57
Tree: http://git-wip-us.apache.org/repos/asf/mesos-site/tree/e42c5d57
Diff: http://git-wip-us.apache.org/repos/asf/mesos-site/diff/e42c5d57

Branch: refs/heads/asf-site
Commit: e42c5d57ec6af90acea3e57bd89a7f5e7f35590f
Parents: 9381215
Author: jenkins <bu...@apache.org>
Authored: Thu May 31 03:12:11 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Thu May 31 03:12:11 2018 +0000

----------------------------------------------------------------------
 ...include_2process_2metrics_2metrics_8hpp.html |   1 +
 ..._2process_2metrics_2metrics_8hpp_source.html |   5 +-
 content/api/latest/c++/Nodes.xml                | 180 +++++++++----------
 content/api/latest/c++/Tokens.xml               | 149 +++++++++------
 content/api/latest/c++/classDocker-members.html |   2 +-
 content/api/latest/c++/classDocker.html         |   8 +-
 .../latest/c++/classLinkedHashMap-members.html  |   4 +-
 content/api/latest/c++/classLinkedHashMap.html  |  16 +-
 content/api/latest/c++/classes.html             |   8 +-
 .../api/latest/c++/classhashmap-members.html    |   2 +-
 content/api/latest/c++/classhashmap.html        |   8 +-
 ...e_1_1AppcRuntimeIsolatorProcess-members.html |   2 +-
 ..._1_1slave_1_1AppcRuntimeIsolatorProcess.html |   4 +-
 ...slave_1_1CgroupsIsolatorProcess-members.html |   2 +-
 ...rnal_1_1slave_1_1CgroupsIsolatorProcess.html |  10 +-
 ...1_1DockerRuntimeIsolatorProcess-members.html |   2 +-
 ..._1slave_1_1DockerRuntimeIsolatorProcess.html |   4 +-
 ..._1_1DockerVolumeIsolatorProcess-members.html |   2 +-
 ...1_1slave_1_1DockerVolumeIsolatorProcess.html |  10 +-
 ...nvironmentSecretIsolatorProcess-members.html |   2 +-
 ...ave_1_1EnvironmentSecretIsolatorProcess.html |   4 +-
 ..._1internal_1_1slave_1_1Executor-members.html |   2 +-
 ...smesos_1_1internal_1_1slave_1_1Executor.html |   8 +-
 ...1internal_1_1slave_1_1Framework-members.html |   2 +-
 ...mesos_1_1internal_1_1slave_1_1Framework.html |   8 +-
 ...ernal_1_1slave_1_1IOSwitchboard-members.html |   2 +-
 ...s_1_1internal_1_1slave_1_1IOSwitchboard.html |  10 +-
 ..._1internal_1_1slave_1_1Launcher-members.html |   2 +-
 ...smesos_1_1internal_1_1slave_1_1Launcher.html |  10 +-
 ...inuxCapabilitiesIsolatorProcess-members.html |   2 +-
 ...ave_1_1LinuxCapabilitiesIsolatorProcess.html |   4 +-
 ..._1_1LinuxDevicesIsolatorProcess-members.html |   2 +-
 ...1_1slave_1_1LinuxDevicesIsolatorProcess.html |   4 +-
 ...1LinuxFilesystemIsolatorProcess-members.html |   2 +-
 ...slave_1_1LinuxFilesystemIsolatorProcess.html |  10 +-
 ...ernal_1_1slave_1_1LinuxLauncher-members.html |   2 +-
 ...s_1_1internal_1_1slave_1_1LinuxLauncher.html |  10 +-
 ...ernal_1_1slave_1_1MesosIsolator-members.html |   4 +-
 ...s_1_1internal_1_1slave_1_1MesosIsolator.html |  12 +-
 ..._1slave_1_1MesosIsolatorProcess-members.html |   2 +-
 ...ternal_1_1slave_1_1MesosIsolatorProcess.html |  12 +-
 ...1_1NamespacesIPCIsolatorProcess-members.html |   2 +-
 ..._1slave_1_1NamespacesIPCIsolatorProcess.html |   4 +-
 ...1_1NamespacesPidIsolatorProcess-members.html |   2 +-
 ..._1slave_1_1NamespacesPidIsolatorProcess.html |   4 +-
 ...ve_1_1NetworkCniIsolatorProcess-members.html |   2 +-
 ...l_1_1slave_1_1NetworkCniIsolatorProcess.html |  10 +-
 ..._1_1NetworkPortsIsolatorProcess-members.html |  47 ++---
 ...1_1slave_1_1NetworkPortsIsolatorProcess.html |   4 +-
 ...ave_1_1NvidiaGpuIsolatorProcess-members.html |   2 +-
 ...al_1_1slave_1_1NvidiaGpuIsolatorProcess.html |  10 +-
 ...e_1_1PortMappingIsolatorProcess-members.html |  47 ++---
 ..._1_1slave_1_1PortMappingIsolatorProcess.html |   4 +-
 ...lave_1_1PosixCpuIsolatorProcess-members.html |   2 +-
 ...nal_1_1slave_1_1PosixCpuIsolatorProcess.html |   4 +-
 ...ave_1_1PosixDiskIsolatorProcess-members.html |   2 +-
 ...al_1_1slave_1_1PosixDiskIsolatorProcess.html |  10 +-
 ...1PosixFilesystemIsolatorProcess-members.html |   2 +-
 ...slave_1_1PosixFilesystemIsolatorProcess.html |  10 +-
 ..._1slave_1_1PosixIsolatorProcess-members.html |   2 +-
 ...ternal_1_1slave_1_1PosixIsolatorProcess.html |  10 +-
 ...lave_1_1PosixMemIsolatorProcess-members.html |   2 +-
 ...nal_1_1slave_1_1PosixMemIsolatorProcess.html |   4 +-
 ..._1_1PosixRLimitsIsolatorProcess-members.html |   2 +-
 ...1_1slave_1_1PosixRLimitsIsolatorProcess.html |   4 +-
 ...SharedFilesystemIsolatorProcess-members.html |   2 +-
 ...lave_1_1SharedFilesystemIsolatorProcess.html |   4 +-
 ...s_1_1internal_1_1slave_1_1Slave-members.html |   2 +-
 ...lassmesos_1_1internal_1_1slave_1_1Slave.html |  10 +-
 ..._1_1slave_1_1SubprocessLauncher-members.html |   2 +-
 ...internal_1_1slave_1_1SubprocessLauncher.html |  10 +-
 ..._1VolumeHostPathIsolatorProcess-members.html |   2 +-
 ...1slave_1_1VolumeHostPathIsolatorProcess.html |   4 +-
 ...e_1_1VolumeImageIsolatorProcess-members.html |   2 +-
 ..._1_1slave_1_1VolumeImageIsolatorProcess.html |   4 +-
 ...olumeSandboxPathIsolatorProcess-members.html |   2 +-
 ...ave_1_1VolumeSandboxPathIsolatorProcess.html |  10 +-
 ..._1_1VolumeSecretIsolatorProcess-members.html |   2 +-
 ...1_1slave_1_1VolumeSecretIsolatorProcess.html |   4 +-
 ...ve_1_1WindowsCpuIsolatorProcess-members.html |   2 +-
 ...l_1_1slave_1_1WindowsCpuIsolatorProcess.html |  10 +-
 ...indowsFilesystemIsolatorProcess-members.html |   2 +-
 ...ave_1_1WindowsFilesystemIsolatorProcess.html |   4 +-
 ...ve_1_1WindowsMemIsolatorProcess-members.html |   2 +-
 ...l_1_1slave_1_1WindowsMemIsolatorProcess.html |  10 +-
 ...slave_1_1XfsDiskIsolatorProcess-members.html |  47 ++---
 ...rnal_1_1slave_1_1XfsDiskIsolatorProcess.html |   4 +-
 ...internal_1_1tests_1_1MockDocker-members.html |   6 +-
 ...esos_1_1internal_1_1tests_1_1MockDocker.html |  22 +--
 ...ternal_1_1tests_1_1MockIsolator-members.html |   4 +-
 ...os_1_1internal_1_1tests_1_1MockIsolator.html |  14 +-
 ...1internal_1_1tests_1_1MockSlave-members.html |   6 +-
 ...mesos_1_1internal_1_1tests_1_1MockSlave.html |  24 +--
 ...ternal_1_1tests_1_1TestLauncher-members.html |   4 +-
 ...os_1_1internal_1_1tests_1_1TestLauncher.html |  14 +-
 ...classmesos_1_1slave_1_1Isolator-members.html |   2 +-
 .../c++/classmesos_1_1slave_1_1Isolator.html    |   8 +-
 ...classprocess_1_1http_1_1Headers-members.html |   2 +-
 .../c++/classprocess_1_1http_1_1Headers.html    |   4 +-
 ...ess_1_1internal_1_1AwaitProcess-members.html |   2 +-
 ...lassprocess_1_1internal_1_1AwaitProcess.html |  10 +-
 ...s_1_1internal_1_1CollectProcess-members.html |   2 +-
 ...ssprocess_1_1internal_1_1CollectProcess.html |  10 +-
 content/api/latest/c++/cni_8hpp_source.html     |   5 +-
 content/api/latest/c++/collect_8hpp.html        |  14 +-
 content/api/latest/c++/collect_8hpp_source.html |  17 +-
 content/api/latest/c++/docker_2docker_8hpp.html |   4 +-
 .../latest/c++/docker_2docker_8hpp_source.html  |   4 +-
 .../c++/filesystem_2posix_8hpp_source.html      |   4 +-
 content/api/latest/c++/functions.html           |   4 +-
 content/api/latest/c++/functions_a.html         |   2 +-
 content/api/latest/c++/functions_c.html         |   2 +-
 content/api/latest/c++/functions_func.html      |   4 +-
 content/api/latest/c++/functions_func_a.html    |   2 +-
 content/api/latest/c++/functions_func_c.html    |   2 +-
 content/api/latest/c++/functions_func_k.html    |   2 +-
 content/api/latest/c++/functions_func_m.html    |   4 +-
 content/api/latest/c++/functions_func_n.html    |  10 +-
 content/api/latest/c++/functions_func_p.html    |   4 +-
 content/api/latest/c++/functions_func_r.html    |  38 ++--
 content/api/latest/c++/functions_func_t.html    |   2 +-
 content/api/latest/c++/functions_func_u.html    |   2 +-
 content/api/latest/c++/functions_func_v.html    |   4 +-
 content/api/latest/c++/functions_g.html         |   4 +-
 content/api/latest/c++/functions_h.html         |   4 +-
 content/api/latest/c++/functions_k.html         |   2 +-
 content/api/latest/c++/functions_m.html         |   4 +-
 content/api/latest/c++/functions_n.html         |  20 ++-
 content/api/latest/c++/functions_p.html         |  12 +-
 content/api/latest/c++/functions_q.html         |   2 +-
 content/api/latest/c++/functions_r.html         |  44 ++---
 content/api/latest/c++/functions_s.html         |  18 +-
 content/api/latest/c++/functions_t.html         |   4 +-
 content/api/latest/c++/functions_u.html         |   4 +-
 content/api/latest/c++/functions_v.html         |   4 +-
 content/api/latest/c++/functions_vars_p.html    |   2 +-
 content/api/latest/c++/functions_vars_q.html    |   2 +-
 content/api/latest/c++/hashmap_8hpp.html        |   2 +-
 content/api/latest/c++/hashmap_8hpp_source.html |   5 +-
 content/api/latest/c++/hierarchy.html           |  34 ++--
 .../c++/http__connection_8hpp_source.html       |   4 +-
 content/api/latest/c++/image_8hpp.html          |   3 +-
 content/api/latest/c++/image_8hpp_source.html   |   5 +-
 .../include_2mesos_2slave_2isolator_8hpp.html   |   4 +-
 ...ude_2mesos_2slave_2isolator_8hpp_source.html |   4 +-
 content/api/latest/c++/index.hhc                | 154 ++++++++--------
 content/api/latest/c++/index.hhk                | 160 ++++++++---------
 ...ss_2include_2process_2gtest_8hpp_source.html |   4 +-
 .../latest/c++/linkedhashmap_8hpp_source.html   |  18 +-
 .../latest/c++/linux__launcher_8hpp_source.html |   4 +-
 .../c++/master_2validation_8hpp_source.html     |   2 +-
 content/api/latest/c++/mem_8hpp.html            |   2 +-
 content/api/latest/c++/mem_8hpp_source.html     |   4 +-
 content/api/latest/c++/memory_8hpp.html         |   4 +-
 content/api/latest/c++/memory_8hpp_source.html  |   3 +-
 content/api/latest/c++/mock__docker_8hpp.html   |   3 +-
 .../latest/c++/mock__docker_8hpp_source.html    |  36 ++--
 .../api/latest/c++/mock__slave_8hpp_source.html |   2 +-
 content/api/latest/c++/namespacemembers_c.html  |   2 +-
 .../api/latest/c++/namespacemembers_func_a.html |   2 +-
 .../api/latest/c++/namespacemembers_func_c.html |   2 +-
 content/api/latest/c++/namespaceprocess.html    |  24 +--
 .../api/latest/c++/posix_2disk_8hpp_source.html |   4 +-
 content/api/latest/c++/posix_8hpp_source.html   |   4 +-
 .../latest/c++/protobuf__utils_8hpp_source.html |   2 +-
 content/api/latest/c++/provisioner_8hpp.html    |   2 +-
 .../api/latest/c++/provisioner_8hpp_source.html |   3 +-
 .../latest/c++/sandbox__path_8hpp_source.html   |   4 +-
 .../c++/slave_2containerizer_2docker_8hpp.html  |   3 +-
 ...lave_2containerizer_2docker_8hpp_source.html |   8 +-
 ...isolators_2cgroups_2cgroups_8hpp_source.html |   5 +-
 ...ve_2containerizer_2mesos_2launcher_8hpp.html |   2 +-
 ...tainerizer_2mesos_2launcher_8hpp_source.html |   4 +-
 content/api/latest/c++/slave_8hpp_source.html   |   8 +-
 .../latest/c++/src_2log_2log_8hpp_source.html   |   2 +-
 .../api/latest/c++/src_2log_2network_8hpp.html  |   3 +-
 .../c++/src_2log_2network_8hpp_source.html      |  59 +++---
 .../c++/src_2master_2master_8hpp_source.html    | 149 ++++++++-------
 ...ontainerizer_2mesos_2containerizer_8hpp.html |   3 +-
 ...rizer_2mesos_2containerizer_8hpp_source.html |  11 +-
 ...tainerizer_2mesos_2isolator_8hpp_source.html |   6 +-
 ...solators_2docker_2volume_2isolator_8hpp.html |   3 +-
 ...s_2docker_2volume_2isolator_8hpp_source.html |   7 +-
 ...solators_2filesystem_2linux_8hpp_source.html |   4 +-
 ...r_2mesos_2isolators_2gpu_2isolator_8hpp.html |   4 +-
 ...s_2isolators_2gpu_2isolator_8hpp_source.html |   4 +-
 ...ts_2containerizer_2isolator_8hpp_source.html |   6 +-
 .../api/latest/c++/switchboard_8hpp_source.html |   4 +-
 .../tests_2containerizer_2launcher_8hpp.html    |   3 +-
 ...ts_2containerizer_2launcher_8hpp_source.html |  10 +-
 content/api/latest/c++/windows_2cpu_8hpp.html   |   2 +-
 .../latest/c++/windows_2cpu_8hpp_source.html    |   4 +-
 .../documentation/latest/upgrades/index.html    |   8 +
 content/documentation/upgrades/index.html       |   8 +
 194 files changed, 1068 insertions(+), 1026 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html b/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html
index e746186..bf231b4 100644
--- a/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html
+++ b/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html
@@ -59,6 +59,7 @@
 <div class="contents">
 <div class="textblock"><code>#include &lt;map&gt;</code><br />
 <code>#include &lt;string&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
 <code>#include &lt;<a class="el" href="dispatch_8hpp_source.html">process/dispatch.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="future_8hpp_source.html">process/future.hpp</a>&gt;</code><br />
 <code>#include &lt;<a class="el" href="3rdparty_2libprocess_2include_2process_2limiter_8hpp_source.html">process/limiter.hpp</a>&gt;</code><br />

http://git-wip-us.apache.org/repos/asf/mesos-site/blob/e42c5d57/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html
----------------------------------------------------------------------
diff --git a/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html b/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html
index fa8aa9f..b5c4c01 100644
--- a/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html
+++ b/content/api/latest/c++/3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp_source.html
@@ -52,11 +52,11 @@
 <div class="title">metrics.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<a href="3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="line
 no">    6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License</span></div><div class="line"><a name="l00012"></a><span cla
 ss="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __PROCESS_METRICS_METRICS_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __PROCESS_METRICS_METRICS_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="dispatch_8hpp.html">process/dispatch.hpp</a>&gt;</span></div
 ><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2limiter_8hpp.html">process/limiter.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="
 lineno">   25</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="metric_8hpp.html">process/metrics/metric.hpp</a>&gt;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span cla
 ss="keyword">namespace </span><a class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a> {</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics_1_1internal.html">   33</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">   35</a></span>&#160;<span class="keyword">class </span><a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a> : <span class="keyword">pu
 blic</span> <a class="code" href="classprocess_1_1Process.html">Process</a>&lt;MetricsProcess&gt;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;{</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>* <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a1b0e6141bb79047bf1247e27c2befcfd">create</a>(<span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; authenticationRealm);</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;  <a class="code" href="classprocess_1_1Futur
 e.html">Future&lt;Nothing&gt;</a> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">add</a>(<a class="code" href="classprocess_1_1Owned.html">Owned&lt;Metric&gt;</a> metric);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> std::string&amp; <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; <a class="code" href="classprocess_1_1metrics_1_1inter
 nal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">snapshot</a>(</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a481de823013045447009d4554fdaf69d">initialize</a>();</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">private</span>:</div><div
  class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keyword">static</span> std::string help();</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>(</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="classprocess_1_1Owned.html">Owned&lt;RateLimiter&gt;</a>&gt;&amp; _limiter,</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; _authenticationRealm)</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    : <a class
 ="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<span class="stringliteral">&quot;metrics&quot;</span>),</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;      limiter(_limiter),</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      authenticationRealm(_authenticationRealm)</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;  {}</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  <span class="comment">// Non-copyable, non-assignable.</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1Me
 tricsProcess.html">MetricsProcess</a>&amp;);</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp;);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;http::Response&gt;</a> _snapshot(</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">http::Request</a>&amp; <a class="code" href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">request</a>,</div><div class="line"><a name="l000
 67"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;http::authentication::Principal&gt;</a>&amp;);</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;  <span class="keyword">static</span> std::list&lt;Future&lt;double&gt;&gt; _snapshotTimeout(</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;      <span class="keyword">const</span> <a class="code" href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">std::list</a>&lt;<a class="code" href="classprocess_1_1Future.html">Future&lt;double&gt;</a>&gt;&amp; futures);</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <span class="keyword">static</span> <a class="code" href
 ="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; __snapshot(</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classprocess_1_1Future.html">Future&lt;double&gt;</a>&gt;&amp; metrics,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <span class="keyword">const</span> <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="structprocess_1_1Statistics.html">Statistics&lt;double&gt;</a>&gt;&gt;&amp; <a class="code" href="namespacerouting_1_1link.html#a8486fce953
 717fcb949bfdc17a2dd3e1">statistics</a>);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="comment">// The Owned&lt;Metric&gt; is an explicit copy of the Metric passed to &#39;add&#39;.</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, Owned&lt;Metric&gt;</a>&gt; metrics;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Used to rate limit the snapshot endpoint.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="classOption.html">Option&lt;Owned&lt;RateLimiter&gt;</a>&gt; limiter;</div><div class="line"><a name="l00082"></a><span class="lineno">
    82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">// The authentication realm that metrics HTTP endpoints are installed into.</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> authenticationRealm;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;};</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">// Global metrics process. Defined in process.cpp.</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <a class="code" href="structprocess_1_1PI
 D.html">PID&lt;MetricsProcess&gt;</a> metrics;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;}  <span class="comment">// namespace internal {</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">   95</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">add</a>(<span class=
 "keyword">const</span> T&amp; metric)</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="comment">// There is an explicit copy in this call to ensure we end up owning</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="comment">// the last copy of a Metric when we remove it.</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</spa
 n>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">internal::MetricsProcess::add</a>,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">Owned&lt;Metric&gt;</a>(<span class="keyword">new</span> T(metric)));</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="
 line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#ad561ce447753dc2edad5d52a8776a141">  109</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1Metric.html">Metric</a>&amp; metric)</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a na
 me="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#ad5879be2708a6b45ee29fe4acfe0eece">internal::MetricsProcess::remove</a>,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      metric.name());</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;}</div><div class="line"><a name="l00119"></a><span class="lineno">  119<
 /span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#ae84bcc44d0cc377941ccab88b9cecdc7">  121</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">snapshot</a>(</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout)</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initi
 alize`.</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">internal::MetricsProcess::snapshot</a>,</div><div class="line"><a
  name="l00130"></a><span class="lineno">  130</span>&#160;      timeout);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;}</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}  <span class="comment">// namespace metrics {</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;}  <span class="comment">// namespace process {</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif // __PROCESS_METRICS_METRICS_HPP__</span></div><div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; std::string &gt;</a></div></div>
+<a href="3rdparty_2libprocess_2include_2process_2metrics_2metrics_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00006"></a><span class="line
 no">    6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// limitations under the License</span></div><div class="line"><a name="l00012"></a><span cla
 ss="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#ifndef __PROCESS_METRICS_METRICS_HPP__</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#define __PROCESS_METRICS_METRICS_HPP__</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"
 >   20</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="dispatch_8hpp.html">process/dispatch.hpp</a>&gt;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="future_8hpp.html">process/future.hpp</a>&gt;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="3rdparty_2libprocess_2include_2process_2limiter_8hpp.html">process/limiter.hpp</a>&gt;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="owned_8hpp.html">process/owned.hpp</a>&gt;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="libprocess_2include_2process_2process_8hpp.html">process/process.hpp</a>&gt;</span><
 /div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="metric_8hpp.html">process/metrics/metric.hpp</a>&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="hashmap_8hpp.html">stout/hashmap.hpp</a>&gt;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="nothing_8hpp.html">stout/nothing.hpp</a>&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="option_8hpp.html">stout/option.hpp</a>&gt;</span></div><div class="line"><a name="l00
 031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceprocess.html">process</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">metrics</a> {</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics_1_1internal.html">   34</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceinternal.html">internal</a> {</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">   36</a></span>&#160;<span class="keyword"
 >class </span><a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a> : <span class="keyword">public</span> <a class="code" href="classprocess_1_1Process.html">Process</a>&lt;MetricsProcess&gt;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;  <span class="keyword">static</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>* <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a1b0e6141bb79047bf1247e27c2befcfd">create</a>(<span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a>&amp; authenticationRealm);</div><div class="line"><a name="l00040"></a><span class="lineno">   40<
 /span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">add</a>(<a class="code" href="classprocess_1_1Owned.html">Owned&lt;Metric&gt;</a> metric);</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> std::string&amp; <a class="code" href="namespaceos_1_1Shell.html#acfe16ef2b1146ad49a8651c0a457ce46">name</a>);</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <a class="code" hr
 ef="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">snapshot</a>(</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout);</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a481de823013045447009d4554fdaf69d">initialize</a>();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</s
 pan>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="keyword">static</span> std::string help();</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>(</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="classprocess_1_1Owned.html">Owned&lt;RateLimiter&gt;</a>&gt;&amp; _limiter,</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std
 ::string&gt;</a>&amp; _authenticationRealm)</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    : <a class="code" href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">ProcessBase</a>(<span class="stringliteral">&quot;metrics&quot;</span>),</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;      limiter(_limiter),</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;      authenticationRealm(_authenticationRealm)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  {}</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="comment">// Non-copyable, non-assignable.</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_
 1_1MetricsProcess.html">MetricsProcess</a>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp;);</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">MetricsProcess</a>&amp;);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;http::Response&gt;</a> _snapshot(</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;      <span class="keyword">const</span> <a class="code" href="structprocess_1_1http_1_1Request.html">http::Request</a>&
 amp; <a class="code" href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">request</a>,</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;http::authentication::Principal&gt;</a>&amp;);</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  <span class="comment">// TODO(bmahler): Make this static once we can move</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  <span class="comment">// capture with C++14.</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;  <a class="code" href="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; __snapshot(</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160
 ;      <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;      <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classprocess_1_1Future.html">Future&lt;double&gt;</a>&gt;&amp;&amp; metrics,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;      <a class="code" href="classhashmap.html">hashmap</a>&lt;std::string, <a class="code" href="classOption.html">Option</a>&lt;<a class="code" href="structprocess_1_1Statistics.html">Statistics&lt;double&gt;</a>&gt;&gt;&amp;&amp; <a class="code" href="namespacerouting_1_1link.html#a8486fce953717fcb949bfdc17a2dd3e1">statistics</a>);</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;  <span class="comment">// The 
 Owned&lt;Metric&gt; is an explicit copy of the Metric passed to &#39;add&#39;.</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;  <a class="code" href="classhashmap.html">hashmap&lt;std::string, Owned&lt;Metric&gt;</a>&gt; metrics;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="comment">// Used to rate limit the snapshot endpoint.</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;  <a class="code" href="classOption.html">Option&lt;Owned&lt;RateLimiter&gt;</a>&gt; limiter;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  <span class="comment">// The authentication realm that metrics HTTP endpoints are installed into.</span></div><div class="line"><a name
 ="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;std::string&gt;</a> authenticationRealm;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;};</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">// Global metrics process. Defined in process.cpp.</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">extern</span> <a class="code" href="structprocess_1_1PID.html">PID&lt;MetricsProcess&gt;</a> metrics;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;}  <span class="comment">
 // namespace internal {</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#a15af50f3f4dbcca2f7c619ccfbaa70b2">   95</a></span>&#160;<a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">add</a>(<span class="keyword">const</span> T&amp; metric)</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="comment">// The me
 trics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <span class="comment">// There is an explicit copy in this call to ensure we end up owning</span></div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;  <span class="comment">// the last copy of a Metric when we remove it.</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;      <a clas
 s="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a06759b57c213fa98c8d957e347f2a9b5">internal::MetricsProcess::add</a>,</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;      <a class="code" href="classprocess_1_1Owned.html">Owned&lt;Metric&gt;</a>(<span class="keyword">new</span> T(metric)));</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;}</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#ad561ce447753dc2edad5d52a8776a141">  109</a></span>&
 #160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;Nothing&gt;</a> <span class="keyword">remove</span>(<span class="keyword">const</span> <a class="code" href="classprocess_1_1metrics_1_1Metric.html">Metric</a>&amp; metric)</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc65
 3268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#ad5879be2708a6b45ee29fe4acfe0eece">internal::MetricsProcess::remove</a>,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;      metric.name());</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;}</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="namespaceprocess_1_1metrics.html#ae84bcc44d0cc377941cca
 b88b9cecdc7">  121</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classprocess_1_1Future.html">Future&lt;std::map&lt;std::string, double&gt;</a>&gt; <a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">snapshot</a>(</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">const</span> <a class="code" href="classOption.html">Option&lt;Duration&gt;</a>&amp; timeout)</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="comment">// The metrics process is instantiated in `process::initialize`.</span></div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <a class="code" href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a>();</div><div class="line"><a name="l
 00126"></a><span class="lineno">  126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="keywordflow">return</span> <a class="code" href="namespaceprocess.html#acfbc29404bc653268289691b0dd59e22">dispatch</a>(</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;      <a class="code" href="namespaceprocess_1_1metrics_1_1internal.html#aaa37243f659788386a13de558eba70a7">internal::metrics</a>,</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;      &amp;<a class="code" href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#aaedeb51396f59ab30f173b82c345b7fe">internal::MetricsProcess::snapshot</a>,</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;      timeout);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;}</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#1
 60;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;}  <span class="comment">// namespace metrics {</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;}  <span class="comment">// namespace process {</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#endif // __PROCESS_METRICS_METRICS_HPP__</span></div><div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; std::string &gt;</a></div></div>
 <div class="ttc" id="namespaceprocess_1_1http_html_ad8f400b5e54038df7e5662ec35da05fa"><div class="ttname"><a href="namespaceprocess_1_1http.html#ad8f400b5e54038df7e5662ec35da05fa">process::http::request</a></div><div class="ttdeci">Future&lt; Response &gt; request(const Request &amp;request, bool streamedResponse=false)</div><div class="ttdoc">Asynchronously sends an HTTP request to the process and returns the HTTP response once the entire res...</div></div>
 <div class="ttc" id="metric_8hpp_html"><div class="ttname"><a href="metric_8hpp.html">metric.hpp</a></div></div>
 <div class="ttc" id="classprocess_1_1ProcessBase_html_a318038bacd95e4260864533f7cfe12fd"><div class="ttname"><a href="classprocess_1_1ProcessBase.html#a318038bacd95e4260864533f7cfe12fd">process::ProcessBase::ProcessBase</a></div><div class="ttdeci">ProcessBase(const std::string &amp;id=&quot;&quot;)</div></div>
-<div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">process::metrics::internal::MetricsProcess</a></div><div class="ttdef"><b>Definition:</b> metrics.hpp:35</div></div>
+<div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html">process::metrics::internal::MetricsProcess</a></div><div class="ttdef"><b>Definition:</b> metrics.hpp:36</div></div>
 <div class="ttc" id="namespaceprocess_html_a6c9cd01950a98038b2a6df3e5066418f"><div class="ttname"><a href="namespaceprocess.html#a6c9cd01950a98038b2a6df3e5066418f">process::initialize</a></div><div class="ttdeci">bool initialize(const Option&lt; std::string &gt; &amp;delegate=None(), const Option&lt; std::string &gt; &amp;readwriteAuthenticationRealm=None(), const Option&lt; std::string &gt; &amp;readonlyAuthenticationRealm=None())</div><div class="ttdoc">Initialize the library. </div></div>
 <div class="ttc" id="classprocess_1_1metrics_1_1Metric_html"><div class="ttname"><a href="classprocess_1_1metrics_1_1Metric.html">process::metrics::Metric</a></div><div class="ttdef"><b>Definition:</b> metric.hpp:33</div></div>
 <div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html_ad5879be2708a6b45ee29fe4acfe0eece"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#ad5879be2708a6b45ee29fe4acfe0eece">process::metrics::internal::MetricsProcess::remove</a></div><div class="ttdeci">Future&lt; Nothing &gt; remove(const std::string &amp;name)</div></div>
@@ -70,7 +70,6 @@
 <div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html_a481de823013045447009d4554fdaf69d"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a481de823013045447009d4554fdaf69d">process::metrics::internal::MetricsProcess::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Invoked when a process gets spawned. </div></div>
 <div class="ttc" id="classprocess_1_1metrics_1_1internal_1_1MetricsProcess_html_a1b0e6141bb79047bf1247e27c2befcfd"><div class="ttname"><a href="classprocess_1_1metrics_1_1internal_1_1MetricsProcess.html#a1b0e6141bb79047bf1247e27c2befcfd">process::metrics::internal::MetricsProcess::create</a></div><div class="ttdeci">static MetricsProcess * create(const Option&lt; std::string &gt; &amp;authenticationRealm)</div></div>
 <div class="ttc" id="option_8hpp_html"><div class="ttname"><a href="option_8hpp.html">option.hpp</a></div></div>
-<div class="ttc" id="namespacecgroups_1_1devices_html_a22494291bc2cb89697dcd2b5f288bdd3"><div class="ttname"><a href="namespacecgroups_1_1devices.html#a22494291bc2cb89697dcd2b5f288bdd3">cgroups::devices::list</a></div><div class="ttdeci">Try&lt; std::vector&lt; Entry &gt; &gt; list(const std::string &amp;hierarchy, const std::string &amp;cgroup)</div></div>
 <div class="ttc" id="future_8hpp_html"><div class="ttname"><a href="future_8hpp.html">future.hpp</a></div></div>
 <div class="ttc" id="structprocess_1_1PID_html"><div class="ttname"><a href="structprocess_1_1PID.html">process::PID</a></div><div class="ttdoc">A &quot;process identifier&quot; used to uniquely identify a process when dispatching messages. </div><div class="ttdef"><b>Definition:</b> pid.hpp:279</div></div>
 <div class="ttc" id="namespaceinternal_html"><div class="ttname"><a href="namespaceinternal.html">internal</a></div><div class="ttdef"><b>Definition:</b> attributes.hpp:24</div></div>