<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
 | Generated by Apache Maven Doxia at 2021-06-15
 | Rendered using Apache Maven Stylus Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Apache Hadoop 3.3.1 &#x2013; The YARN Timeline Service v.2</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
        <meta name="Date-Revision-yyyymmdd" content="20210615" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                </head>
  <body class="composite">
    <div id="banner">
                        <a href="http://hadoop.apache.org/" id="bannerLeft">
                                        <img src="http://hadoop.apache.org/images/hadoop-logo.jpg" alt="" />
                </a>
                              <a href="http://www.apache.org/" id="bannerRight">
                                        <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
                                   <div class="xleft">
                          <a href="http://www.apache.org/" class="externalLink">Apache</a>
        &gt;
                  <a href="http://hadoop.apache.org/" class="externalLink">Hadoop</a>
        &gt;
                  <a href="../index.html">Apache Hadoop YARN</a>
        &gt;
                  <a href="index.html">Apache Hadoop 3.3.1</a>
        &gt;
        The YARN Timeline Service v.2
        </div>
            <div class="xright">            <a href="http://wiki.apache.org/hadoop" class="externalLink">Wiki</a>
            |
                <a href="https://gitbox.apache.org/repos/asf/hadoop.git" class="externalLink">git</a>
            |
                <a href="http://hadoop.apache.org/" class="externalLink">Apache Hadoop</a>
              
                                   &nbsp;| Last Published: 2021-06-15
              &nbsp;| Version: 3.3.1
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
                                                   <h5>General</h5>
                  <ul>
                  <li class="none">
                  <a href="../../index.html">Overview</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/SingleCluster.html">Single Node Setup</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/ClusterSetup.html">Cluster Setup</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/CommandsManual.html">Commands Reference</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/FileSystemShell.html">FileSystem Shell</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/Compatibility.html">Compatibility Specification</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/DownstreamDev.html">Downstream Developer's Guide</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/AdminCompatibilityGuide.html">Admin Compatibility Guide</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/InterfaceClassification.html">Interface Classification</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/filesystem/index.html">FileSystem Specification</a>
            </li>
          </ul>
                       <h5>Common</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/CLIMiniCluster.html">CLI Mini Cluster</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/FairCallQueue.html">Fair Call Queue</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/NativeLibraries.html">Native Libraries</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/Superusers.html">Proxy User</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/RackAwareness.html">Rack Awareness</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/SecureMode.html">Secure Mode</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/ServiceLevelAuth.html">Service Level Authorization</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/HttpAuthentication.html">HTTP Authentication</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/CredentialProviderAPI.html">Credential Provider API</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-kms/index.html">Hadoop KMS</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/Tracing.html">Tracing</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/UnixShellGuide.html">Unix Shell Guide</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/registry/index.html">Registry</a>
            </li>
          </ul>
                       <h5>HDFS</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsDesign.html">Architecture</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html">User Guide</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HDFSCommands.html">Commands Reference</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html">NameNode HA With QJM</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html">NameNode HA With NFS</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/ObserverNameNode.html">Observer NameNode</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/Federation.html">Federation</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/ViewFs.html">ViewFs</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/ViewFsOverloadScheme.html">ViewFsOverloadScheme</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html">Snapshots</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsEditsViewer.html">Edits Viewer</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsImageViewer.html">Image Viewer</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html">Permissions and HDFS</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsQuotaAdminGuide.html">Quotas and HDFS</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/LibHdfs.html">libhdfs (C API)</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/WebHDFS.html">WebHDFS (REST API)</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-hdfs-httpfs/index.html">HttpFS</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/ShortCircuitLocalReads.html">Short Circuit Local Reads</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/CentralizedCacheManagement.html">Centralized Cache Management</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html">NFS Gateway</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html">Rolling Upgrade</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/ExtendedAttributes.html">Extended Attributes</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/TransparentEncryption.html">Transparent Encryption</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsMultihoming.html">Multihoming</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html">Storage Policies</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/MemoryStorage.html">Memory Storage Support</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/SLGUserGuide.html">Synthetic Load Generator</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html">Erasure Coding</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HDFSDiskbalancer.html">Disk Balancer</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsUpgradeDomain.html">Upgrade Domain</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsDataNodeAdminGuide.html">DataNode Admin</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs-rbf/HDFSRouterFederation.html">Router Federation</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/HdfsProvidedStorage.html">Provided Storage</a>
            </li>
          </ul>
                       <h5>MapReduce</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html">Tutorial</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapredCommands.html">Commands Reference</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduce_Compatibility_Hadoop1_Hadoop2.html">Compatibility with 1.x</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/EncryptedShuffle.html">Encrypted Shuffle</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/PluggableShuffleAndPluggableSort.html">Pluggable Shuffle/Sort</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/DistributedCacheDeploy.html">Distributed Cache Deploy</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/SharedCacheSupport.html">Support for YARN Shared Cache</a>
            </li>
          </ul>
                       <h5>MapReduce REST APIs</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapredAppMasterRest.html">MR Application Master</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-hs/HistoryServerRest.html">MR History Server</a>
            </li>
          </ul>
                       <h5>YARN</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/YARN.html">Architecture</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/YarnCommands.html">Commands Reference</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html">Capacity Scheduler</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/FairScheduler.html">Fair Scheduler</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/ResourceManagerRestart.html">ResourceManager Restart</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html">ResourceManager HA</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/ResourceModel.html">Resource Model</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/NodeLabel.html">Node Labels</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/NodeAttributes.html">Node Attributes</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/WebApplicationProxy.html">Web Application Proxy</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/TimelineServer.html">Timeline Server</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html">Timeline Service V.2</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/WritingYarnApplications.html">Writing YARN Applications</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/YarnApplicationSecurity.html">YARN Application Security</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/NodeManager.html">NodeManager</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/DockerContainers.html">Running Applications in Docker Containers</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/RuncContainers.html">Running Applications in runC Containers</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/NodeManagerCgroups.html">Using CGroups</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/SecureContainer.html">Secure Containers</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/ReservationSystem.html">Reservation System</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/GracefulDecommission.html">Graceful Decommission</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/OpportunisticContainers.html">Opportunistic Containers</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/Federation.html">YARN Federation</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/SharedCache.html">Shared Cache</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/UsingGpus.html">Using GPU</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/UsingFPGA.html">Using FPGA</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/PlacementConstraints.html">Placement Constraints</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/YarnUI2.html">YARN UI2</a>
            </li>
          </ul>
                       <h5>YARN REST APIs</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/WebServicesIntro.html">Introduction</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html">Resource Manager</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/NodeManagerRest.html">Node Manager</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/TimelineServer.html#Timeline_Server_REST_API_v1">Timeline Server</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html#Timeline_Service_v.2_REST_API">Timeline Service V.2</a>
            </li>
          </ul>
                       <h5>YARN Service</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/yarn-service/Overview.html">Overview</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/yarn-service/QuickStart.html">QuickStart</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/yarn-service/Concepts.html">Concepts</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/yarn-service/YarnServiceAPI.html">Yarn Service API</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/yarn-service/ServiceDiscovery.html">Service Discovery</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-site/yarn-service/SystemServices.html">System Services</a>
            </li>
          </ul>
                       <h5>Hadoop Compatible File Systems</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-aliyun/tools/hadoop-aliyun/index.html">Aliyun OSS</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-aws/tools/hadoop-aws/index.html">Amazon S3</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-azure/index.html">Azure Blob Storage</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-azure-datalake/index.html">Azure Data Lake Storage</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-openstack/index.html">OpenStack Swift</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-cos/cloud-storage/index.html">Tencent COS</a>
            </li>
          </ul>
                       <h5>Auth</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-auth/index.html">Overview</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-auth/Examples.html">Examples</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-auth/Configuration.html">Configuration</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-auth/BuildingIt.html">Building</a>
            </li>
          </ul>
                       <h5>Tools</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-streaming/HadoopStreaming.html">Hadoop Streaming</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-archives/HadoopArchives.html">Hadoop Archives</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-archive-logs/HadoopArchiveLogs.html">Hadoop Archive Logs</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-distcp/DistCp.html">DistCp</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-gridmix/GridMix.html">GridMix</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-rumen/Rumen.html">Rumen</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-resourceestimator/ResourceEstimator.html">Resource Estimator Service</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-sls/SchedulerLoadSimulator.html">Scheduler Load Simulator</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/Benchmarking.html">Hadoop Benchmarking</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-dynamometer/Dynamometer.html">Dynamometer</a>
            </li>
          </ul>
                       <h5>Reference</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/release/">Changelog and Release Notes</a>
            </li>
                  <li class="none">
                  <a href="../../api/index.html">Java API docs</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/UnixShellAPI.html">Unix Shell API</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/Metrics.html">Metrics</a>
            </li>
          </ul>
                       <h5>Configuration</h5>
                  <ul>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/core-default.xml">core-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs/hdfs-default.xml">hdfs-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-hdfs-rbf/hdfs-rbf-default.xml">hdfs-rbf-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml">mapred-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-yarn/hadoop-yarn-common/yarn-default.xml">yarn-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-kms/kms-default.html">kms-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-hdfs-httpfs/httpfs-default.html">httpfs-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../../hadoop-project-dist/hadoop-common/DeprecatedProperties.html">Deprecated Properties</a>
            </li>
          </ul>
                                 <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
          <img alt="Built by Maven" src="./images/logos/maven-feather.png"/>
        </a>
                       
                               </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <!---
  Licensed 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. See accompanying LICENSE file.
-->
<h1>The YARN Timeline Service v.2</h1>
<ul>
<li><a href="#Overview">Overview</a>
<ul>
<li><a href="#Introduction">Introduction</a></li>
<li><a href="#Architecture">Architecture</a></li>
<li><a href="#Current_Status_and_Future_Plans">Current Status and Future Plans</a></li></ul></li>
<li><a href="#Deployment">Deployment</a>
<ul>
<li><a href="#Configurations">Configurations</a></li>
<li><a href="#Enabling_Timeline_Service_v.2">Enabling Timeline Service v.2</a></li>
<li><a href="#Upgrade_from_alpha1_to_GA">Upgrade from alpha1 to GA</a></li>
<li><a href="#Publishing_application_specific_data"> Publishing application specific data</a></li></ul></li>
<li><a href="#Timeline_Service_v.2_REST_API">Timeline Service v.2 REST API</a>
<ul>
<li><a href="#Root_path">Root path</a></li>
<li><a href="#Query_Flows">Query Flows</a></li>
<li><a href="#Query_Flow_Runs">Query Flow Runs</a></li>
<li><a href="#Query_Flow_Run">Query Flow Run</a></li>
<li><a href="#Query_Apps_for_a_flow">Query Apps for a flow</a></li>
<li><a href="#Query_Apps_for_a_flow_run">Query Apps for a flow run</a></li>
<li><a href="#Query_app">Query app</a></li>
<li><a href="#Query_generic_entities_with_in_the_scope_of_Application">Query generic entities with in the scope of Application</a></li>
<li><a href="#Query_generic_entities.">Query generic entities.</a></li>
<li><a href="#Query_generic_entity_with_in_the_scope_of_Application">Query generic entity with in the scope of Application</a></li>
<li><a href="#Query_generic_entity.">Query generic entity.</a></li>
<li><a href="#Query_generic_entity_types">Query generic entity types</a></li></ul></li>
<li><a href="#Aggregated_Log_Serving_for_Historical_Apps">Aggregated Log Serving for Historical Apps</a></li></ul>

<div class="section">
<h2><a name="Overview"></a>Overview</h2>
<div class="section">
<h3><a name="Introduction"></a>Introduction</h3>
<p>YARN Timeline Service v.2 is the next major iteration of Timeline Server, following v.1 and v.1.5. V.2 is created to address two major challenges of v.1.</p>
<div class="section">
<h4><a name="Scalability"></a>Scalability</h4>
<p>V.1 is limited to a single instance of writer/reader and storage, and does not scale well beyond small clusters. V.2 uses a more scalable distributed writer architecture and a scalable backend storage.</p>
<p>YARN Timeline Service v.2 separates the collection (writes) of data from serving (reads) of data. It uses distributed collectors, essentially one collector for each YARN application. The readers are separate instances that are dedicated to serving queries via REST API.</p>
<p>YARN Timeline Service v.2 chooses Apache HBase as the primary backing storage, as Apache HBase scales well to a large size while maintaining good response times for reads and writes.</p></div>
<div class="section">
<h4><a name="Usability_improvements"></a>Usability improvements</h4>
<p>In many cases, users are interested in information at the level of &#x201c;flows&#x201d; or logical groups of YARN applications. It is much more common to launch a set or series of YARN applications to complete a logical application. Timeline Service v.2 supports the notion of flows explicitly. In addition, it supports aggregating metrics at the flow level.</p>
<p>Also, information such as configuration and metrics is treated and supported as first-class citizens.</p>
<p>The following diagrams illustrates the relationship between different YARN entities modelling flows.</p>
<p><img src="./images/flow_hierarchy.png" alt="Flow Hierarchy" /></p></div></div>
<div class="section">
<h3><a name="Architecture"></a>Architecture</h3>
<p>YARN Timeline Service v.2 uses a set of collectors (writers) to write data to the backend storage. The collectors are distributed and co-located with the application masters to which they are dedicated. All data that belong to that application are sent to the application level timeline collectors with the exception of the resource manager timeline collector.</p>
<p>For a given application, the application master can write data for the application to the co-located timeline collectors (which is an NM auxiliary service in this release). In addition, node managers of other nodes that are running the containers for the application also write data to the timeline collector on the node that is running the application master.</p>
<p>The resource manager also maintains its own timeline collector. It emits only YARN-generic lifecycle events to keep its volume of writes reasonable.</p>
<p>The timeline readers are separate daemons separate from the timeline collectors, and they are dedicated to serving queries via REST API.</p>
<p>The following diagram illustrates the design at a high level.</p>
<p><img src="./images/timeline_v2.jpg" alt="Timeline Service v.2  architecture" /></p></div>
<div class="section">
<h3><a name="Current_Status_and_Future_Plans"></a><a name="Current_Status"></a>Current Status and Future Plans</h3>
<p>A complete end-to-end flow of writes and reads is functional, with Apache HBase as the backend. You should be able to start generating data. When enabled, all YARN-generic events are published as well as YARN system metrics such as CPU and memory. Furthermore, some applications including Distributed Shell and MapReduce can write per-framework data to YARN Timeline Service v.2.</p>
<p>The basic mode of accessing data is via REST. The REST API comes with a good number of useful and flexible query patterns (see below for more information). YARN Client has been integrated with ATSv2. This enables fetching application/attempt/container report from TimelineReader if details are not present in ResouceManager.</p>
<p>The collectors (writers) are currently embedded in the node managers as auxiliary services. The resource manager also has its dedicated in-process collector. The reader is currently a single instance. Currently, it is not possible to write to Timeline Service outside the context of a YARN application (i.e. no off-cluster client).</p>
<p>Kerberos Authentication is supported end to end. All communication to HBase can be kerberized. Refer <a href="#Security_Configuration">Security Configuration</a> for configs. Support for simple authorization has been added in terms of a configurable whitelist of users and groups who can read timeline data. Cluster admins are allowed by default to read timeline data.</p>
<p>When YARN Timeline Service v.2 is disabled, one can expect no functional or performance impact on any other existing functionality.</p>
<p>Road map includes</p>
<ul>

