diff options
| author | zhengchao <[email protected]> | 2019-01-07 17:23:12 +0600 |
|---|---|---|
| committer | zhengchao <[email protected]> | 2019-01-07 17:23:12 +0600 |
| commit | a3827e1c6481ad9bc759c8a2e00c688604976354 (patch) | |
| tree | f7749af2763c17934adeef88a10ffa94d9b004e6 | |
| parent | 317aab84bf36fc4e81d8ae08e802176950e1dfd7 (diff) | |
对于FS_STYLE_STATUS+FS_CALC_CURRENT使用Histogram输出,以便实现多节点的当前值的聚合。
| -rw-r--r-- | readme.md | 16 | ||||
| -rw-r--r-- | src/MESA_field_stat.cpp | 2 |
2 files changed, 14 insertions, 4 deletions
@@ -26,13 +26,21 @@ field_ids[i]=FS_register(handle, FS_STYLE_FIELD, FS_CALC_CURRENT, "field_01"); ### 状态(Status) - `FS_STYLE_STATUS` 输出累计值或瞬时值。 + `FS_STYLE_STATUS` ,可以输出当前值(FS_CALC_CURRENT)或速度值(FS_CALC_SPEED)。 ```c status_00: 100 status_01: 10 ``` - 函数接口 + 输出前值(FS_CALC_CURRENT)时,StatsD输出会采用Histogram类型,以便telegraf对其进行聚合。例如下面的grafana查询语句: + +`SELECT sum("sum_sum") / 5 FROM "[tango_cache]SESSION_REDIS" WHERE $timeFilter GROUP BY time(10s) fill(linear)` + + 该语句在聚合多个节点上SESSION_REDIS的总数,group by 的时间为10s,因为FieldStat的输出间隔为2s(通过`STAT_CYCLE`参数),所以sum("sum_sum") 的值要再除以5。 + + 注意:在使用多个FieldStat实例时,`STAT_CYCLE`必须设定为相同的值。 + +函数接口 ``` status_ids[i]=FS_register(handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "status_01"); @@ -40,7 +48,7 @@ status_ids[i]=FS_register(handle, FS_STYLE_STATUS, FS_CALC_CURRENT, "status_01") ### 表格 (Line&Column) - `FS_STYLE_LINE`和`FS_STYLE_COLUMN `输出累计值或瞬时值。 + `FS_STYLE_LINE`和`FS_STYLE_COLUMN `输出当前值或速度值。 ``` ___________________________________________________________________________________________________ @@ -124,6 +132,8 @@ line,app_name=APPNAME column1=value,column2=value `percentiles = [50, 60, 80, 90, 95, 99]` + + ## 统计 ### 记录统计值 diff --git a/src/MESA_field_stat.cpp b/src/MESA_field_stat.cpp index 6dbfe9b..28d19b7 100644 --- a/src/MESA_field_stat.cpp +++ b/src/MESA_field_stat.cpp @@ -1014,7 +1014,7 @@ void StatsD_output(struct FS_space_t* _handle) switch(p->style) { case FS_STYLE_STATUS: - if(p->calc_type==FS_CALC_SPEED) + if(p->calc_type==FS_CALC_CURRENT) { value=get_stat_unit_val(p, 0, FS_CALC_CURRENT, 1); append_statsd_histogram(_handle, p->name, value, 1); |
