Dr.Elephant用户指南 - 【Dr.Elephant系列文章-2】

这篇文章介绍怎么样使用Dr.Elephant来进行任务分析。

UI首页

Dr.Elephant启动后,首页如下:

集群统计信息

首页的灰色部分包含了最新的集群信息。这部分列出了最近24小时分析过的任务数量、可以进行优化的任务数量以及亟待优化的任务数量。

最新任务统计

这一部分列出了最近一段时间分析的任务。

搜索页

首页点击“Search”进入搜索页面,在这个页面,我们可以通过不同的搜索项来搜索任务:

  • 任务ID:输入任务的ID,可以搜索一个特定的任务或者任务流。返回任务详情页面。
  • 任务流执行ID/URL:使用任务流的执行ID或者URL(例如Azkaban的任务流),可以搜索到被这个任务流触发的所有任务。
  • 用户名:提交任务的用户名
  • 任务类型:搜索特定类型的所有任务
  • 待优化等级:每个任务被Dr.Elephant诊断完以后,就会生成一份详细的诊断报告,其中就包括该任务的待优化等级。我们可以基于待优化等级搜索任务。例如,我们在待优化等级输入框中输入“severe(严重)”,搜索结果就会包含至少被一个启发式算法诊断为“severe”的所有任务。在该例子中,搜索时还可以同时指定启发式算法,那么搜索结果就只包含被该启发式算法诊断为“severe”的所有任务。
  • 任务结束日期:我们也可以使用任务结束时间作为搜索条件。在“from”和“to”这两个输入框中,可以分别设定起始时间和结束时间。这个时间段是一个左闭右开的区间 ([from, to)),包含from这个时间点,但不包含to这个时间点。

这些所有的搜索条件都可以组合使用。例如,我们可以指定“用户名”为“user1”,同时,指定“待优化等级”为“critical(危急)”,点击搜索,会返回所有的user1提交的任务中待优化等级为“critical”的任务。

任务详情

在UI中点击一个任务,可以进入任务详情页面。

任务信息

  1. 任务追踪链接(Jobtracker):这个链接指向任务的追踪页面。在这个页面上,可以看到任务的详细信息、日志、map和reduce的task信息。
  2. 任务执行链接(Job execution):这个链接指向任务在调度器中的执行页面。例如,在Azkaban调度器上,指向这个任务的执行链接。
  3. 任务定义(Job definition):这个链接指向任务在调度器中的定义页面。例如,在Azkaban调度器上,指向这个任务的属性页面。
  4. 任务流执行链接(Flow execution):这个链接指向整个任务流的执行页面。例如,在Azkaban调度器上,指向这个任务流的执行页面。
  5. 任务流定义(Flow definition):同前面的任务定义(Job definition),这个链接指向任务流的定义页面。
  6. 任务历史(Job history):这个链接指向任务历史页面。下面有对任务历史页的详细介绍。
  7. 任务流历史(Flow history):这个链接指向任务流历史页。下面有对任务流历史页的详细介绍。

启发式算法诊断报告

当一个任务被Dr.Elephant分析时,Dr.Elephant会运行所有的启发式算法来分析这个任务。每个启发式算法都会对该任务计算出一个待优化等级,这个等级可能会是“无(none)”、“中等(moderate)”、“严重(severe)”或者“危急(critical)”。在每个任务的详细分析页面,都会展示它的待优化等级以及其他分析结果。如果任务的待优化等级不是“无(none)”时,表明某些启发式算法的诊断结果认为这个任务需要优化,同时也会提供相应的链接(帮助页面)来阐述该启发式算法提出的优化建议。任务的开发者可以通过这个链接来帮助自己优化任务。

任务比较

在Dr.Elephant UI的首页,点击Compare进入任务比较页面。在任务比较页面,我们可以在任务级别比较任意两次的任务流执行情况。当我们比较两次任务流的执行时,相同的任务会做出比较并在顶部展示。其他的不同的任务,会按照任务流的顺序依次在下面展示。

历史任务页面

在历史任务页面,展示了每个特定任务近期所有执行情况的比较。

搜索框

我们可以在历史任务页面的搜索框中输入任务的ID或者URL来搜索特定的任务。点击搜索,就会得到该任务的历史执行情况的展示。在前面提到的任务详情页面中,也有链接可以跳转到该任务的历史执行情况页面。这个页面中展示的折线图代表了该任务在历史上每次执行性能的一个打分。