<li>More robust storage fault tolerance.</li>
<li>Support for off-cluster clients</li>
<li>Support for entity ACLs</li>
<li>Offline (time-based periodic) aggregation for flows, users, and queues for reporting and analysis</li>
<li>Migration and compatibility with v.1</li>
</ul></div></div>
<div class="section">
<h2><a name="Deployment"></a>Deployment</h2>
<div class="section">
<h3><a name="Configurations"></a>Configurations</h3>
<p>New configuration parameters that are introduced with v.2 are marked bold.</p>
<div class="section">
<h4><a name="Basic_configuration"></a>Basic configuration</h4>
<table border="0" class="bodyTable">
<thead>

<tr class="a">
<th align="left"> Configuration Property </th>
<th align="left"> Description </th></tr>
</thead><tbody>

<tr class="b">
<td align="left"> <tt>yarn.timeline-service.enabled</tt> </td>
<td align="left"> Indicate to clients whether Timeline service is enabled or not. If enabled, the <tt>TimelineClient</tt> library used by applications will post entities and events to the Timeline server. Defaults to <tt>false</tt>. </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.timeline-service.version</tt> </td>
<td align="left"> Indicate what is the current version of the running timeline service. For example, if &#x201c;yarn.timeline-service.version&#x201d; is 1.5, and &#x201c;yarn.timeline-service.enabled&#x201d; is true, it means the cluster will and must bring up the timeline service v.1.5 (and nothing else). On the client side, if the client uses the same version of timeline service, it must succeed. If the client chooses to use a smaller version in spite of this, then depending on how robust the compatibility story is between versions, the results may vary. Defaults to <tt>1.0f</tt>. </td></tr>
<tr class="b">
<td align="left"> <b><tt>yarn.timeline-service.writer.class</tt></b> </td>
<td align="left"> The class for the backend storage writer. Defaults to HBase storage writer. </td></tr>
<tr class="a">
<td align="left"> <b><tt>yarn.timeline-service.reader.class</tt></b> </td>
<td align="left"> The class for the backend storage reader. Defaults to HBase storage reader. </td></tr>
<tr class="b">
<td align="left"> <b><tt>yarn.system-metrics-publisher.enabled</tt></b> </td>
<td align="left"> The setting that controls whether yarn system metrics is published on the Timeline service or not by RM And NM. Defaults to <tt>false</tt>. </td></tr>
<tr class="a">
<td align="left"> <b><tt>yarn.timeline-service.schema.prefix</tt></b> </td>
<td align="left"> The schema prefix for hbase tables. Defaults to &#x201c;prod.&#x201d;. </td></tr>
</tbody>
</table></div>
<div class="section">
<h4><a name="Advanced_configuration"></a>Advanced configuration</h4>
<table border="0" class="bodyTable">
<thead>

<tr class="a">
<th align="left"> Configuration Property </th>
<th align="left"> Description </th></tr>
</thead><tbody>

<tr class="b">
<td align="left"> <tt>yarn.timeline-service.hostname</tt> </td>
<td align="left"> The hostname of the Timeline service web application. Defaults to <tt>0.0.0.0</tt> </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.timeline-service.reader.webapp.address</tt> </td>
<td align="left"> The http address of the Timeline Reader web application. Defaults to <tt>${yarn.timeline-service.hostname}:8188</tt>. </td></tr>
<tr class="b">
<td align="left"> <tt>yarn.timeline-service.reader.webapp.https.address</tt> </td>
<td align="left"> The https address of the Timeline Reader web application. Defaults to <tt>${yarn.timeline-service.hostname}:8190</tt>. </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.timeline-service.reader.bind-host</tt> </td>
<td align="left"> The actual address the timeline reader will bind to. If this optional address is set, reader server will bind to this address and the port specified in yarn.timeline-service.reader.webapp.address. This is most useful for making the service listen on all interfaces by setting to 0.0.0.0. </td></tr>
<tr class="b">
<td align="left"> <b><tt>yarn.timeline-service.hbase.configuration.file</tt></b> </td>
<td align="left"> Optional URL to an hbase-site.xml configuration file to be used to connect to the timeline-service hbase cluster. If empty or not specified, then the HBase configuration will be loaded from the classpath. When specified the values in the specified configuration file will override those from the ones that are present on the classpath. Defaults to <tt>null</tt>. </td></tr>
<tr class="a">
<td align="left"> <b><tt>yarn.timeline-service.writer.flush-interval-seconds</tt></b> </td>
<td align="left"> The setting that controls how often the timeline collector flushes the timeline writer. Defaults to <tt>60</tt>. </td></tr>
<tr class="b">
<td align="left"> <b><tt>yarn.timeline-service.app-collector.linger-period.ms</tt></b> </td>
<td align="left"> Time period till which the application collector will be alive in NM, after the application master container finishes. Defaults to <tt>60000</tt> (60 seconds). </td></tr>
<tr class="a">
<td align="left"> <b><tt>yarn.timeline-service.timeline-client.number-of-async-entities-to-merge</tt></b> </td>
<td align="left"> Time line V2 client tries to merge these many number of async entities (if available) and then call the REST ATS V2 API to submit. Defaults to <tt>10</tt>. </td></tr>
<tr class="b">
<td align="left"> <b><tt>yarn.timeline-service.hbase.coprocessor.app-final-value-retention-milliseconds</tt></b> </td>
<td align="left"> The setting that controls how long the final value of a metric of a completed app is retained before merging into the flow sum. Defaults to <tt>259200000</tt> (3 days). This should be set in the HBase cluster. </td></tr>
<tr class="a">
<td align="left"> <b><tt>yarn.rm.system-metrics-publisher.emit-container-events</tt></b> </td>
<td align="left"> The setting that controls whether yarn container metrics is published to the timeline server or not by RM. This configuration setting is for ATS V2. Defaults to <tt>false</tt>. </td></tr>
<tr class="b">
<td align="left"> <b><tt>yarn.nodemanager.emit-container-events</tt></b> </td>
<td align="left"> The setting that controls whether yarn container metrics is published to the timeline server or not by NM. This configuration setting is for ATS V2. Defaults to <tt>true</tt>. </td></tr>
</tbody>
</table></div>
<div class="section">
<h4><a name="Security_Configuration"></a>Security Configuration</h4>
<p>Security can be enabled by setting <tt>yarn.timeline-service.http-authentication.type</tt> to <tt>kerberos</tt>, after which the following configuration options are available:</p>
<table border="0" class="bodyTable">
<thead>

<tr class="a">
<th align="left"> Configuration Property </th>
<th align="left"> Description </th></tr>
</thead><tbody>

<tr class="b">
<td align="left"> <tt>yarn.timeline-service.http-authentication.type</tt> </td>
<td align="left"> Defines authentication used for the timeline server(collector/reader) HTTP endpoint. Supported values are: <tt>simple</tt> / <tt>kerberos</tt> / #AUTHENTICATION_HANDLER_CLASSNAME#. Defaults to <tt>simple</tt>. </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.timeline-service.http-authentication.simple.anonymous.allowed</tt> </td>
<td align="left"> Indicates if anonymous requests are allowed by the timeline server when using &#x2018;simple&#x2019; authentication. Defaults to <tt>true</tt>. </td></tr>
<tr class="b">
<td align="left"> <tt>yarn.timeline-service.http-authentication.kerberos.principal</tt> </td>
<td align="left"> The Kerberos principal to be used for the Timeline Server(Collector/Reader) HTTP endpoint. </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.timeline-service.http-authentication.kerberos.keytab</tt> </td>
<td align="left"> The Kerberos keytab to be used for the Timeline Server(Collector/Reader) HTTP endpoint.. </td></tr>
<tr class="b">
<td align="left"> <tt>yarn.timeline-service.principal</tt> </td>
<td align="left"> The Kerberos principal for the timeline reader. NM principal would be used for timeline collector as it runs as an auxiliary service inside NM. </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.timeline-service.keytab</tt> </td>
<td align="left"> The Kerberos keytab for the timeline reader. NM keytab would be used for timeline collector as it runs as an auxiliary service inside NM. </td></tr>
<tr class="b">
<td align="left"> <tt>yarn.timeline-service.delegation.key.update-interval</tt> </td>
<td align="left"> Defaults to <tt>86400000</tt> (1 day). </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.timeline-service.delegation.token.renew-interval</tt> </td>
<td align="left"> Defaults to <tt>86400000</tt> (1 day). </td></tr>
<tr class="b">
<td align="left"> <tt>yarn.timeline-service.delegation.token.max-lifetime</tt> </td>
<td align="left"> Defaults to <tt>604800000</tt> (7 days). </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.timeline-service.read.authentication.enabled</tt> </td>
<td align="left"> Enables or disables authorization checks for reading timeline service v2 data. Default is <tt>false</tt> which is disabled. </td></tr>
<tr class="b">
<td align="left"> <tt>yarn.timeline-service.read.allowed.users</tt> </td>
<td align="left"> Comma separated list of user, followed by space, then comma separated list of groups. It will allow this list of users and groups to read the data and reject everyone else. Default value is set to none. If authorization is enabled, then this configuration is mandatory.  </td></tr>
<tr class="a">
<td align="left"> <tt>yarn.webapp.filter-entity-list-by-user</tt> </td>
<td align="left"> Default is false. If set true and yarn.timeline-service.read.authentication.enabled is disabled, then listing of entities restricted to remote user entities only. It is YARN common configuration for listing APIs. Using this configuration TimelineReader authorize caller UGI with entity owner. If does not match, those entities will be removed from response.</td></tr>
</tbody>
</table></div>
<div class="section">
<h4><a name="Enabling_CORS_support"></a>Enabling CORS support</h4>
<p>To enable cross-origin support (CORS) for the Timeline Service v.2, please set the following configuration parameters:</p>
<p>In yarn-site.xml, set yarn.timeline-service.http-cross-origin.enabled to true.</p>
<p>In core-site.xml, add org.apache.hadoop.security.HttpCrossOriginFilterInitializer to hadoop.http.filter.initializers.</p>
<p>For more configurations used for cross-origin support, refer to <a href="../../hadoop-project-dist/hadoop-common/HttpAuthentication.html#CORS">HttpAuthentication</a>. Please note that yarn.timeline-service.http-cross-origin.enabled, if set to true, overrides hadoop.http.cross-origin.enabled.</p></div></div>
<div class="section">
<h3><a name="Enabling_Timeline_Service_v.2"></a><a name="Enabling_Timeline_Service_v2"></a>Enabling Timeline Service v.2</h3>
<div class="section">
<h4><a name="Preparing_Apache_HBase_cluster_for_storage"></a>Preparing Apache HBase cluster for storage</h4>
<p>There are a few steps to be done for preparing the storage for Timeline Service v.2:</p>
<p>Step 1) <a href="#Set_up_the_HBase_cluster">Set up the HBase cluster</a></p>
<p>Step 2) <a href="#Enable_the_coprocessor">Enable the coprocessor</a></p>
<p>Step 3) <a href="#Create_schema">Create the schema for Timeline Service v.2</a></p>
<p>Each step is explained in more detail below.</p>
<div class="section">
<h5><a name="Step_1.29_Set_up_the_HBase_cluster"></a><a name="Set_up_the_HBase_cluster"> </a>Step 1) Set up the HBase cluster</h5>
<p>The first part is to set up or pick an Apache HBase cluster to use as the storage cluster. The supported versions of Apache HBase are 1.2.6 (default) and 2.0.0-beta1. The 1.0.x versions do not work with Timeline Service v.2. By default, Hadoop releases are built with HBase 1.2.6. To use HBase 2.0.0-beta1, build from source with option -Dhbase.profile=2.0</p>
<p>HBase has different deployment modes. Refer to the HBase book for understanding them and pick a mode that is suitable for your setup. (<a class="externalLink" href="http://hbase.apache.org/book.html#standalone_dist">http://hbase.apache.org/book.html#standalone_dist</a>)</p></div>
<div class="section">
<h5><a name="Simple_deployment_for_HBase"></a>Simple deployment for HBase</h5>
<p>If you are intent on a simple deploy profile for the Apache HBase cluster where the data loading is light but the data needs to persist across node comings and goings, you could consider the &#x201c;Standalone HBase over HDFS&#x201d; deploy mode.</p>
<p>This is a useful variation on the standalone HBase setup and has all HBase daemons running inside one JVM but rather than persisting to the local filesystem, it persists to an HDFS instance. Writing to HDFS where data is replicated ensures that data is persisted across node comings and goings. To configure this standalone variant, edit your <tt>hbase-site.xml</tt> setting the <tt>hbase.rootdir</tt> to point at a directory in your HDFS instance but then set <tt>hbase.cluster.distributed</tt> to false. For example:</p>

<div>
<div>
<pre class="source">&lt;configuration&gt;
  &lt;property&gt;
    &lt;name&gt;hbase.rootdir&lt;/name&gt;
    &lt;value&gt;hdfs://namenode.example.org:8020/hbase&lt;/value&gt;
  &lt;/property&gt;
  &lt;property&gt;
    &lt;name&gt;hbase.cluster.distributed&lt;/name&gt;
    &lt;value&gt;false&lt;/value&gt;
  &lt;/property&gt;
&lt;/configuration&gt;
</pre></div></div>

<p>For more details on this mode, refer to <a class="externalLink" href="http://hbase.apache.org/book.html#standalone.over.hdfs">http://hbase.apache.org/book.html#standalone.over.hdfs</a> .</p>
<p>Once you have an Apache HBase cluster ready to use, perform the following steps.</p></div>
<div class="section">
<h5><a name="Step_2.29_Enable_the_coprocessor"></a><a name="Enable_the_coprocessor"> </a>Step 2) Enable the coprocessor</h5>
<p>In this version, the coprocessor is loaded dynamically (table coprocessor for the <tt>flowrun</tt> table).</p>
<p>Copy the timeline service jar to HDFS from where HBase can load it. It is needed for the <tt>flowrun</tt> table creation in the schema creator. The default HDFS location is <tt>/hbase/coprocessor</tt>. For example,</p>

