Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2) - 编程入门网
用的标准化报告工具。
对数据管理的讨论到此为止。本文最后一节将提供一些用于实时可视化数据的技术。 可视化和报告 在某些情况下,将实现插装和性能数据收集器,数据将会流入您的 APM 系统中。那么下一个逻辑步骤就是实时地查看数据的可视化表示。我在这里宽泛地使用实时 这个词,其含义是可视化地表示最近收集的数据。 常用的数据可视化术语是指示板。指示板能够可视化地呈现您所考虑的数据模式或活动的所有方面,它们惟一的限制就是数据的质量和数量。本质上,指示板告诉您生态系统中正在发生什么。指示板在 APM 系统中的一个强大之处是,它能够通过一种统一的显示形式表示各种各样的数据(即从不同来源收集的数据)。例如,一种显示形式可以在指示板上同时显示数据库中 CPU 的最近使用情况和当前趋势、应用服务器之间的网络活动,以及当前登录到您的应用程序的用户数量。在本节中,我将提供一些不同的数据可视化样式,以及我在本文前面提供的 Spring 收集器的一个可视化层实现示例。 Spring 收集器可视化层的前提条件包括: 将一个缓存类实例部署为一个 Spring bean。可以配置缓存类实例来保存任何数量的 ITracer 历史跟踪,但它的大小是固定的并且遵循先进先出的规则。一个缓存可以配置为保存 50 条历史记录,这意味着一旦缓存被填满,它将保存最近的 50 条历史记录。 Spring 收集器在 Spring XML 配置文件中使用 cacheConfiguration 进行配置,使用一个缓存进程封装 ITracer 实例。配置还将收集器与定义的缓存实例相关联。收集的跟踪记录像平常一样进行处理,但是添加了与收集器相关联的缓存实例。我们看一下前面的示例,如果缓存的历史记录大小为 50,并且收集器每隔 30 秒收集一次,那么当缓存被填满时,它将保存收集器在最近 25 分钟内收集的历史跟踪记录。 Spring 收集器实例部署了大量呈现类。呈现器(Renderer)是一些用于实现 org.runtimemonitoring.spring.rendering.IRenderer 接口的类。它们的工作是从缓存获取一系列数据并呈现这些数据的某种可视化形式。从呈现器定期检索可视化媒体将生成最新的表示,或者与缓存数据一样新的表示。 呈现内容然后可以在一种指示板上下文(比如一个 Web 浏览器)中传递到一个客户机或某种形式的富客户机。 图 25 列出了这一过程: 图 25. 缓存和呈现 Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(2)(15)时间:2011-02-13 IBM Nicholas Whitehead本例中的缓存实现是 org.runtimemonitoring.spring.collectors.cache.TraceCacheStore。可以将其他对象注册为缓存事件监听器,这样,在其他事件中,呈现器可以监听表示新值被添加到缓存的新缓存项 事件。通过这种方式,呈现器能够实际地缓存它们生成的内容,并在新数据可用时使缓存无效。来自呈现器的内容通过一个称为 org.runtimemonitoring.spring.rendering.MediaServlet 的 servlet 传递到客户机指示板。该 servlet 解析它接收到的请求,定位呈现器,并请求内容(所有内容都以一个字节数组的形式呈现和传递)和内容的 MIME 类型。字节数组和 MIME 类型然后流动到客户机,以供客户机解释。处理来自基于 URL 的服务的图形内容是最理想的,因为它们可以被 Web 浏览器、富客户机及它们之间的所有内容使用。当呈现器从媒体服务器接收到一个内容请求时,内容将从缓存传递,除非该缓存被一个缓存事件标记为 dirty。通过这种方式,呈现器不需要对每个请求重新生成它们的内容。 以字节数组格式生成、缓存和传递可视化的媒体非常有用,因为这种格式占用的空间最小,并且大多数客户机都可以在提供了 MIME 类型的情况下重新建立内容。由于这种实现在内存中缓存生成的内容,所以我使用了一种压缩方案。总体 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |