opentsdb源码分析-查询

本文深入探讨OpenTSDB的查询过程,从界面触发的刷新图形操作开始,讲解如何生成查询URL,然后阐述RpcHandler如何将请求转发给GraphHandler处理。接着,我们关注Query接口的实现,特别是TsdbQuery的runAsync方法,该方法利用HBase的异步扫描机制获取Datapoints。整个过程中,OpenTSDB广泛使用Deferred对象以实现非阻塞操作。
摘要由CSDN通过智能技术生成

在上一篇文章中安装了tcollector,这样在hbase中就可以查看到数据了。


这是运行了一段时间scan 'tsdb'的结果截图。


用源码启动opentsdb,调试运行,怎么用源码启动会在另一篇文章中中再详细描述

在opentsdb中web页面中页面的图形是用gwt来编写的,至于gwt是什么以及怎样使用百度一下就行,使用的类是QueryUI类,在界面中改变控件的值会调用refreshGraph方法来刷新图形,每次刷新图形的时候都要去进行查询。

查询时会生成一个url串来发送请求, /q?start=2016/01/01-00:00:00&ignore=83&m=sum:proc.meminfo.vmalloctotal&o=&m=sum:proc.interrupts&o=&m=sum:proc.loadavg.total_threads&o&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenTSDB旨在在查询执行期间有效地组合多个不同的时间序列。这样做的原因是,当用户查看他们的数据时,他们通常会从较高的级别开始询问诸如“数据中心的总吞吐量是多少?”之类的问题。或“按地区划分的当前用功耗是多少?”。在查看这些高级别值之后,可能会出现一个或多个值,因此用户可以深入研究更详细的数据集,例如“我的LAX数据中心主机的吞吐量是多少?”。我们希望能够轻松回答这些高级问题,但仍然可以深入了解更多细节。 但是,如何将多个单独的时间序列合并为一个系列的数据呢?聚合函数提供了将不同时间序列数学方式将不同时间序列合并为一个的方法。过滤器用于按标签对结果进行分组,然后将聚合应用于每个组。聚合类似于SQL的GROUP BY子句,其中用户选择预定义的聚合函数以将多个记录合并为单个结果。但是在TSD中,每个时间戳和组聚合一组记录。 每个聚合器都有两个组件: 功能 - 应用的数学计算,例如对所有值求和,计算平均值或选择最高值。 插值 - 一种处理缺失值的方法,例如当时间序列A的值为T1但时间序列B没有值时。 本文档重点介绍如何在一个组中按上下文使用聚合器,即将多个时间序列合并为一个时。此外,聚合器可用于下采样时间序列(即返回较低分辨率的结果集)。有关更多信息,请参阅下采样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值