undefined

】statsD

statsD就是一个简单的网络守护进程,基于Node.js 平台,通过UDP或者TCP方式侦听各种统计信息,包括计数器和定时器,并发送聚合信息到后端服务。

支持的数据类型

  1. Counting:计数功能,statsD会将收到的counter value累加,然后在flush时输出,并且重新清零。所以就能用counter方便的查看一段时间某个操作的频率。

  2. Gauges:gauge在下次flush时不会清零,另外,gauge通常是在client进行统计好发给statsD。也不会进行累加。

  3. Set:用来计算某个metric unique事件的个数。譬如对于一个接口,我们想知道有多少个user访问了,可以这样

    1
    2
    3
    request:1|s
    request:2|s
    request:1|s

    statsD就会展示这个request metric 只有1,2 两个用户访问了。

  4. Timing:记录某个操作的耗时。foo:100|ms,意思完成foo这个操作花费了100ms,但仅仅是记录这个操作的耗时,可以和histogram一起使用,就可以知道哪个区间的耗时。

datadog

datadog 是一个提供 dogstatsD的库

  • Gauge
    Gauge是可以任意上下波动数值的指标类型。
    也即Gauge的值可增可减,可升可降。
    例如:机器的CPU使用率,可大可小。

  • Counter
    Counter是一个累计类型的数据指标,它代表单调递增的计数器。
    其值只能在重新启动时增加或重置为 0。
    例如,您可以使用计数器来表示已响应的HTTP请求数,这个数一定是不断增长的。

  • Set (not recommended)

    如上

  • Histogram&Timing (Summary)
    分位数:https://www.sohu.com/a/333237222_764649

  • Distribution (Histogram)
    累积直方图。 https://www.jianshu.com/p/ac7ab610537a/
    Histogram 会在一段时间范围内对数据进行采样(通常是请求持续时间或响应大小等),并将其计入可配置的存储桶(bucket)中