<div>
<div>
<pre class="source">hadoop fs -mkdir /hbase/coprocessor
hadoop fs -put hadoop-yarn-server-timelineservice-hbase-coprocessor-3.2.0-SNAPSHOT.jar
       /hbase/coprocessor/hadoop-yarn-server-timelineservice.jar
</pre></div></div>

<p>If you want to place the jar at a different location on hdfs, there also exists a yarn configuration setting called <tt>yarn.timeline-service.hbase.coprocessor.jar.hdfs.location</tt>. For example,</p>

<div>
<div>
<pre class="source">&lt;property&gt;
  &lt;name&gt;yarn.timeline-service.hbase.coprocessor.jar.hdfs.location&lt;/name&gt;
  &lt;value&gt;/custom/hdfs/path/jarName&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>
</div>
<div class="section">
<h5><a name="Step_3.29_Create_the_timeline_service_schema"></a><a name="Create_schema"> </a>Step 3) Create the timeline service schema</h5>
<p>The schema creation can be run on the hbase cluster which is going to store the timeline service tables. The schema creator tool requires both the timelineservice-hbase as well as the hbase-server jars. Hence, during schema creation, you need to ensure that the hbase classpath contains the yarn-timelineservice-hbase jar.</p>
<p>On the hbase cluster, you can get it from hdfs since we placed it there for the coprocessor in the step above.</p>

<div>
<div>
<pre class="source">   hadoop fs -get /hbase/coprocessor/hadoop-yarn-server-timelineservice-hbase-client-${project.version}.jar &lt;local-dir&gt;/.
   hadoop fs -get /hbase/coprocessor/hadoop-yarn-server-timelineservice-${project.version}.jar &lt;local-dir&gt;/.
   hadoop fs -get /hbase/coprocessor/hadoop-yarn-server-timelineservice-hbase-common-${project.version}.jar &lt;local-dir&gt;/.
</pre></div></div>

<p>Next, add it to the hbase classpath as follows:</p>

<div>
<div>
<pre class="source">   export HBASE_CLASSPATH=$HBASE_CLASSPATH:/home/yarn/hadoop-current/share/hadoop/yarn/timelineservice/hadoop-yarn-server-timelineservice-hbase-client-${project.version}.jar
   export HBASE_CLASSPATH=$HBASE_CLASSPATH:/home/yarn/hadoop-current/share/hadoop/yarn/timelineservice/hadoop-yarn-server-timelineservice-${project.version}.jar
   export HBASE_CLASSPATH=$HBASE_CLASSPATH:/home/yarn/hadoop-current/share/hadoop/yarn/timelineservice/hadoop-yarn-server-timelineservice-hbase-common-${project.version}.jar
</pre></div></div>

<p>Finally, run the schema creator tool to create the necessary tables:</p>

<div>
<div>
<pre class="source">    bin/hbase org.apache.hadoop.yarn.server.timelineservice.storage.TimelineSchemaCreator -create
</pre></div></div>

<p>The <tt>TimelineSchemaCreator</tt> tool supports a few options that may come handy especially when you are testing. For example, you can use <tt>-skipExistingTable</tt> (<tt>-s</tt> for short) to skip existing tables and continue to create other tables rather than failing the schema creation. By default, the tables will have a schema prefix of &#x201c;prod.&#x201d;. When no option or &#x2018;-help&#x2019; (&#x2018;-h&#x2019; for short) is provided, the command usage is printed. The options (-entityTableName, -appToflowTableName, -applicationTableName, -subApplicationTableName) will help to override the default table names. On using custom table names, The below corresponding configs with custom table name has to be set in hbase-site.xml configured at yarn.timeline-service.hbase.configuration.file.</p>

<div>
<div>
<pre class="source">yarn.timeline-service.app-flow.table.name
yarn.timeline-service.entity.table.name
yarn.timeline-service.application.table.name
yarn.timeline-service.subapplication.table.name
yarn.timeline-service.flowactivity.table.name
yarn.timeline-service.flowrun.table.name
yarn.timeline-service.domain.table.name

</pre></div></div>
</div></div>
<div class="section">
<h4><a name="Enabling_Timeline_Service_v.2"></a>Enabling Timeline Service v.2</h4>
<p>Following are the basic configurations to start Timeline service v.2:</p>

<div>
<div>
<pre class="source">&lt;property&gt;
  &lt;name&gt;yarn.timeline-service.version&lt;/name&gt;
  &lt;value&gt;2.0f&lt;/value&gt;
&lt;/property&gt;

&lt;property&gt;
  &lt;name&gt;yarn.timeline-service.enabled&lt;/name&gt;
  &lt;value&gt;true&lt;/value&gt;
&lt;/property&gt;

&lt;property&gt;
  &lt;name&gt;yarn.nodemanager.aux-services&lt;/name&gt;
  &lt;value&gt;mapreduce_shuffle,timeline_collector&lt;/value&gt;
&lt;/property&gt;

&lt;property&gt;
  &lt;name&gt;yarn.nodemanager.aux-services.timeline_collector.class&lt;/name&gt;
  &lt;value&gt;org.apache.hadoop.yarn.server.timelineservice.collector.PerNodeTimelineCollectorsAuxService&lt;/value&gt;
&lt;/property&gt;

&lt;property&gt;
  &lt;description&gt;The setting that controls whether yarn system metrics is
  published on the Timeline service or not by RM And NM.&lt;/description&gt;
  &lt;name&gt;yarn.system-metrics-publisher.enabled&lt;/name&gt;
  &lt;value&gt;true&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>

<p>If using an aux services manifest instead of setting aux services through the Configuration, ensure that the manifest services array includes the timeline_collector service as follows:</p>

<div>
<div>
<pre class="source">{
  &quot;services&quot;: [
    {
      &quot;name&quot;: &quot;timeline_collector&quot;,
      &quot;configuration&quot;: {
        &quot;properties&quot;: {
          &quot;class.name&quot;: &quot;org.apache.hadoop.yarn.server.timelineservice.collector.PerNodeTimelineCollectorsAuxService&quot;
        }
      }
    }
  ]
}
</pre></div></div>

<p>In addition, you may want to set the YARN cluster name to a reasonably unique value in case you are using multiple clusters to store data in the same Apache HBase storage:</p>

<div>
<div>
<pre class="source">&lt;property&gt;
  &lt;name&gt;yarn.resourcemanager.cluster-id&lt;/name&gt;
  &lt;value&gt;my_research_test_cluster&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>

<p>Also, add the <tt>hbase-site.xml</tt> configuration file to the client Hadoop cluster configuration so that it can write data to the Apache HBase cluster you are using, or set <tt>yarn.timeline-service.hbase.configuration.file</tt> to the file URL pointing to <tt>hbase-site.xml</tt> for the same. For example:</p>

<div>
<div>
<pre class="source">&lt;property&gt;
  &lt;description&gt; Optional URL to an hbase-site.xml configuration file to be
  used to connect to the timeline-service hbase cluster. If empty or not
  specified, then the HBase configuration will be loaded from the classpath.
  When specified the values in the specified configuration file will override
  those from the ones that are present on the classpath.
  &lt;/description&gt;
  &lt;name&gt;yarn.timeline-service.hbase.configuration.file&lt;/name&gt;
  &lt;value&gt;file:/etc/hbase/hbase-ats-dc1/hbase-site.xml&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>

<p>To configure both Timeline Service 1.5 and v.2, add the following property</p>

<div>
<div>
<pre class="source">&lt;property&gt;
  &lt;name&gt;yarn.timeline-service.versions&lt;/name&gt;
  &lt;value&gt;1.5f,2.0f&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>

<p>If the above is not configured, then it defaults to the version set in <tt>yarn.timeline-service.version</tt></p></div>
<div class="section">
<h4><a name="Running_Timeline_Service_v.2"></a>Running Timeline Service v.2</h4>
<p>Restart the resource manager as well as the node managers to pick up the new configuration. The collectors start within the resource manager and the node managers in an embedded manner.</p>
<p>The Timeline Service reader is a separate YARN daemon, and it can be started using the following syntax:</p>

<div>
<div>
<pre class="source">$ yarn-daemon.sh start timelinereader
</pre></div></div>
</div>
<div class="section">
<h4><a name="Enabling_MapReduce_to_write_to_Timeline_Service_v.2"></a>Enabling MapReduce to write to Timeline Service v.2</h4>
<p>To write MapReduce framework data to Timeline Service v.2, enable the following configuration in <tt>mapred-site.xml</tt>:</p>

<div>
<div>
<pre class="source">&lt;property&gt;
  &lt;name&gt;mapreduce.job.emit-timeline-data&lt;/name&gt;
  &lt;value&gt;true&lt;/value&gt;
&lt;/property&gt;
</pre></div></div>
</div></div>
<div class="section">
<h3><a name="Upgrade_from_alpha1_to_GA"></a>Upgrade from alpha1 to GA</h3>
<p>If you are currently running Timeline Service v2 alpha1 version, we recommend the following:</p>
<ul>

<li>

<p>Clear existing data in tables (truncate tables) since the row key for AppToFlow has changed.</p>
</li>
<li>

<p>The coprocessor is now a dynamically loaded table level coprocessor in GA. We recommend dropping the table, replacing the coprocessor jar on hdfs with the GA one, restarting the Region servers and recreating the <tt>flowrun</tt> table.</p>
</li>
</ul></div>
<div class="section">
<h3><a name="Publishing_application_specific_data"></a><a name="Publishing_of_application_specific_data"></a> Publishing application specific data</h3>
<p>This section is for YARN application developers that want to integrate with Timeline Service v.2.</p>
<p>Developers need to use the <tt>TimelineV2Client</tt> API to publish per-framework data to the Timeline Service v.2. The entity/object API for v.2 is different than v.1 as the object model is significantly changed. The v.2 timeline entity class is <tt>org.apache.hadoop.yarn.api.records.timelineservice.TimelineEntity</tt>.</p>
<p>Timeline Service v.2 <tt>putEntities</tt> methods come in 2 varieties: <tt>putEntities</tt> and <tt>putEntitiesAsync</tt>. The former is a blocking operation which must be used for writing more critical data (e.g. lifecycle events). The latter is a non-blocking operation. Note that neither has a return value.</p>
<p>Creating a <tt>TimelineV2Client</tt> involves passing in the application id to the static method <tt>TimelineV2Client.createTimelineClient</tt>.</p>
<p>For example:</p>

<div>
<div>
<pre class="source">// Create and start the Timeline client v.2
TimelineV2Client timelineClient =
    TimelineV2Client.createTimelineClient(appId);
timelineClient.init(conf);
timelineClient.start();

try {
  TimelineEntity myEntity = new TimelineEntity();
  myEntity.setType(&quot;MY_APPLICATION&quot;);
  myEntity.setId(&quot;MyApp1&quot;);
  // Compose other entity info

  // Blocking write
  timelineClient.putEntities(myEntity);

  TimelineEntity myEntity2 = new TimelineEntity();
  // Compose other info

  // Non-blocking write
  timelineClient.putEntitiesAsync(myEntity2);

} catch (IOException | YarnException e) {
  // Handle the exception
} finally {
  // Stop the Timeline client
  timelineClient.stop();
}
</pre></div></div>

<p>As evidenced above, you need to specify the YARN application id to be able to write to the Timeline Service v.2. Note that currently you need to be on the cluster to be able to write to the Timeline Service. For example, an application master or code in the container can write to the Timeline Service, while an off-cluster MapReduce job submitter cannot.</p>
<p>After creating the timeline v2 client, user also needs to set the timeline collector info which contains the collector address and collector token(only in secure mode) for the application. If <tt>AMRMClient</tt> is used then by registering the timeline client by calling <tt>AMRMClient#registerTimelineV2Client</tt> is sufficient.</p>