执行性能打分图

执行性能打分图是一个折线图。X轴代表时间,Y轴代表分数。当我们将鼠标停留在折线图中的某个点上时,会看到有弹框弹出。弹框中列出了该任务在本次执行中造成性能问题的Top 3的阶段。执行性能的分数是通过一个简单的公式计算出来的,越低的分数表明该任务执行性能越好。

启发式算法对任务执行分析的扁平状展示

在性能打分折线图的下方,可以看到该任务在近期每次执行的扁平状展示。第一列是每次执行的时间,点击每个时间,都能跳转到任务在调度器中的执行详情页面。接下来的每一列都代表了任务执行的一个阶段。在图表中任务执行的每一阶段,都包含了若干种颜色的圆点。不同的颜色代表了启发式算法分析产生的待优化等级。当我们将鼠标停留在某个任意颜色的圆点上时,会弹出一个弹框展示该启发式算法对该任务的若干优化建议。

历史任务流页面

在历史任务流页面,展示了每个特定任务流近期所有执行情况的比较。

搜索框

我们可以在历史任务流页面的搜索框中输入任务流的ID或者URL来搜索特定的任务。点击搜索,就会得到该任务流的历史执行情况的展示。

执行性能打分图

执行性能打分图是一个折线图。X轴代表时间,Y轴代表分数。当我们将鼠标停留在折线图中的某个点上时,会看到有弹框弹出。弹框中列出了该任务流在本次执行中造成性能问题的Top 3的阶段。执行性能的分数是通过一个简单的公式计算出来的,越低的分数表明该任务流执行性能越好。

启发式算法对任务执行分析的扁平状展示

在性能打分折线图的下方,可以看到该任务流在近期每次执行的扁平状展示。第一列是每次执行的时间,点击每个时间,都能跳转到任务流在调度器中的执行详情页面。接下来的每一列都代表了任务流执行中的一个任务。在图表中的每个任务阶段,都包含了若干种颜色的圆点。当我们将鼠标停留在某个任意颜色的圆点上时,会弹出一个弹框展示所有的启发式算法,以及这些算法对该任务的待优化等级的分析结果。

帮助

在Dr.Elephant UI首页点击“Help”可以跳转到帮助页面。还可以通过其他方式跳转到帮助页面,比如通过点击UI中任务详情页的“explain”链接(当启发式算法诊断结果为moderate、severe或者critical时出现这个链接)。在帮助页面,可以看到所有的启发式算法的介绍,以及这些启发式算法给出的优化建议。点击某个特定的启发式算法,可以看到该启发式算法得出的详细优化建议。上面图片中,展示了Mapper memory启发式算法给出的优化建议。

待优化等级

待优化等级代表了该任务的性能,表明了该任务在性能上需要优化的迫切程度。我们通过参数可以配置每个启发式算法的一些阈值,启发式算法给每个任务的诊断分析,都会得出一个待优化等级。待优化等级共有5个,下面按照待优化的迫切性降序排序给出:CRITICAL > SEVERE > MODERATE > LOW > NONE


Severity


Color


Description


CRITICAL


这个任务迫切需要被优化


SEVERE


这个任务有很大的可优化的空间


MODERATE


这个任务有进一步的可优化空间


LOW


这个任务有很小的可优化的空间


NONE


这个任务很安全,没有可优化空间

时间: 2024-08-07 19:50:40

Dr.Elephant用户指南 - 【Dr.Elephant系列文章-2】的相关文章

IT软件人员的技术路线(写给技术迷茫中的你) - 项目管理系列文章

前面笔者曾经写过一篇关于IT从业者的职业道路文章(见笔者文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章).然后有读者提建议说写写技术方面的路线,所以就有了本文.本文从初学者到思想者的四步方面对IT从业者的技术路线做了阐述(见笔者文:IT从业者的学习规划 - 学习者系列文章开篇),从浅到深的对技术路线需要学习的内容做了叙述,后续会对学习者系列文章进行书写,本文就当做该系列文章的一个版图吧. 对于技术路线,笔者认为,在工作之余,就该自我主动的去学习技术和业务方面的知识.一方面是

