具有时间序列数据的力导向图的制作方法
【专利说明】具有时间序列数据的力导向图
[0001]相关申请的交叉引用
[0002]本申请要求于2013年2月I日提交的题为“Force Directed Graph with TimeSeries Data(具有时间序列数据的力导向图)”的美国专利申请序列号13/757,598的优先权和权益,该申请的整体内容通过援引被明确地纳入于此。
[0003]背景
[0004]消息传递计算环境通过在执行期间使独立的处理元素(诸如线程或其他计算组件)将消息从一个元素传递到另一元素来操作。在各组件间传递的消息可包含可由接收者消费的数据和其他信息。
【发明内容】
[0005]用于跟踪器(tracer)的可视化系统可包括处理流水线,该处理流水线可生成跟踪数据、预处理该数据、以及可视化该数据。预处理步骤可包括处理用户定义的表达式或其他可执行代码的机制。该可执行代码可执行各种函数,包括数学、统计、与其他数据的聚集等。预处理器可执行恶意软件分析、测试功能性、随后实现该可执行代码。可向用户呈现编辑器或其他基于文本的用户界面组件以用于输入和编辑该可执行代码。该可执行代码可被保存并随后作为可选择转换被调用以与其他数据流一起使用。
[0006]力导向图可担当针对跟踪器的用户控制的一部分。跟踪器可在监视正在执行的应用的同时收集数据,随后该数据可被处理并显示在力导向图上。用户可以能够选择个体节点、边、或其他元素,随后使该跟踪器改变可收集什么数据。该用户可以能够选择个体节点、边或图上的元素的组,随后使用所选择的元素对跟踪器执行更新。该选择机制可包括点击及拖动窗口以选择可能相关的节点,以及从图例或其他编组中选择。
[0007]力导向图可使用一组回放控制以暂停、播放、反转、快进、慢进、或以其他方式控制时间序列数据的显示来显示时间序列数据。该回放控制可在向其显示数据集以及可显示该数据集的速度的实时或近实时应用中使用。在一个架构中,力导向图可使用渲染引擎来部署,该渲染引擎接收数据并将该数据渲染到图中。回放控制器可根据来自回放控制的用户输入向渲染引擎发送更新。
[0008]可通过示出在消息传递计算环境内传递的消息来将该环境可视化。该消息可包含由函数或其他计算元素消费的数据,并可被用于启动或产生各种计算元素。一个可视化可以是力导向图,该力导向图的每个功能均作为节点,其中被传递的消息作为图的边。在一些实施例中,边可通过将边显示得更宽或更窄、或通过改变所显示的边的颜色来显示消息的数目、数据量、或其他度量。节点可用不同颜色、大小或形状示出以显示不同方面。一些实施例可具有用于存储和回放随时间对图的改变的机制。
[0009]力导向图可将消息传递系统的最近活动作为高亮(highlight)特征显示在更大的图上。力导向图可显示表示过程和消息路由的节点和边的超集(superset),随后将最近活动显示为更大的超集内的高亮元素。高亮元素可显示在一时间序列的最近时间元素期间传递的消息或执行的计算。在一些实施例中,可通过使高亮的视觉元素随时间衰减来显示活动的影响。
[0010]提供该概述以便以简化形式介绍概念的选集,所述概念在以下详细描述中被进一步描述。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0011]附图简述
[0012]在附图中:
[0013]图1是示出力导向图的实施例的图示。
[0014]图2是示出使用图的数据收集和显示的环境的实施例的图示。
[0015]图3是示出用于收集数据的方法的实施例的流程图。
[0016]图4是示出用于可视化之前聚集数据的方法的实施例的流程图。
[0017]图5是示出用于部署和更新图的方法的实施例的流程图示。
[0018]图6是示出用于生成图上的对象的踪迹(trace)的方法的实施例的流程图示。
[0019]图7是示出显示一时间序列的样本力导向图的实施例的图示。
[0020]图8A、8B和8C是用力导向图示出选择机制的实施例的图示的序列。
[0021]图9A、9B和9C是用力导向图示出第二选择机制的实施例的图示的序列。
[0022]图10是用于通过交互式图来控制跟踪器的方法的实施例的流程图示。
[0023]图11是示出用于可视化踪迹数据的网络环境的实施例的图示。
[0024]图12是示出用于用转换来可视化踪迹数据的方法的实施例的图示。
[0025]图13是示出具有转换编辑器的样本用户界面的实施例的图示。
[0026]图14是示出具有转换的网络环境的实施例的图示。
[0027]图15是示出用于使用数据浏览器来控制显示的方法的实施例的流程图。
[0028]详细描述
[0029]用于可视化消息传递计算环境的图
[0030]消息传递计算环境可通过显示在计算元素之间传递的消息的图来可视化。所述图可将计算元素示为节点,而消息为图的边。一种类型的这种可视化可以是力导向图。
[0031 ] 该可视化可将数据的不同特性(诸如消息的数目、数据量、消息的方向、或其他特性)显示为线宽、颜色、或其他视觉元素。在力导向图的情况下,各元素之间的力可表示这种数据特性。
[0032]图的节点可表示计算元素。计算元素可以是可发送或接收消息的任何可执行代码、设备、或其他元素。节点可以用不同大小、颜色、形状或其他特性来示出以示出所消耗的计算时间量、调用频率、组中的成员资格、与其他元素的交互、或其他数据项。
[0033]该可视化可使用数据集的序列来执行,其中每个数据集可随时间被收集。在这些实施例中,当应用执行时,图可扩展、收缩、以及改变形状。这些实施例可以能够存储和回放数据集的序列。在一些情况下,这种回放可被减慢或加速以示出执行期间的改变。
[0034]可视化系统可具有检测机制系统(instrumentat1n system),该检测系统收集执行期间的消息信息,随后处理或格式化该信息以用于显示。显示系统可生成图并向用户显示图。在一些情况下,图可以是交互式的,其中用户可以能够探询(probe)该图来获得附加洞察。在一个示例中,用户可以能够点击节点来寻找关于该节点的细节,诸如节点名称、关于该节点的性能度量、或其他信息。
[0035]可视化系统可被用来监视和显示在单一设备内传递的消息,以及其中消息在设备间传递的实施例。例如,一些函数式语言可在可在单一处理器上或跨单一设备内的若干处理器执行的进程之间传递消息。在另一示例中,高性能计算系统可组合位于许多不同设备上的处理器来执行大型应用。可通过显示例如从设备到设备、以及在每个个体设备中从一个处理器到另一处理器传递的所有消息来可视化这种应用。
[0036]用于具有尚壳的时间序列数据的力导向图
[0037]通过维持节点和边的超集,以及通过高亮图内表示最近活动的那些元素来显示最近活动,力导向图可显示时间序列数据。节点和边的超集可通过捕捉可通过时间序列来定义的每个节点和边并在时间序列的回放或显示期间维持该超集来创建。
[0038]通过高亮表示所述活动的那些元素,同时以非高亮方式显示节点和边的超集中的至少一些,最近活动可被覆盖在元素的超集上。在这种可视化的一种样式中,节点和边的超集可按变灰淡化的方式呈现,而最近活跃的节点和边可按有颜色的方式呈现。
[0039]通过使元素对于被激活之后的后续时间段在高亮上减弱来将最近活动示出为淡出或溶解。这种视觉衰减可高亮活跃元素,同时保持视觉线索达一定数量的时间片,并且在以下情况下可以是有用的:其中时间片足够短而使得单一时间片中的活动可能未被完全理解。
[0040]用力导向图来可视化时间序列数据
[0041]时间序列数据的动态可视化可在力导向图中被渲染。时间序列数据可包括表示任何给定时间处系统的状态的数据集。可视化可示出随时间前进的状态变化。
[0042]可视化可具有一组控件,所述控件允许用户在数据集中向前或向后移动。所述控件可允许用户控制数据的回放。在一些情况下,数据可在正常时间基础上呈现,其中回放可对应于数据收集的速度。在其他情况下,回放可相对于数据被收集的周期性被加速或减慢。
[0043]用于可视化系统的架构可具有可被绑定到数据源的可视化器。可视化器可显示力导向图,包括渲染力的任何经动画化的运动。所述控件可配置数据浏览器,该数据浏览器可选择要呈现的数据集,要呈现的数据集可通过数据绑定而被传输到可视化器。在一些情况下,可视化器可收集用户输入,所述用户输入可以由数据浏览器在其上操作的远程设备处理。
[0044]力导向图作为跟踪器的输入机制
[0045]跟踪器可使用力导向图作为输入机制。力导向图可允许用户选择并操纵可表示应用的各种元素的图的节点和边。一旦被选择,用户可以能够向元素应用各种动作,比如使得附加跟踪被应用于元素或被应用于相关元素。
[0046]力导向图或其他可视化可将应用元素呈现在不同编组或呈现中,这可帮助用户看到各元素内的关系。通过使用力导向图或其他可视化作为对跟踪器的输入,用户可以能够容易地选择元素和相关元素,它们原本是难以选择的。
[0047]图可包含可显示元素的组的图例。图例可包括用户可用以选择元素的子集的热点或其他用户界面控件。
[0048]用户界面可包括可使用所选择的元素作为输入的附加的选项菜单。该附加菜单可包括可由提供所显示的数据的跟踪器采取的各种动作。配置文件可被更新并发送至跟踪器以改变跟踪器行为。
[0049]踪迹数据的转换定义
[0050]通过应用预定义的或用户定义的转换,踪迹数据可被准备以用于显示。数据的可视化可包括用户界面,通过该用户界面,用户可选择一个或多个预定义转换或输入可创建新转换的可执行代码或表达式。
[0051]用户输入的表达式可定义在准备可视化时可被应用到数据的改变。所述改变可执行统计分析、应用算术函数、组合数据字段、合并外部数据或其他函数。该表达式可允许用户创建解决在可创建可视化时不可预见的特定场景的转换。
[0052]表达式可被插入到用于数据馈送的数据处理流水线中。在一些情况下,数据处理流水线可以是可接收、处理和显示实时数据的实时流水线。
[0053]贯穿本说明书和权利要求书,术语“剖析器”、“跟踪器”和“检测机制”(“instrumentat1n)”被可互换地使用。这些术语指代可在应用被执行时收集数据的任何机制。在经典定义中,“检测机制”可指代可向其插入可执行代码并藉此改变该可执行代码的存根(stub)、挂钩(hook)或其他数据收集机制,而“剖析器”或“跟踪器”可经典地指代不可改变可执行代码的数据收集机制。使用这些术语及其派生词中的任一者都可蕴含或暗示彼此。例如使用“跟踪器”的数据收集可使用“跟踪器”的经典意义中的非接触式数据收集以及用其中可执行代码可被改变的“检测机制”的经典意义的数据收集来执行。相似地,通过“检测机制”收集的数据可包括使用非接触式数据收集机制的数据收集。
[0054]此外,通过“剖析”、“跟踪”和“检测机ΦΙΓ收集的数据可包括可收集的任何类型的数据,包括诸如处理时间、吞吐量、性能计数器之类的与性能相关的数据等等。收集到的数据可包括函数名称、所传递的参数、存储器对象名称和内容、所传递的消息、消息内容、注册表设置、注册表内容、差错标志、中断或与正被跟踪的应用有关的任何其他参数或其他可收集的数据。
[0055]贯穿本说明书和权利要求书,术语“执行环境”可用于指代用于执行应用的任何类型的支持软件。执行环境的一个示例是操作系统。在一些图示中,执行环境摂