<div>
<div>
<pre class="source">amRMClient.registerTimelineV2Client(timelineClient)&#x37e;
</pre></div></div>

<p>Else address needs to be retrieved from the AM allocate response and need to be set in timeline client explicitly.</p>

<div>
<div>
<pre class="source">timelineClient.setTimelineCollectorInfo(response.getCollectorInfo());
</pre></div></div>

<p>You can create and publish your own entities, events, and metrics as with previous versions.</p>
<p>TimelineEntity objects have the following fields to hold timeline data:</p>
<ul>

<li>events: A set of TimelineEvents, ordered by the timestamp of the events in descending order. Each event contains one id and a map to store related information and is associated with one timestamp.</li>
<li>configs: A map from a string (config name) to a string (config value) representing all configs associated with the entity. Users can post the whole config or a part of it in the configs field. Supported for application and generic entities.</li>
<li>metrics: A set of metrics related to this entity. There are two types of metrics: single value metric and time series metric. Each metric item contains metric name (id), value, and what kind of aggregation operation should be performed in this metric (no&#xad;op by default). Supported for flow run, application and generic entities.</li>
<li>info: A map from a string (info key name) to an object (info value) to hold up related information for this entity. Supported for application and generic entities.</li>
<li>isrelatedtoEntities and relatestoEntities: It is also possible to represent relationships between entities. Each entity contains a relatestoEntities and isrelatedtoEntities fields to represent relationships to other entities. Both fields are represented by a map from a string (the name of the relationship) to a timeline entity. In this way relationships among entities can be represented as a DAG.</li>
</ul>
<p>Note that when posting timeline metrics, one may choose how each metric should be aggregated through the <tt>TimelineMetric#setRealtimeAggregationOp()</tt> method. The word &#x201c;aggregate&#x201d; here means applying one of the <tt>TimelineMetricOperation</tt> for a set of entities. Timeline service v2 provides built-in application level aggregation, which means aggregating metrics from different timeline entities within one YARN application. Right now, there are two kinds of operations supported in <tt>TimelineMetricOperation</tt>:</p>
<ul>

<li><tt>MAX</tt>: Getting the maximum value among all <tt>TimelineMetric</tt> objects.</li>
<li><tt>SUM</tt>: Getting the sum of all <tt>TimelineMetric</tt> objects.</li>
</ul>
<p>By default, the <tt>NOP</tt> operation means not performing any real-time aggregation operation.</p>
<p>Application frameworks must set the &#x201c;flow context&#x201d; whenever possible in order to take advantage of the flow support Timeline Service v.2 provides. The flow context consists of the following:</p>
<ul>

<li>Flow name: a string that identifies the high-level flow (e.g. &#x201c;distributed grep&#x201d; or any identifiable name that can uniquely represent the app)</li>
<li>Flow run id: a monotonically-increasing sequence of numbers that distinguish different runs of the same flow.</li>
<li>(optional) Flow version: a string identifier that denotes a version of the flow. Flow version can be used to identify changes in the flows, such as code changes or script changes.</li>
</ul>
<p>If the flow context is not specified, defaults are supplied for these attributes:</p>
<ul>

<li>Flow name: the YARN application name (or the application id if the name is not set)</li>
<li>Flow run id: the application start time in Unix time (milliseconds)</li>
<li>Flow version: &#x201c;1&#x201d;</li>
</ul>
<p>You can provide the flow context via YARN application tags:</p>

<div>
<div>
<pre class="source">ApplicationSubmissionContext appContext = app.getApplicationSubmissionContext();

// set the flow context as YARN application tags
Set&lt;String&gt; tags = new HashSet&lt;&gt;();
tags.add(TimelineUtils.generateFlowNameTag(&quot;distributed grep&quot;));
tags.add(Timelineutils.generateFlowVersionTag(&quot;3df8b0d6100530080d2e0decf9e528e57c42a90a&quot;));
tags.add(TimelineUtils.generateFlowRunIdTag(System.currentTimeMillis()));

appContext.setApplicationTags(tags);
</pre></div></div>

<p>Note : The Resource Manager converts YARN application tags to lowercase before storing them. Hence one should convert Flow names and Flow versions to lowercase before using them in REST API queries.</p></div></div>
<div class="section">
<h2><a name="Timeline_Service_v.2_REST_API"></a>Timeline Service v.2 REST API</h2>
<p>Querying Timeline Service v.2 is currently only supported via REST API; there is no API client implemented in the YARN libraries.</p>
<p>The v.2 REST API is implemented at under the path, <tt>/ws/v2/timeline/</tt> on the Timeline Service web service.</p>
<p>Here is an informal description of the API.</p>
<div class="section">
<h3><a name="Root_path"></a>Root path</h3>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/
</pre></div></div>

<p>Returns a JSON object describing the service instance and version information.</p>

<div>
<div>
<pre class="source">{
  &quot;About&quot;:&quot;Timeline Reader API&quot;,
  &quot;timeline-service-version&quot;:&quot;3.0.0-alpha1-SNAPSHOT&quot;,
  &quot;timeline-service-build-version&quot;:&quot;3.0.0-alpha1-SNAPSHOT from fb0acd08e6f0b030d82eeb7cbfa5404376313e60 by sjlee source checksum be6cba0e42417d53be16459e1685e7&quot;,
  &quot;timeline-service-version-built-on&quot;:&quot;2016-04-11T23:15Z&quot;,
  &quot;hadoop-version&quot;:&quot;3.0.0-alpha1-SNAPSHOT&quot;,
  &quot;hadoop-build-version&quot;:&quot;3.0.0-alpha1-SNAPSHOT from fb0acd08e6f0b030d82eeb7cbfa5404376313e60 by sjlee source checksum ee968fd0aedcc7384230ee3ca216e790&quot;,
  &quot;hadoop-version-built-on&quot;:&quot;2016-04-11T23:14Z&quot;
}
</pre></div></div>

<p>The following shows the supported queries on the REST API.</p></div>
<div class="section">
<h3><a name="Query_Flows"></a><a name="REST_API_LIST_FLOWS"></a>Query Flows</h3>
<p>With Query Flows API, you can retrieve a list of active flows that had runs most recently. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. If none of the flows match the predicates, an empty list will be returned.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/flows/

or

GET /ws/v2/timeline/flows/
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>limit</tt> - If specified, defines the number of flows to return. The maximum possible value for limit is maximum value of Long. If it is not specified or has a value less than 0, then limit will be considered as 100.</li>
<li><tt>daterange</tt> - If specified is given as &#x201c;[startdate]-[enddate]&#x201d;(i.e. start and end date separated by &#x201c;-&#x201d;) or single date. Dates are interpreted in the yyyyMMdd format and are assumed to be in UTC. If a single date is specified, all flows active on that date are returned. If both startdate and enddate is given, all flows active between start and end date will be returned. If only startdate is given, flows active on and after startdate are returned. If only enddate is given, flows active on and before enddate are returned.<br /> <i>For example</i> :<br /> &#x201c;daterange=20150711&#x201d; returns flows active on 20150711.<br /> &#x201c;daterange=20150711-20150714&#x201d; returns flows active between these 2 dates.<br /> &#x201c;daterange=20150711-&#x201d; returns flows active on and after 20150711.<br /> &#x201c;daterange=-20150711&#x201d; returns flows active on and before 20150711.<br /></li>
<li><tt>fromid</tt> -  If specified, retrieve the next set of flows from the given fromid. The set of entities retrieved is inclusive of specified fromid. fromid should be taken from the value associated with FROM_ID info key in flow entity response which was sent earlier.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">[
  {
    &quot;metrics&quot;: [],
    &quot;events&quot;: [],
    &quot;id&quot;: &quot;test-cluster/1460419200000/sjlee@ds-date&quot;,
    &quot;type&quot;: &quot;YARN_FLOW_ACTIVITY&quot;,
    &quot;createdtime&quot;: 0,
    &quot;flowruns&quot;: [
      {
        &quot;metrics&quot;: [],
        &quot;events&quot;: [],
        &quot;id&quot;: &quot;sjlee@ds-date/1460420305659&quot;,
        &quot;type&quot;: &quot;YARN_FLOW_RUN&quot;,
        &quot;createdtime&quot;: 0,
        &quot;info&quot;: {
          &quot;SYSTEM_INFO_FLOW_VERSION&quot;: &quot;1&quot;,
          &quot;SYSTEM_INFO_FLOW_RUN_ID&quot;: 1460420305659,
          &quot;SYSTEM_INFO_FLOW_NAME&quot;: &quot;ds-date&quot;,
          &quot;SYSTEM_INFO_USER&quot;: &quot;sjlee&quot;
        },
        &quot;isrelatedto&quot;: {},
        &quot;relatesto&quot;: {}
      },
      {
        &quot;metrics&quot;: [],
        &quot;events&quot;: [],
        &quot;id&quot;: &quot;sjlee@ds-date/1460420587974&quot;,
        &quot;type&quot;: &quot;YARN_FLOW_RUN&quot;,
        &quot;createdtime&quot;: 0,
        &quot;info&quot;: {
          &quot;SYSTEM_INFO_FLOW_VERSION&quot;: &quot;1&quot;,
          &quot;SYSTEM_INFO_FLOW_RUN_ID&quot;: 1460420587974,
          &quot;SYSTEM_INFO_FLOW_NAME&quot;: &quot;ds-date&quot;,
          &quot;SYSTEM_INFO_USER&quot;: &quot;sjlee&quot;
        },
        &quot;isrelatedto&quot;: {},
        &quot;relatesto&quot;: {}
      }
    ],
    &quot;info&quot;: {
      &quot;SYSTEM_INFO_CLUSTER&quot;: &quot;test-cluster&quot;,
      &quot;UID&quot;: &quot;test-cluster!sjlee!ds-date&quot;,
      &quot;FROM_ID&quot;: &quot;test-cluster!1460419200000!sjlee!ds-date&quot;,
      &quot;SYSTEM_INFO_FLOW_NAME&quot;: &quot;ds-date&quot;,
      &quot;SYSTEM_INFO_DATE&quot;: 1460419200000,
      &quot;SYSTEM_INFO_USER&quot;: &quot;sjlee&quot;
    },
    &quot;isrelatedto&quot;: {},
    &quot;relatesto&quot;: {}
  }
]
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200 (OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_Flow_Runs"></a><a name="REST_API_LIST_FLOW_RUNS"></a>Query Flow Runs</h3>
<p>With Query Flow Runs API, you can drill further down to get the runs (specific instances) of a given flow. This returns the most recent runs that belong to the given flow. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. If none of the flow runs match the predicates, an empty list will be returned.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/users/{user name}/flows/{flow name}/runs/

or

GET /ws/v2/timeline/users/{user name}/flows/{flow name}/runs/
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>limit</tt> - If specified, defines the number of flows to return. The maximum possible value for limit is maximum value of Long. If it is not specified or has a value less than 0, then limit will be considered as 100.</li>
<li><tt>createdtimestart</tt> - If specified, then only flow runs started after this timestamp are returned.</li>
<li><tt>createdtimeend</tt> -  If specified, then only flow runs started before this timestamp are returned.</li>
<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form :<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> If metricstoretrieve is specified, metrics will be retrieved irrespective of whether <tt>METRICS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>fields</tt> - Specifies which fields to retrieve. For querying flow runs, only <tt>ALL</tt> or <tt>METRICS</tt> are valid fields. Other fields will lead to HTTP 400 (Bad Request) response. If not specified, in response, id, type, createdtime and info fields will be returned.</li>
<li><tt>fromid</tt> -  If specified, retrieve the next set of flow run entities from the given fromid. The set of entities retrieved is inclusive of specified fromid. fromid should be taken from the value associated with FROM_ID info key in flow entity response which was sent earlier.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">[
  {
    &quot;metrics&quot;: [],
    &quot;events&quot;: [],
    &quot;id&quot;: &quot;sjlee@ds-date/1460420587974&quot;,
    &quot;type&quot;: &quot;YARN_FLOW_RUN&quot;,
    &quot;createdtime&quot;: 1460420587974,
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;test-cluster!sjlee!ds-date!1460420587974&quot;,
      &quot;FROM_ID&quot;: &quot;test-cluster!sjlee!ds-date!1460420587974&quot;,
      &quot;SYSTEM_INFO_FLOW_RUN_ID&quot;: 1460420587974,
      &quot;SYSTEM_INFO_FLOW_NAME&quot;: &quot;ds-date&quot;,
      &quot;SYSTEM_INFO_FLOW_RUN_END_TIME&quot;: 1460420595198,
      &quot;SYSTEM_INFO_USER&quot;: &quot;sjlee&quot;
    },
    &quot;isrelatedto&quot;: {},
    &quot;relatesto&quot;: {}
  },
  {
    &quot;metrics&quot;: [],
    &quot;events&quot;: [],
    &quot;id&quot;: &quot;sjlee@ds-date/1460420305659&quot;,
    &quot;type&quot;: &quot;YARN_FLOW_RUN&quot;,
    &quot;createdtime&quot;: 1460420305659,
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;test-cluster!sjlee!ds-date!1460420305659&quot;,
      &quot;FROM_ID&quot;: &quot;test-cluster!sjlee!ds-date!1460420305659&quot;,
      &quot;SYSTEM_INFO_FLOW_RUN_ID&quot;: 1460420305659,
      &quot;SYSTEM_INFO_FLOW_NAME&quot;: &quot;ds-date&quot;,
      &quot;SYSTEM_INFO_FLOW_RUN_END_TIME&quot;: 1460420311966,
      &quot;SYSTEM_INFO_USER&quot;: &quot;sjlee&quot;
    },
    &quot;isrelatedto&quot;: {},
    &quot;relatesto&quot;: {}
  }
]
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200 (OK) response is returned.</li>
<li>If any problem occurs in parsing request or if an invalid field is specified in fields query param, HTTP 400 (Bad Request) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_Flow_Run"></a><a name="REST_API_LIST_FLOW_RUN"></a>Query Flow Run</h3>
<p>With this API, you can query a specific flow run identified by cluster, user, flow name and run id. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. Metrics are returned by default while querying individual flow runs.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/users/{user name}/flows/{flow name}/runs/{run id}

