当前位置: 首页 > 知识库问答 >
问题:

计算率的影响数据库

左康安
2023-03-14

我有3列(时间,值,结果)的度量表。时间和值是时间序列数据库需要的基础。结果列标记可以具有以下值之一(成功/硬失败/软失败/未知)。

我想在给定的时间窗口内跟踪成功率(成功/总成功率)(因为我将在grafana上使用它,时间窗口可能会改变,并且应该支持动态时间范围查询)

我在流入量0.9上尝试过的东西:

1: Using Grafana: 

Grafana有一个百分比堆栈选项来显示计数值。不幸的是,它不显示百分比值。它只是显示了分布的图表。我对产生一个百分比数字感兴趣,我不认为格拉法纳有这个能力。

2: Continuous queries - single table:

我尝试设置一个连续查询,将成功计数和总计数汇总到一个新的度量表中。

在指标上创建连续查询count_total开始选择总和(值)作为总metric_agg从original_metricWHERE time

在指标上创建连续查询count_success开始选择求和(值)作为成功metric_agg从original_metric

考虑到这是两个不同的CQ写入相同的表,一些值在新的metric\u agg表上不完全匹配,导致grafana查询失败。我觉得我可能有点做错了。如果你看到错误,请告诉我

更新:不确定以下内容是否有效,但在看了Becketsean的回答后,想把它放在这里。我很快就会试试这个。

在单独的字段下创建2个CQ转储聚合值并运行除法:

在度量开始时创建CQ计数总计从“原始度量”中选择总和(值)作为总计进入“度量总计”,其中时间

CREATE CQ count\u success ON metrics BEGIN选择SUM(value)作为success从“original\u metric”进入“metric\u agg”,其中result='success'和time

Grafana:从metric\u agg中选择success/total,其中$timeFilter

3: Continuous queries - single table - overwrites:

我尝试在上面的每个CQ上插入“虚拟”0值,以确保每行每列都有一个值。在大多数情况下,这实际上用0覆盖原始值,并生成不正确的值,导致不正确的速率。

4: Continuous queries - multiple tables:

我现在尝试将每个CQ写在自己的表中,并希望将聚合表合并到Grafana查询中。然而,流入时的“合并”似乎不会生成单个系列。

SELECT和("成功")作为成功,和("总计")作为总计从合并 /metric_result_*/WHERE时间

生成2个系列(metric\u result\u successmetric\u result\u total。与CQ写入数据的位置相同)。

我想我想问的是:计算0.9流入率的最佳方法是什么?CQ看起来很脆弱,如果可能的话,我很想避开它们。


共有2个答案

金旺
2023-03-14

对于现在阅读这篇文章的人来说(流入1.0测试版最近推出)。

Inflow团队在其0.10版本中修复了一个问题**,使“2:连续查询-单表:”方法对我有效。注意:我在不同的标记中写入值,因此没有覆盖。只要继续将聚合值写入这个新表,在grafana中,我可以使用一个查询来划分我感兴趣的列/标记。

或者,你也可以使用Kapacitor来做同样的事情。

**对于任何好奇的人来说,在0.10中修复的问题是在0.10之前在现有的时间戳中添加一个新的标签值,将删除旧的标签/feilds,并只写这个新信息(导致我们删除信息)。

高胜
2023-03-14

2:连续查询-单个表:

不建议使用这种方法,因为CQ都在写入同一系列。没有用于区分结果的标记,因此一个CQ覆盖了另一个CQ的点。点通过其测量名称、标记集和时间戳进行唯一标识。字段不是唯一性的一部分。每个CQ正在写入相同的度量值metric\u agg。因为没有分组依据

4:连续查询-多个表:

没有办法计算跨测量值(你称之为“表”)。测量中的系列可以合并,但不能跨测量。

这意味着,仅在XDB查询语言中还不可能实现您的请求。要计算在特定状态下花费的时间,您需要在XDB之外处理查询结果。

 类似资料:
  • 我有一个数据集 我希望能够返回像(显示独特的值和频率)这样的东西

  • 1.2.4 计算思维对其他学科的影响 随着计算机在各行各业中得到广泛应用,计算思维对许多学科都产生了重要影响。下面以数学、生物学和化学为例进行简单的介绍。 数学:计算机对数学来说过去只是一个数值计算工具,用于快速、大规模的数值计算, 对数值计算方法的研究导致了计算数学的形成。后来数学家利用计算机进行代数演算,形成 了计算机代数;利用计算机研究几何问题,形成了计算几何学。数学家还利用计算机去验证 数

  • 请看以下三个查询。我无法理解计算结果为TRUE的条件在附加到where子句时如何不返回行。我希望在第二个查询中得到User1,因为第一个查询显示条件的计算结果为TRUE。

  • 如果我使用CreateCriteria()函数添加了一个条件限制。限制是否将保存在数据库中?提前谢谢!..

  • 问题内容: 我有一个数据集 我希望能够返回类似的信息(显示唯一的值和频率) 问题答案: 使用和: 请参阅在线文档:http : //pandas.pydata.org/pandas-docs/stable/groupby.html 另外,正如所说,这里有很多方法可以给猫皮 如果要向原始数据帧添加频率,请使用transform返回对齐的索引:

  • 我正在做一个乒乓球模拟程序,在这个程序中,我必须根据球拍的角度和传来的球的轨迹来计算偏转角度。我开发了一个方程组来计算挠度。不幸的是,它涉及一个至少有30个trig函数的系统,这些函数不能真正简化,必须在每个draw函数中运行一次。我的问题是:这会让我的程序慢多少?在没有实现这些功能的情况下,该程序在我的新iMac上运行良好,但在任何较旧的计算机上,由于OPENGL的原因,该程序已经有很大的滞后,