【强烈强烈推荐】《ORACLE PL/SQL编程详解》全原创(共八篇)--系列文章导航

原文:[强烈强烈推荐]<ORACLE PL/SQL编程详解>全原创(共八篇)--系列文章导航 <ORACLE PL/SQL编程详解> 系列文章目录导航 ——通过知识共享树立个人品牌. 本是成书的,但后来做其他事了,就无偿的贡献出来,被读者夸其目前为止最“实在.经典”的写ORACLE PL/SQL编程的文章-! 觉得对你有帮助,请留言与猛点推荐,谢谢. [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) 本篇主要内容如下:第一章 PL/S

Net设计模式实例系列文章总结

1 什么是设计模式 设计模式是对在软件设计过程中重复出现的问题提出了一种比较好的解决方案.正如一位专家所说:设计模式是对程序设计人员经常遇到的设计问题的可再现的解决方案(The Smalltalk Companion).GOF设计模式通常被认为是其他设计模式的基础,随着业务复杂度的增大,会不断涌现新的设计模式,而这些新的设计模式一般会以GOF模式理论为参照. 2 为什么要学习设计模式 从个人职业规划来考虑.一位软件开发工程师随着编码量的增加,开发经验的增加,软件理论理解的加深,会不由自主地想一些

项目活动的开展 - 项目管理系列文章

前面写的项目管理类文章,都是工作经验总结,对项目经理在相关方面的工作开展进行了分类总结整理.但是有读者说太理论化了,所以今天就写此文对项目管理过程工作中的内容做一下详细的描述安排. 一.计划: 项目经理一定要做好项目计划,最主要的是要做好范围.时间.质量和风险这四个主要的计划.这里对项目过程中的工具Project的使用做一个介绍(使用Project进行项目管理 - 项目管理系列文章).很多项目管理过程领域项都是通过Project进行的控制管理. 1.  范围计划: 范围计划最主要的是工作分解结构

.NET设计模式系列文章

单件模式(Singleton Pattern) Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点. 工厂方法模式(Factory Method) 定义一个用户创建对象的接口,让子类决定实例化哪一个类. 原型模式(Prototype Pattern) 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 http://www.cnblogs.com/terrylee/archive/2006/07/17/334911.html .NET设计模式系列文章,布布扣

NET架构设计、框架设计系列文章总结

NET架构设计.框架设计系列文章总结 从事.NET开发到现在已经有七个年头了.慢慢的可能会很少写.NET文章了.不知不觉竟然走了这么多年,热爱.NET热爱c#.突然想对这一路的经历进行一个总结. 是时候开始下一阶段的旅途,希望这些文章可以在发挥点价值作用. 架构设计: ElasticSearch大数据分布式弹性搜索引擎使用 (推荐) DDD实施经验分享-价值导向.从上往下进行(圈内第一个吃螃蟹DDD实施方案)(推荐) 软件工程-思考项目开发那些事(一)(推荐) SOA架构设计经验分享-架构.职责

产品设计步骤 - 产品管理系列文章

笔者做产品经理职位还不久,但是也积累了一些经验,本文就讲讲产品经理对产品的设计步骤,与大家共同交流学习,共同提高. 产品经理现在要求的更多的是需求分析.原型设计和后期的运营三方面重点内容.其中,需求分析这块如果团队人员比较全的话就要求产品经理对需求这块进行把控,项目经理对需求进行整理总结,系统分析师对需求进行分析:原型设计这块是产品经理的一大工作部分,就是在经过了需求分析之后,对产品的界面和用户体验等进行设计,形成基本的操作模式,同时也能够让团队或客户对产品本身的特色做了解和及时的反馈,对产品的

【Flume NG用户指南】(2)构造

作者:周邦涛(Timen) Email:[email protected] 转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details/28277575 上一篇请參考[Flume NG用户指南](1)设置 3. 配置 前边的文章已经介绍过了,Flume Agent配置是从一个具有分层属性的Java属性文件格式的文件里读取的. 3.1 定义数据流 要在一个Flume Agent中定义数据流,你须要通过一个Channel将Source和Sin

tween.js 用户指南 - 与 Three.js 配合使用的补间动画库

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Learning Three.js - Tween.js for Smooth Animation tween.js 用户指南tween.js u