or

GET /ws/v2/timeline/users/{user name}/flows/{flow name}/runs/{run id}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form :<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">{
  &quot;metrics&quot;: [
    {
      &quot;type&quot;: &quot;SINGLE_VALUE&quot;,
      &quot;id&quot;: &quot;org.apache.hadoop.mapreduce.lib.input.FileInputFormatCounter:BYTES_READ&quot;,
      &quot;aggregationOp&quot;: &quot;NOP&quot;,
      &quot;values&quot;: {
        &quot;1465246377261&quot;: 118
      }
    },
    {
      &quot;type&quot;: &quot;SINGLE_VALUE&quot;,
      &quot;id&quot;: &quot;org.apache.hadoop.mapreduce.lib.output.FileOutputFormatCounter:BYTES_WRITTEN&quot;,
      &quot;aggregationOp&quot;: &quot;NOP&quot;,
      &quot;values&quot;: {
        &quot;1465246377261&quot;: 97
      }
    }
  ],
  &quot;events&quot;: [],
  &quot;id&quot;: &quot;varun@QuasiMonteCarlo/1465246348599&quot;,
  &quot;type&quot;: &quot;YARN_FLOW_RUN&quot;,
  &quot;createdtime&quot;: 1465246348599,
  &quot;isrelatedto&quot;: {},
  &quot;info&quot;: {
    &quot;UID&quot;:&quot;yarn-cluster!varun!QuasiMonteCarlo!1465246348599&quot;,
    &quot;FROM_ID&quot;:&quot;yarn-cluster!varun!QuasiMonteCarlo!1465246348599&quot;,
    &quot;SYSTEM_INFO_FLOW_RUN_END_TIME&quot;:1465246378051,
    &quot;SYSTEM_INFO_FLOW_NAME&quot;:&quot;QuasiMonteCarlo&quot;,
    &quot;SYSTEM_INFO_USER&quot;:&quot;varun&quot;,
    &quot;SYSTEM_INFO_FLOW_RUN_ID&quot;:1465246348599
  },
  &quot;relatesto&quot;: {}
}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200(OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>If flow run for the given flow run id cannot be found, HTTP 404 (Not Found) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_Apps_for_a_flow"></a><a name="REST_API_LIST_FLOW_APPS"></a>Query Apps for a flow</h3>
<p>With this API, you can query all the YARN applications that are part of a specific flow. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. If the number of matching applications are more than the limit, the most recent apps up to the limit will be returned. If none of the apps match the predicates, an empty list will be returned.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/users/{user name}/flows/{flow name}/apps

or

GET /ws/v2/timeline/users/{user name}/flows/{flow name}/apps
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>limit</tt> - If specified, defines the number of applications to return. The maximum possible value for limit is maximum value of Long. If it is not specified or has a value less than 0, then limit will be considered as 100.</li>
<li><tt>createdtimestart</tt> - If specified, then only applications created after this timestamp are returned.</li>
<li><tt>createdtimeend</tt> -  If specified, then only applications created before this timestamp are returned.</li>
<li><tt>relatesto</tt> - If specified, matched applications must relate to or not relate to given entities associated with a entity type. relatesto is represented as an expression of the form :<br /> &#x201c;(&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;,&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;) &lt;op&gt; !(&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;,&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;)&#x201d;.<br /> If relatesto expression has entity type - entity id(s) relations specified within enclosing brackets proceeding &#x201c;!&#x201d;, this means apps with these relations in its relatesto field, will not be returned. For expressions or subexpressions without &#x201c;!&#x201d;, all apps which have the specified relations in its relatesto field, will be returned. &#x201c;op&#x201d; is a logical operator and can be either AND or OR. entity type can be followed by any number of entity id(s). And we can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions. Brackets can be used to club expressions together.<br /> <i>For example</i> : relatesto can be &#x201c;(((type1:id1:id2:id3,type3:id9) AND !(type2:id7:id8)) OR (type1:id4))&#x201d;.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>isrelatedto</tt> - If specified, matched applications must be related to or not related to given entities associated with a entity type. isrelatedto is represented in the same form as relatesto.</li>
<li><tt>infofilters</tt> - If specified, matched applications must have exact matches to the given info key and must be either equal or not equal to given value. The info key is a string but value can be any object. infofilters are represented as an expression of the form :<br /> &#x201c;(&lt;key&gt; &lt;compareop&gt; &lt;value&gt;) &lt;op&gt; (&lt;key&gt; &lt;compareop&gt; &lt;value&gt;)&#x201d;.<br /> Here op can be either of AND or OR. And compareop can be either of &#x201c;eq&#x201d;, &#x201c;ne&#x201d; or &#x201c;ene&#x201d;.<br /> &#x201c;eq&#x201d; means equals, &#x201c;ne&#x201d; means not equals and existence of key is not required for a match and &#x201c;ene&#x201d; means not equals but existence of key is required. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions.  Brackets can be used to club expressions together.<br /> <i>For example</i> : infofilters can be &#x201c;(((infokey1 eq value1) AND (infokey2 ne value1)) OR (infokey1 ene value3))&#x201d;.<br /> Note : If value is an object then value can be given in the form of JSON format without any space.<br /> <i>For example</i> : infofilters can be (infokey1 eq {&#x201c;&lt;key&gt;&#x201d;:&#x201c;&lt;value&gt;&#x201d;,&#x201c;&lt;key&gt;&#x201d;:&#x201c;&lt;value&gt;&#x201d;&#x2026;}).<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>conffilters</tt> - If specified, matched applications must have exact matches to the given config name and must be either equal or not equal to the given config value. Both the config name and value must be strings. conffilters are represented in the same form as infofilters.</li>
<li><tt>metricfilters</tt> - If specified, matched applications must have exact matches to the given metric and satisfy the specified relation with the metric value. Metric id must be a string and and metric value must be an integral value.  metricfilters are represented as an expression of the form :<br /> &#x201c;(&lt;metricid&gt; &lt;compareop&gt; &lt;metricvalue&gt;) &lt;op&gt; (&lt;metricid&gt; &lt;compareop&gt; &lt;metricvalue&gt;)&#x201d;.<br /> Here op can be either of AND or OR. And compareop can be either of &#x201c;eq&#x201d;, &#x201c;ne&#x201d;, &#x201c;ene&#x201d;, &#x201c;gt&#x201d;, &#x201c;ge&#x201d;, &#x201c;lt&#x201d; and &#x201c;le&#x201d;.<br /> &#x201c;eq&#x201d; means equals, &#x201c;ne&#x201d; means not equals and existence of metric is not required for a match, &#x201c;ene&#x201d; means not equals but existence of metric is required, &#x201c;gt&#x201d; means greater than, &#x201c;ge&#x201d; means greater than or equals, &#x201c;lt&#x201d; means less than and &#x201c;le&#x201d; means less than or equals. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions.  Brackets can be used to club expressions together.<br /> <i>For example</i> : metricfilters can be &#x201c;(((metric1 eq 50) AND (metric2 gt 40)) OR (metric1 lt 20))&#x201d;.<br /> This in essence is an expression equivalent to &#x201c;(metric1 == 50 AND metric2 &gt; 40) OR (metric1 &lt; 20)&#x201d;<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>eventfilters</tt> - If specified, matched applications must contain or not contain the given events depending on the expression. eventfilters is represented as an expression of the form :<br /> &#x201c;(&lt;eventid&gt;,&lt;eventid&gt;) &lt;op&gt; !(&lt;eventid&gt;,&lt;eventid&gt;,&lt;eventid&gt;)&#x201d;.<br /> Here, &#x201c;!&#x201d; means none of the comma-separated list of events within the enclosed brackets proceeding &#x201c;!&#x201d; must exist for a match to occur. If &#x201c;!&#x201d; is not specified, the specified events within the enclosed brackets must exist. op is a logical operator and can be either AND or OR. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions. Brackets can be used to club expressions together.<br /> <i>For example</i> : eventfilters can be &#x201c;(((event1,event2) AND !(event4)) OR (event3,event7,event5))&#x201d;.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> If metricstoretrieve is specified, metrics will be retrieved irrespective of whether <tt>METRICS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>confstoretrieve</tt> - If specified, defines which configs to retrieve or which ones not to retrieve and send back in response. confstoretrieve can be an expression of the form :<br /> (&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs not matching any of the prefixes will be retrieved.<br /> If confstoretrieve is specified, configs will be retrieved irrespective of whether <tt>CONFIGS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>fields</tt> - Specifies which fields to retrieve. Possible values for fields can be <tt>EVENTS</tt>, <tt>INFO</tt>, <tt>CONFIGS</tt>, <tt>METRICS</tt>, <tt>RELATES_TO</tt>, <tt>IS_RELATED_TO</tt> and <tt>ALL</tt>. All fields will be retrieved if <tt>ALL</tt> is specified. Multiple fields can be specified as a comma-separated list. If fields is not specified, in response, app id, type (equivalent to YARN_APPLICATION), app createdtime and UID in info field will be returned.</li>
<li><tt>metricslimit</tt> - If specified, defines the number of metrics to return. Considered only if fields contains METRICS/ALL or metricstoretrieve is specified. Ignored otherwise. The maximum possible value for metricslimit can be maximum value of Integer. If it is not specified or has a value less than 1, and metrics have to be retrieved, then metricslimit will be considered as 1 i.e. latest single value of metric(s) will be returned.</li>
<li><tt>metricstimestart</tt> - If specified, then metrics for the entity after this timestamp are returned.</li>
<li><tt>metricstimeend</tt> - If specified, then metrics for the entity before this timestamp are returned.</li>
<li><tt>fromid</tt> -  If specified, retrieve the next set of application entities from the given fromid. The set of entities retrieved is inclusive of specified fromid. fromid should be taken from the value associated with FROM_ID info key in flow entity response which was sent earlier.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">[
  {
    &quot;metrics&quot;: [ ],
    &quot;events&quot;: [ ],
    &quot;type&quot;: &quot;YARN_APPLICATION&quot;,
    &quot;id&quot;: &quot;application_1465246237936_0001&quot;,
    &quot;createdtime&quot;: 1465246348599,
    &quot;isrelatedto&quot;: { },
    &quot;configs&quot;: { },
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;yarn-cluster!application_1465246237936_0001&quot;
      &quot;FROM_ID&quot;: &quot;yarn-cluster!varun!QuasiMonteCarlo!1465246348599!application_1465246237936_0001&quot;,
    },
    &quot;relatesto&quot;: { }
  },
  {
    &quot;metrics&quot;: [ ],
    &quot;events&quot;: [ ],
    &quot;type&quot;: &quot;YARN_APPLICATION&quot;,
    &quot;id&quot;: &quot;application_1464983628730_0005&quot;,
    &quot;createdtime&quot;: 1465033881959,
    &quot;isrelatedto&quot;: { },
    &quot;configs&quot;: { },
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;yarn-cluster!application_1464983628730_0005&quot;
      &quot;FROM_ID&quot;: &quot;yarn-cluster!varun!QuasiMonteCarlo!1465246348599!application_1464983628730_0005&quot;,
    },
    &quot;relatesto&quot;: { }
  }
]
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200 (OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_Apps_for_a_flow_run"></a><a name="REST_API_LIST_FLOWRUN_APPS"></a>Query Apps for a flow run</h3>
<p>With this API, you can query all the YARN applications that are part of a specific flow run. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. If number of matching applications are more than the limit, the most recent apps up to the limit will be returned. If none of the apps match the predicates, an empty list will be returned.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/users/{user name}/flows/{flow name}/runs/{run id}/apps

or

GET /ws/v2/timeline/users/{user name}/flows/{flow name}/runs/{run id}/apps/
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>limit</tt> - If specified, defines the number of applications to return. The maximum possible value for limit is maximum value of Long. If it is not specified or has a value less than 0, then limit will be considered as 100.</li>
<li><tt>createdtimestart</tt> - If specified, then only applications created after this timestamp are returned.</li>
<li><tt>createdtimeend</tt> -  If specified, then only applications created before this timestamp are returned.</li>
<li><tt>relatesto</tt> - If specified, matched applications must relate to or not relate to given entities associated with a entity type. relatesto is represented as an expression of the form :<br /> &#x201c;(&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;,&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;) &lt;op&gt; !(&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;,&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;)&#x201d;.<br /> If relatesto expression has entity type - entity id(s) relations specified within enclosing brackets proceeding &#x201c;!&#x201d;, this means apps with these relations in its relatesto field, will not be returned. For expressions or subexpressions without &#x201c;!&#x201d;, all apps which have the specified relations in its relatesto field, will be returned. &#x201c;op&#x201d; is a logical operator and can be either AND or OR. entity type can be followed by any number of entity id(s). And we can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions. Brackets can be used to club expressions together.<br /> <i>For example</i> : relatesto can be &#x201c;(((type1:id1:id2:id3,type3:id9) AND !(type2:id7:id8)) OR (type1:id4))&#x201d;.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>isrelatedto</tt> - If specified, matched applications must be related to or not related to given entities associated with a entity type. isrelatedto is represented in the same form as relatesto.</li>
<li><tt>infofilters</tt> - If specified, matched applications must have exact matches to the given info key and must be either equal or not equal to given value. The info key is a string but value can be any object. infofilters are represented as an expression of the form :<br /> &#x201c;(&lt;key&gt; &lt;compareop&gt; &lt;value&gt;) &lt;op&gt; (&lt;key&gt; &lt;compareop&gt; &lt;value&gt;)&#x201d;.<br /> Here op can be either of AND or OR. And compareop can be either of &#x201c;eq&#x201d;, &#x201c;ne&#x201d; or &#x201c;ene&#x201d;.<br /> &#x201c;eq&#x201d; means equals, &#x201c;ne&#x201d; means not equals and existence of key is not required for a match and &#x201c;ene&#x201d; means not equals but existence of key is required. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions.  Brackets can be used to club expressions together.<br /> <i>For example</i> : infofilters can be &#x201c;(((infokey1 eq value1) AND (infokey2 ne value1)) OR (infokey1 ene value3))&#x201d;.<br /> Note : If value is an object then value can be given in the form of JSON format without any space.<br /> <i>For example</i> : infofilters can be (infokey1 eq {&#x201c;&lt;key&gt;&#x201d;:&#x201c;&lt;value&gt;&#x201d;,&#x201c;&lt;key&gt;&#x201d;:&#x201c;&lt;value&gt;&#x201d;&#x2026;}).<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>conffilters</tt> - If specified, matched applications must have exact matches to the given config name and must be either equal or not equal to the given config value. Both the config name and value must be strings. conffilters are represented in the same form as infofilters.</li>
<li><tt>metricfilters</tt> - If specified, matched applications must have exact matches to the given metric and satisfy the specified relation with the metric value. Metric id must be a string and and metric value must be an integral value.  metricfilters are represented as an expression of the form :<br /> &#x201c;(&lt;metricid&gt; &lt;compareop&gt; &lt;metricvalue&gt;) &lt;op&gt; (&lt;metricid&gt; &lt;compareop&gt; &lt;metricvalue&gt;)&#x201d;.<br /> Here op can be either of AND or OR. And compareop can be either of &#x201c;eq&#x201d;, &#x201c;ne&#x201d;, &#x201c;ene&#x201d;, &#x201c;gt&#x201d;, &#x201c;ge&#x201d;, &#x201c;lt&#x201d; and &#x201c;le&#x201d;.<br /> &#x201c;eq&#x201d; means equals, &#x201c;ne&#x201d; means not equals and existence of metric is not required for a match, &#x201c;ene&#x201d; means not equals but existence of metric is required, &#x201c;gt&#x201d; means greater than, &#x201c;ge&#x201d; means greater than or equals, &#x201c;lt&#x201d; means less than and &#x201c;le&#x201d; means less than or equals. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions.  Brackets can be used to club expressions together.<br /> <i>For example</i> : metricfilters can be &#x201c;(((metric1 eq 50) AND (metric2 gt 40)) OR (metric1 lt 20))&#x201d;.<br /> This in essence is an expression equivalent to &#x201c;(metric1 == 50 AND metric2 &gt; 40) OR (metric1 &lt; 20)&#x201d;<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>eventfilters</tt> - If specified, matched applications must contain or not contain the given events depending on the expression. eventfilters is represented as an expression of the form :<br /> &#x201c;(&lt;eventid&gt;,&lt;eventid&gt;) &lt;op&gt; !(&lt;eventid&gt;,&lt;eventid&gt;,&lt;eventid&gt;)&#x201d;.<br /> Here, &#x201c;!&#x201d; means none of the comma-separated list of events within the enclosed brackets proceeding &#x201c;!&#x201d; must exist for a match to occur. If &#x201c;!&#x201d; is not specified, the specified events within the enclosed brackets must exist. op is a logical operator and can be either AND or OR. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions. Brackets can be used to club expressions together.<br /> <i>For example</i> : eventfilters can be &#x201c;(((event1,event2) AND !(event4)) OR (event3,event7,event5))&#x201d;.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form :<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> If metricstoretrieve is specified, metrics will be retrieved irrespective of whether <tt>METRICS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>confstoretrieve</tt> - If specified, defines which configs to retrieve or which ones not to retrieve and send back in response. confstoretrieve can be an expression of the form :<br /> (&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form :<br /> !(&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs not matching any of the prefixes will be retrieved.<br /> If confstoretrieve is specified, configs will be retrieved irrespective of whether <tt>CONFIGS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>fields</tt> - Specifies which fields to retrieve. Possible values for fields can be <tt>EVENTS</tt>, <tt>INFO</tt>, <tt>CONFIGS</tt>, <tt>METRICS</tt>, <tt>RELATES_TO</tt>, <tt>IS_RELATED_TO</tt> and <tt>ALL</tt>. All fields will be retrieved if <tt>ALL</tt> is specified. Multiple fields can be specified as a comma-separated list. If fields is not specified, in response, app id, type (equivalent to YARN_APPLICATION), app createdtime and UID in info field will be returned.</li>
<li><tt>metricslimit</tt> - If specified, defines the number of metrics to return. Considered only if fields contains METRICS/ALL or metricstoretrieve is specified. Ignored otherwise. The maximum possible value for metricslimit can be maximum value of Integer. If it is not specified or has a value less than 1, and metrics have to be retrieved, then metricslimit will be considered as 1 i.e. latest single value of metric(s) will be returned.</li>
<li><tt>metricstimestart</tt> - If specified, then metrics for the entity after this timestamp are returned.</li>
<li><tt>metricstimeend</tt> - If specified, then metrics for the entity before this timestamp are returned.</li>
<li><tt>fromid</tt> -  If specified, retrieve the next set of application entities from the given fromid. The set of entities retrieved is inclusive of specified fromid. fromid should be taken from the value associated with FROM_ID info key in flow entity response which was sent earlier.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">[
  {
    &quot;metrics&quot;: [],
    &quot;events&quot;: [],
    &quot;id&quot;: &quot;application_1460419579913_0002&quot;,
    &quot;type&quot;: &quot;YARN_APPLICATION&quot;,
    &quot;createdtime&quot;: 1460419580171,
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;test-cluster!sjlee!ds-date!1460419580171!application_1460419579913_0002&quot;
      &quot;FROM_ID&quot;: &quot;test-cluster!sjlee!ds-date!1460419580171!application_1460419579913_0002&quot;,
    },
    &quot;configs&quot;: {},
    &quot;isrelatedto&quot;: {},
    &quot;relatesto&quot;: {}
  }
]
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200 (OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_app"></a><a name="REST_API_LIST_APP"></a>Query app</h3>
<p>With this API, you can query a single YARN application identified by the cluster and the application ID. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. Flow context information i.e. user, flow name and run id are not mandatory but if specified in query param can preclude the need for an additional operation to fetch flow context information based on cluster and app id.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/apps/{app id}

or

GET /ws/v2/timeline/apps/{app id}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>userid</tt> -  If specified, only applications belonging to this user will be returned. This query param must be specified along with flowname and flowrunid query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>flowname</tt> - Only applications belonging to this flowname will be returned. This query param must be specified along with userid and flowrunid query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>flowrunid</tt> - Only applications belonging to this flow run id will be returned. This query param must be specified along with userid and flowname query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form :<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> If metricstoretrieve is specified, metrics will be retrieved irrespective of whether <tt>METRICS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>confstoretrieve</tt> - If specified, defines which configs to retrieve or which ones not to retrieve and send back in response. confstoretrieve can be an expression of the form :<br /> (&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form :<br /> !(&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs not matching any of the prefixes will be retrieved.<br /> If confstoretrieve is specified, configs will be retrieved irrespective of whether <tt>CONFIGS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>fields</tt> - Specifies which fields to retrieve. Possible values for fields can be <tt>EVENTS</tt>, <tt>INFO</tt>, <tt>CONFIGS</tt>, <tt>METRICS</tt>, <tt>RELATES_TO</tt>, <tt>IS_RELATED_TO</tt> and <tt>ALL</tt>. All fields will be retrieved if <tt>ALL</tt> is specified. Multiple fields can be specified as a comma-separated list. If fields is not specified, in response, app id, type (equivalent to YARN_APPLICATION), app createdtime and UID in info field will be returned.</li>
<li><tt>metricslimit</tt> - If specified, defines the number of metrics to return. Considered only if fields contains METRICS/ALL or metricstoretrieve is specified. Ignored otherwise. The maximum possible value for metricslimit can be maximum value of Integer. If it is not specified or has a value less than 1, and metrics have to be retrieved, then metricslimit will be considered as 1 i.e. latest single value of metric(s) will be returned.</li>
<li><tt>metricstimestart</tt> - If specified, then metrics for the entity after this timestamp are returned.</li>
<li><tt>metricstimeend</tt> - If specified, then metrics for the entity before this timestamp are returned.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">{
  &quot;metrics&quot;: [],
  &quot;events&quot;: [],
  &quot;id&quot;: &quot;application_1460419579913_0002&quot;,
  &quot;type&quot;: &quot;YARN_APPLICATION&quot;,
  &quot;createdtime&quot;: 1460419580171,
  &quot;info&quot;: {
    &quot;UID&quot;: &quot;test-cluster!sjlee!ds-date!1460419580171!application_1460419579913_0002&quot;
  },
  &quot;configs&quot;: {},
  &quot;isrelatedto&quot;: {},
  &quot;relatesto&quot;: {}
}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200(OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>If flow context information cannot be retrieved or application for the given app id cannot be found, HTTP 404 (Not Found) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_generic_entities_with_in_the_scope_of_Application"></a><a name="REST_API_LIST_ENTITIES_WITH_IN_SCOPE_OF_APPLICATION"></a>Query generic entities with in the scope of Application</h3>
<p>With this API, you can query generic entities identified by cluster ID, application ID and per-framework entity type. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. Flow context information i.e. user, flow name and run id are not mandatory but if specified in query param can preclude the need for an additional operation to fetch flow context information based on cluster and app id.  If number of matching entities are more than the limit, the most recent entities up to the limit will be returned. This endpoint can be used to query containers, application attempts or any other generic entity which clients put into the backend. For instance, we can query containers by specifying entity type as <tt>YARN_CONTAINER</tt> and application attempts by specifying entity type as <tt>YARN_APPLICATION_ATTEMPT</tt>. If none of the entities match the predicates, an empty list will be returned.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/apps/{app id}/entities/{entity type}

or

GET /ws/v2/timeline/apps/{app id}/entities/{entity type}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>userid</tt> -  If specified, only entities belonging to this user will be returned. This query param must be specified along with flowname and flowrunid query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>flowname</tt> - If specified, only entities belonging to this flowname will be returned. This query param must be specified along with userid and flowrunid query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>flowrunid</tt> - If specified, only entities belonging to this flow run id will be returned. This query param must be specified along with userid and flowname query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>limit</tt> - If specified, defines the number of entities to return. The maximum possible value for limit is maximum value of Long. If it is not specified or has a value less than 0, then limit will be considered as 100.</li>
<li><tt>createdtimestart</tt> - If specified, then only entities created after this timestamp are returned.</li>
<li><tt>createdtimeend</tt> -  If specified, then only entities created before this timestamp are returned.</li>
<li><tt>relatesto</tt> - If specified, matched entities must relate to or not relate to given entities associated with a entity type. relatesto is represented as an expression of the form :<br /> &#x201c;(&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;,&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;) &lt;op&gt; !(&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;,&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;)&#x201d;.<br /> If relatesto expression has entity type - entity id(s) relations specified within enclosing brackets proceeding &#x201c;!&#x201d;, this means entities with these relations in its relatesto field, will not be returned. For expressions or subexpressions without &#x201c;!&#x201d;, all entities which have the specified relations in its relatesto field, will be returned. &#x201c;op&#x201d; is a logical operator and can be either AND or OR. entity type can be followed by any number of entity id(s). And we can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions. Brackets can be used to club expressions together.<br /> <i>For example</i> : relatesto can be &#x201c;(((type1:id1:id2:id3,type3:id9) AND !(type2:id7:id8)) OR (type1:id4))&#x201d;.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>isrelatedto</tt> - If specified, matched entities must be related to or not related to given entities associated with a entity type. isrelatedto is represented in the same form as relatesto.</li>
<li><tt>infofilters</tt> - If specified, matched entities must have exact matches to the given info key and must be either equal or not equal to given value. The info key is a string but value can be any object. infofilters are represented as an expression of the form :<br /> &#x201c;(&lt;key&gt; &lt;compareop&gt; &lt;value&gt;) &lt;op&gt; (&lt;key&gt; &lt;compareop&gt; &lt;value&gt;)&#x201d;.<br /> Here op can be either of AND or OR. And compareop can be either of &#x201c;eq&#x201d;, &#x201c;ne&#x201d; or &#x201c;ene&#x201d;.<br /> &#x201c;eq&#x201d; means equals, &#x201c;ne&#x201d; means not equals and existence of key is not required for a match and &#x201c;ene&#x201d; means not equals but existence of key is required. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions.  Brackets can be used to club expressions together.<br /> <i>For example</i> : infofilters can be &#x201c;(((infokey1 eq value1) AND (infokey2 ne value1)) OR (infokey1 ene value3))&#x201d;.<br /> Note : If value is an object then value can be given in the form of JSON format without any space.<br /> <i>For example</i> : infofilters can be (infokey1 eq {&#x201c;&lt;key&gt;&#x201d;:&#x201c;&lt;value&gt;&#x201d;,&#x201c;&lt;key&gt;&#x201d;:&#x201c;&lt;value&gt;&#x201d;&#x2026;}).<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>conffilters</tt> - If specified, matched entities must have exact matches to the given config name and must be either equal or not equal to the given config value. Both the config name and value must be strings. conffilters are represented in the same form as infofilters.</li>
<li><tt>metricfilters</tt> - If specified, matched entities must have exact matches to the given metric and satisfy the specified relation with the metric value. Metric id must be a string and and metric value must be an integral value.  metricfilters are represented as an expression of the form :<br /> &#x201c;(&lt;metricid&gt; &lt;compareop&gt; &lt;metricvalue&gt;) &lt;op&gt; (&lt;metricid&gt; &lt;compareop&gt; &lt;metricvalue&gt;)&#x201d;<br /> Here op can be either of AND or OR. And compareop can be either of &#x201c;eq&#x201d;, &#x201c;ne&#x201d;, &#x201c;ene&#x201d;, &#x201c;gt&#x201d;, &#x201c;ge&#x201d;, &#x201c;lt&#x201d; and &#x201c;le&#x201d;.<br /> &#x201c;eq&#x201d; means equals, &#x201c;ne&#x201d; means not equals and existence of metric is not required for a match, &#x201c;ene&#x201d; means not equals but existence of metric is required, &#x201c;gt&#x201d; means greater than, &#x201c;ge&#x201d; means greater than or equals, &#x201c;lt&#x201d; means less than and &#x201c;le&#x201d; means less than or equals. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions.  Brackets can be used to club expressions together.<br /> <i>For example</i> : metricfilters can be &#x201c;(((metric1 eq 50) AND (metric2 gt 40)) OR (metric1 lt 20))&#x201d;.<br /> This in essence is an expression equivalent to &#x201c;(metric1 == 50 AND metric2 &gt; 40) OR (metric1 &lt; 20)&#x201d;<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>eventfilters</tt> - If specified, matched entities must contain or not contain the given events depending on the expression. eventfilters is represented as an expression of the form :<br /> &#x201c;(&lt;eventid&gt;,&lt;eventid&gt;) &lt;op&gt; !(&lt;eventid&gt;,&lt;eventid&gt;,&lt;eventid&gt;)&#x201d;.<br /> Here, &#x201c;!&#x201d; means none of the comma-separated list of events within the enclosed brackets proceeding &#x201c;!&#x201d; must exist for a match to occur. If &#x201c;!&#x201d; is not specified, the specified events within the enclosed brackets must exist. op is a logical operator and can be either AND or OR. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions. Brackets can be used to club expressions together.<br /> <i>For example</i> : eventfilters can be &#x201c;(((event1,event2) AND !(event4)) OR (event3,event7,event5))&#x201d;.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> If metricstoretrieve is specified, metrics will be retrieved irrespective of whether <tt>METRICS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>confstoretrieve</tt> - If specified, defines which configs to retrieve or which ones not to retrieve and send back in response. confstoretrieve can be an expression of the form :<br /> (&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs not matching any of the prefixes will be retrieved.<br /> If confstoretrieve is specified, configs will be retrieved irrespective of whether <tt>CONFIGS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>fields</tt> - Specifies which fields to retrieve. Possible values for fields can be <tt>EVENTS</tt>, <tt>INFO</tt>, <tt>CONFIGS</tt>, <tt>METRICS</tt>, <tt>RELATES_TO</tt>, <tt>IS_RELATED_TO</tt> and <tt>ALL</tt>. All fields will be retrieved if <tt>ALL</tt> is specified. Multiple fields can be specified as a comma-separated list. If fields is not specified, in response, entity id, entity type, createdtime and UID in info field will be returned.</li>
<li><tt>metricslimit</tt> - If specified, defines the number of metrics to return. Considered only if fields contains METRICS/ALL or metricstoretrieve is specified. Ignored otherwise. The maximum possible value for metricslimit can be maximum value of Integer. If it is not specified or has a value less than 1, and metrics have to be retrieved, then metricslimit will be considered as 1 i.e. latest single value of metric(s) will be returned.</li>
<li><tt>metricstimestart</tt> - If specified, then metrics for the entity after this timestamp are returned.</li>
<li><tt>metricstimeend</tt> - If specified, then metrics for the entity before this timestamp are returned.</li>
<li><tt>fromid</tt> -  If specified, retrieve the next set of generic entities from the given fromid. The set of entities retrieved is inclusive of specified fromid. fromid should be taken from the value associated with FROM_ID info key in flow entity response which was sent earlier.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">[
  {
    &quot;metrics&quot;: [ ],
    &quot;events&quot;: [ ],
    &quot;type&quot;: &quot;YARN_APPLICATION_ATTEMPT&quot;,
    &quot;id&quot;: &quot;appattempt_1465246237936_0001_000001&quot;,
    &quot;createdtime&quot;: 1465246358873,
    &quot;isrelatedto&quot;: { },
    &quot;configs&quot;: { },
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;yarn-cluster!application_1465246237936_0001!YARN_APPLICATION_ATTEMPT!appattempt_1465246237936_0001_000001&quot;
      &quot;FROM_ID&quot;: &quot;yarn-cluster!sjlee!ds-date!1460419580171!application_1465246237936_0001!YARN_APPLICATION_ATTEMPT!0!appattempt_1465246237936_0001_000001&quot;
    },
    &quot;relatesto&quot;: { }
  },
  {
    &quot;metrics&quot;: [ ],
    &quot;events&quot;: [ ],
    &quot;type&quot;: &quot;YARN_APPLICATION_ATTEMPT&quot;,
    &quot;id&quot;: &quot;appattempt_1465246237936_0001_000002&quot;,
    &quot;createdtime&quot;: 1465246359045,
    &quot;isrelatedto&quot;: { },
    &quot;configs&quot;: { },
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;yarn-cluster!application_1465246237936_0001!YARN_APPLICATION_ATTEMPT!appattempt_1465246237936_0001_000002&quot;
      &quot;FROM_ID&quot;: &quot;yarn-cluster!sjlee!ds-date!1460419580171!application_1465246237936_0001!YARN_APPLICATION_ATTEMPT!0!appattempt_1465246237936_0001_000002&quot;
    },
    &quot;relatesto&quot;: { }
  }
]
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200(OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>If flow context information cannot be retrieved, HTTP 404 (Not Found) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_generic_entities."></a><a name="REST_API_LIST_ENTITIES"></a>Query generic entities.</h3>
<p>With this API, you can query generic entities per user identified by cluster ID, doAsUser and entity type. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. If number of matching entities are more than the limit, the most recent entities up to the limit will be returned. This endpoint can be used to query generic entity which clients put into the backend. For instance, we can query user entities by specifying entity type as <tt>TEZ_DAG_ID</tt>. If none of the entities match the predicates, an empty list will be returned. <b>Note</b> : As of today, we can query only those entities which are published with doAsUser which is different from application owner.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/users/{userid}/entities/{entitytype}

or

GET /ws/v2/timeline/users/{userid}/entities/{entitytype}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>limit</tt> - If specified, defines the number of entities to return. The maximum possible value for limit is maximum value of Long. If it is not specified or has a value less than 0, then limit will be considered as 100.</li>
<li><tt>createdtimestart</tt> - If specified, then only entities created after this timestamp are returned.</li>
<li><tt>createdtimeend</tt> -  If specified, then only entities created before this timestamp are returned.</li>
<li><tt>relatesto</tt> - If specified, matched entities must relate to or not relate to given entities associated with a entity type. relatesto is represented as an expression of the form :<br /> &#x201c;(&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;,&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;) &lt;op&gt; !(&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;,&lt;entitytype&gt;:&lt;entityid&gt;:&lt;entityid&gt;&#x2026;)&#x201d;.<br /> If relatesto expression has entity type - entity id(s) relations specified within enclosing brackets proceeding &#x201c;!&#x201d;, this means entities with these relations in its relatesto field, will not be returned. For expressions or subexpressions without &#x201c;!&#x201d;, all entities which have the specified relations in its relatesto field, will be returned. &#x201c;op&#x201d; is a logical operator and can be either AND or OR. entity type can be followed by any number of entity id(s). And we can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions. Brackets can be used to club expressions together.<br /> <i>For example</i> : relatesto can be &#x201c;(((type1:id1:id2:id3,type3:id9) AND !(type2:id7:id8)) OR (type1:id4))&#x201d;.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>isrelatedto</tt> - If specified, matched entities must be related to or not related to given entities associated with a entity type. isrelatedto is represented in the same form as relatesto.</li>
<li><tt>infofilters</tt> - If specified, matched entities must have exact matches to the given info key and must be either equal or not equal to given value. The info key is a string but value can be any object. infofilters are represented as an expression of the form :<br /> &#x201c;(&lt;key&gt; &lt;compareop&gt; &lt;value&gt;) &lt;op&gt; (&lt;key&gt; &lt;compareop&gt; &lt;value&gt;)&#x201d;.<br /> Here op can be either of AND or OR. And compareop can be either of &#x201c;eq&#x201d;, &#x201c;ne&#x201d; or &#x201c;ene&#x201d;.<br /> &#x201c;eq&#x201d; means equals, &#x201c;ne&#x201d; means not equals and existence of key is not required for a match and &#x201c;ene&#x201d; means not equals but existence of key is required. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions.  Brackets can be used to club expressions together.<br /> <i>For example</i> : infofilters can be &#x201c;(((infokey1 eq value1) AND (infokey2 ne value1)) OR (infokey1 ene value3))&#x201d;.<br /> Note : If value is an object then value can be given in the form of JSON format without any space.<br /> <i>For example</i> : infofilters can be (infokey1 eq {&#x201c;&lt;key&gt;&#x201d;:&#x201c;&lt;value&gt;&#x201d;,&#x201c;&lt;key&gt;&#x201d;:&#x201c;&lt;value&gt;&#x201d;&#x2026;}).<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>conffilters</tt> - If specified, matched entities must have exact matches to the given config name and must be either equal or not equal to the given config value. Both the config name and value must be strings. conffilters are represented in the same form as infofilters.</li>
<li><tt>metricfilters</tt> - If specified, matched entities must have exact matches to the given metric and satisfy the specified relation with the metric value. Metric id must be a string and and metric value must be an integral value.  metricfilters are represented as an expression of the form :<br /> &#x201c;(&lt;metricid&gt; &lt;compareop&gt; &lt;metricvalue&gt;) &lt;op&gt; (&lt;metricid&gt; &lt;compareop&gt; &lt;metricvalue&gt;)&#x201d;<br /> Here op can be either of AND or OR. And compareop can be either of &#x201c;eq&#x201d;, &#x201c;ne&#x201d;, &#x201c;ene&#x201d;, &#x201c;gt&#x201d;, &#x201c;ge&#x201d;, &#x201c;lt&#x201d; and &#x201c;le&#x201d;.<br /> &#x201c;eq&#x201d; means equals, &#x201c;ne&#x201d; means not equals and existence of metric is not required for a match, &#x201c;ene&#x201d; means not equals but existence of metric is required, &#x201c;gt&#x201d; means greater than, &#x201c;ge&#x201d; means greater than or equals, &#x201c;lt&#x201d; means less than and &#x201c;le&#x201d; means less than or equals. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions.  Brackets can be used to club expressions together.<br /> <i>For example</i> : metricfilters can be &#x201c;(((metric1 eq 50) AND (metric2 gt 40)) OR (metric1 lt 20))&#x201d;.<br /> This in essence is an expression equivalent to &#x201c;(metric1 == 50 AND metric2 &gt; 40) OR (metric1 &lt; 20)&#x201d;<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>eventfilters</tt> - If specified, matched entities must contain or not contain the given events depending on the expression. eventfilters is represented as an expression of the form :<br /> &#x201c;(&lt;eventid&gt;,&lt;eventid&gt;) &lt;op&gt; !(&lt;eventid&gt;,&lt;eventid&gt;,&lt;eventid&gt;)&#x201d;.<br /> Here, &#x201c;!&#x201d; means none of the comma-separated list of events within the enclosed brackets proceeding &#x201c;!&#x201d; must exist for a match to occur. If &#x201c;!&#x201d; is not specified, the specified events within the enclosed brackets must exist. op is a logical operator and can be either AND or OR. We can combine any number of ANDs&#x2019; and ORs&#x2019; to create complex expressions. Brackets can be used to club expressions together.<br /> <i>For example</i> : eventfilters can be &#x201c;(((event1,event2) AND !(event4)) OR (event3,event7,event5))&#x201d;.<br /> Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> If metricstoretrieve is specified, metrics will be retrieved irrespective of whether <tt>METRICS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>confstoretrieve</tt> - If specified, defines which configs to retrieve or which ones not to retrieve and send back in response. confstoretrieve can be an expression of the form :<br /> (&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs not matching any of the prefixes will be retrieved.<br /> If confstoretrieve is specified, configs will be retrieved irrespective of whether <tt>CONFIGS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>fields</tt> - Specifies which fields to retrieve. Possible values for fields can be <tt>EVENTS</tt>, <tt>INFO</tt>, <tt>CONFIGS</tt>, <tt>METRICS</tt>, <tt>RELATES_TO</tt>, <tt>IS_RELATED_TO</tt> and <tt>ALL</tt>. All fields will be retrieved if <tt>ALL</tt> is specified. Multiple fields can be specified as a comma-separated list. If fields is not specified, in response, entity id, entity type, createdtime and UID in info field will be returned.</li>
<li><tt>metricslimit</tt> - If specified, defines the number of metrics to return. Considered only if fields contains METRICS/ALL or metricstoretrieve is specified. Ignored otherwise. The maximum possible value for metricslimit can be maximum value of Integer. If it is not specified or has a value less than 1, and metrics have to be retrieved, then metricslimit will be considered as 1 i.e. latest single value of metric(s) will be returned.</li>
<li><tt>metricstimestart</tt> - If specified, then metrics for the entity after this timestamp are returned.</li>
<li><tt>metricstimeend</tt> - If specified, then metrics for the entity before this timestamp are returned.</li>
<li><tt>fromid</tt> -  If specified, retrieve the next set of generic entities from the given fromid. The set of entities retrieved is inclusive of specified fromid. fromid should be taken from the value associated with FROM_ID info key in flow entity response which was sent earlier.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">[
  {
    &quot;metrics&quot;: [ ],
    &quot;events&quot;: [ ],
    &quot;type&quot;: &quot;TEZ_DAG_ID&quot;,
    &quot;id&quot;: &quot;dag_1465246237936_0001_000001&quot;,
    &quot;createdtime&quot;: 1465246358873,
    &quot;isrelatedto&quot;: { },
    &quot;configs&quot;: { },
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;yarn-cluster!sjlee!TEZ_DAG_ID!0!dag_1465246237936_0001_000001&quot;
      &quot;FROM_ID&quot;: &quot;sjlee!yarn-cluster!TEZ_DAG_ID!0!dag_1465246237936_0001_000001&quot;
    },
    &quot;relatesto&quot;: { }
  },
  {
    &quot;metrics&quot;: [ ],
    &quot;events&quot;: [ ],
    &quot;type&quot;: &quot;TEZ_DAG_ID&quot;,
    &quot;id&quot;: &quot;dag_1465246237936_0001_000002&quot;,
    &quot;createdtime&quot;: 1465246359045,
    &quot;isrelatedto&quot;: { },
    &quot;configs&quot;: { },
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;yarn-cluster!sjlee!TEZ_DAG_ID!0!dag_1465246237936_0001_000002!userX&quot;
      &quot;FROM_ID&quot;: &quot;sjlee!yarn-cluster!TEZ_DAG_ID!0!dag_1465246237936_0001_000002!userX&quot;
    },
    &quot;relatesto&quot;: { }
  }
]
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200(OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_generic_entity_with_in_the_scope_of_Application"></a><a name="REST_API_LIST_ENTITY"></a>Query generic entity with in the scope of Application</h3>
<p>With this API, you can query a specific generic entity identified by cluster ID, application ID, per-framework entity type and entity ID. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. Flow context information i.e. user, flow name and run id are not mandatory but if specified in query param can preclude the need for an additional operation to fetch flow context information based on cluster and app id. This endpoint can be used to query a single container, application attempt or any other generic entity which clients put into the backend. For instance, we can query a specific YARN container by specifying entity type as <tt>YARN_CONTAINER</tt> and giving entity ID as container ID. Similarly, application attempt can be queried by specifying entity type as <tt>YARN_APPLICATION_ATTEMPT</tt> and entity ID being the application attempt ID.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/apps/{app id}/entities/{entity type}/{entity id}

or

GET /ws/v2/timeline/apps/{app id}/entities/{entity type}/{entity id}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>userid</tt> -  If specified, entity must belong to this user. This query param must be specified along with flowname and flowrunid query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>flowname</tt> - If specified, entity must belong to this flow name. This query param must be specified along with userid and flowrunid query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>flowrunid</tt> - If specified, entity must belong to this flow run id. This query param must be specified along with userid and flowname query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> If metricstoretrieve is specified, metrics will be retrieved irrespective of whether <tt>METRICS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>confstoretrieve</tt> - If specified, defines which configs to retrieve or which ones not to retrieve and send back in response. confstoretrieve can be an expression of the form :<br /> (&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form :<br /> !(&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs not matching any of the prefixes will be retrieved.<br /> If confstoretrieve is specified, configs will be retrieved irrespective of whether <tt>CONFIGS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>fields</tt> - Specifies which fields to retrieve. Possible values for fields can be <tt>EVENTS</tt>, <tt>INFO</tt>, <tt>CONFIGS</tt>, <tt>METRICS</tt>, <tt>RELATES_TO</tt>, <tt>IS_RELATED_TO</tt> and <tt>ALL</tt>. All fields will be retrieved if <tt>ALL</tt> is specified. Multiple fields can be specified as a comma-separated list. If fields is not specified, in response, entity id, entity type, createdtime and UID in info field will be returned.</li>
<li><tt>metricslimit</tt> - If specified, defines the number of metrics to return. Considered only if fields contains METRICS/ALL or metricstoretrieve is specified. Ignored otherwise. The maximum possible value for metricslimit can be maximum value of Integer. If it is not specified or has a value less than 1, and metrics have to be retrieved, then metricslimit will be considered as 1 i.e. latest single value of metric(s) will be returned.</li>
<li><tt>metricstimestart</tt> - If specified, then metrics for the entity after this timestamp are returned.</li>
<li><tt>metricstimeend</tt> - If specified, then metrics for the entity before this timestamp are returned.</li>
<li><tt>entityidprefix</tt> Defines the id prefix for the entity to be fetched. If specified, then entity retrieval will be faster.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">{
  &quot;metrics&quot;: [ ],
  &quot;events&quot;: [ ],
  &quot;type&quot;: &quot;YARN_APPLICATION_ATTEMPT&quot;,
  &quot;id&quot;: &quot;appattempt_1465246237936_0001_000001&quot;,
  &quot;createdtime&quot;: 1465246358873,
  &quot;isrelatedto&quot;: { },
  &quot;configs&quot;: { },
  &quot;info&quot;: {
    &quot;UID&quot;: &quot;yarn-cluster!application_1465246237936_0001!YARN_APPLICATION_ATTEMPT!0!appattempt_1465246237936_0001_000001&quot;
    &quot;FROM_ID&quot;: &quot;yarn-cluster!sjlee!ds-date!1460419580171!application_1465246237936_0001!YARN_APPLICATION_ATTEMPT!0!appattempt_1465246237936_0001_000001&quot;
  },
  &quot;relatesto&quot;: { }
}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200 (OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>If flow context information cannot be retrieved or entity for the given entity id cannot be found, HTTP 404 (Not Found) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_generic_entity."></a><a name="REST_API_LIST_ENTITIES"></a>Query generic entity.</h3>
<p>With this API, you can query generic entity per user identified by cluster ID, doAsUser and entity type and entity ID. If the REST endpoint without the cluster name is used, the cluster specified by the configuration <tt>yarn.resourcemanager.cluster-id</tt> in <tt>yarn-site.xml</tt> is taken. If number of matching entities are more than the limit, the most recent entities up to the limit will be returned. This endpoint can be used to query generic entity which clients put into the backend. For instance, we can query user entities by specifying entity type as <tt>TEZ_DAG_ID</tt>. If none of the entities match the predicates, an empty list will be returned. <b>Note</b> : As of today, we can query only those entities which are published with doAsUser which is different from application owner.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/clusters/{cluster name}/users/{userid}/entities/{entitytype}/{entityid}

or

GET /ws/v2/timeline/users/{userid}/entities/{entitytype}/{entityid}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>metricstoretrieve</tt> - If specified, defines which metrics to retrieve or which ones not to retrieve and send back in response. metricstoretrieve can be an expression of the form :<br /> (&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;,&lt;metricprefix&gt;&#x2026;)<br /> This specifies a comma separated list of metric id prefixes. Only metrics not matching any of the prefixes will be retrieved.<br /> If metricstoretrieve is specified, metrics will be retrieved irrespective of whether <tt>METRICS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>confstoretrieve</tt> - If specified, defines which configs to retrieve or which ones not to retrieve and send back in response. confstoretrieve can be an expression of the form :<br /> (&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs matching any of the prefixes will be retrieved. Brackets are optional for the simple expression. Alternatively, expressions can be of the form:<br /> !(&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;,&lt;config_name_prefix&gt;&#x2026;)<br /> This specifies a comma separated list of config name prefixes. Only configs not matching any of the prefixes will be retrieved.<br /> If confstoretrieve is specified, configs will be retrieved irrespective of whether <tt>CONFIGS</tt> is specified in fields query param or not. Please note that URL unsafe characters such as spaces will have to be suitably encoded.</li>
<li><tt>fields</tt> - Specifies which fields to retrieve. Possible values for fields can be <tt>EVENTS</tt>, <tt>INFO</tt>, <tt>CONFIGS</tt>, <tt>METRICS</tt>, <tt>RELATES_TO</tt>, <tt>IS_RELATED_TO</tt> and <tt>ALL</tt>. All fields will be retrieved if <tt>ALL</tt> is specified. Multiple fields can be specified as a comma-separated list. If fields is not specified, in response, entity id, entity type, createdtime and UID in info field will be returned.</li>
<li><tt>metricslimit</tt> - If specified, defines the number of metrics to return. Considered only if fields contains METRICS/ALL or metricstoretrieve is specified. Ignored otherwise. The maximum possible value for metricslimit can be maximum value of Integer. If it is not specified or has a value less than 1, and metrics have to be retrieved, then metricslimit will be considered as 1 i.e. latest single value of metric(s) will be returned.</li>
<li><tt>metricstimestart</tt> - If specified, then metrics for the entity after this timestamp are returned.</li>
<li><tt>metricstimeend</tt> - If specified, then metrics for the entity before this timestamp are returned.</li>
<li><tt>fromid</tt> -  If specified, retrieve the next set of generic entities from the given fromid. The set of entities retrieved is inclusive of specified fromid. fromid should be taken from the value associated with FROM_ID info key in flow entity response which was sent earlier.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">[
  {
    &quot;metrics&quot;: [ ],
    &quot;events&quot;: [ ],
    &quot;type&quot;: &quot;TEZ_DAG_ID&quot;,
    &quot;id&quot;: &quot;dag_1465246237936_0001_000001&quot;,
    &quot;createdtime&quot;: 1465246358873,
    &quot;isrelatedto&quot;: { },
    &quot;configs&quot;: { },
    &quot;info&quot;: {
      &quot;UID&quot;: &quot;yarn-cluster!sjlee!TEZ_DAG_ID!0!dag_1465246237936_0001_000001!userX&quot;
      &quot;FROM_ID&quot;: &quot;sjlee!yarn-cluster!TEZ_DAG_ID!0!dag_1465246237936_0001_000001!userX&quot;
    },
    &quot;relatesto&quot;: { }
  }
]
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200(OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div>
<div class="section">
<h3><a name="Query_generic_entity_types"></a><a name="REST_API_LIST_ENTITY_TYPES"></a>Query generic entity types</h3>
<p>With this API, you can query set of available entity types for a given app id. If the REST endpoint without the cluster name is used, the cluster specified by the configuration yarn.resourcemanager.cluster-id in yarn-site.xml is taken.  If userid, flow name and flow run id which are optional query parameters are not specified, they will be queried based on app id and cluster id from the flow context information stored in underlying storage implementation.</p>
<div class="section">
<h4><a name="HTTP_request:"></a>HTTP request:</h4>

<div>
<div>
<pre class="source">GET /ws/v2/timeline/apps/{appid}/entity-types

or

GET /ws/v2/timeline/clusters/{clusterid}/apps/{appid}/entity-types
</pre></div></div>
</div>
<div class="section">
<h4><a name="Query_Parameters_Supported:"></a>Query Parameters Supported:</h4>
<ol style="list-style-type: decimal">

<li><tt>userid</tt> -  If specified, entity must belong to this user. This query param must be specified along with flowname and flowrunid query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified then timeline reader will fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>flowname</tt> - If specified, entity must belong to this flow name. This query param must be specified along with userid and flowrunid query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
<li><tt>flowrunid</tt> - If specified, entity must belong to this flow run id. This query param must be specified along with userid and flowname query params, otherwise it will be ignored. If userid, flowname and flowrunid are not specified, we would have to fetch flow context information based on cluster and appid while executing the query.</li>
</ol></div>
<div class="section">
<h4><a name="Example_JSON_Response:"></a>Example JSON Response:</h4>

<div>
<div>
<pre class="source">{
  YARN_APPLICATION_ATTEMPT,
  YARN_CONTAINER,
  MAPREDUCE_JOB,
  MAPREDUCE_TASK,
  MAPREDUCE_TASK_ATTEMPT
}
</pre></div></div>
</div>
<div class="section">
<h4><a name="Response_Codes"></a>Response Codes</h4>
<ol style="list-style-type: decimal">

<li>If successful, a HTTP 200 (OK) response is returned.</li>
<li>If any problem occurs in parsing request, HTTP 400 (Bad Request) is returned.</li>
<li>If flow context information cannot be retrieved or entity for the given entity id cannot be found, HTTP 404 (Not Found) is returned.</li>
<li>For non-recoverable errors while retrieving data, HTTP 500 (Internal Server Error) is returned.</li>
</ol></div></div></div>
<div class="section">
<h2><a name="Aggregated_Log_Serving_for_Historical_Apps"></a>Aggregated Log Serving for Historical Apps</h2>
<p>TimelineService v.2 supports serving aggregated logs of historical apps. To enable this, configure &#x201c;yarn.log.server.web-service.url&#x201d; to &#x201c;${yarn .timeline-service.hostname}:8188/ws/v2/applicationlog&#x201d; in <tt>yarn-site.xml</tt></p></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
        &#169;            2008-2021
              Apache Software Foundation
            
                          - <a href="http://maven.apache.org/privacy-policy.html">Privacy Policy</a>.
        Apache Maven, Maven, Apache, the Apache feather logo, and the Apache Maven project logos are trademarks of The Apache Software Foundation.
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
