#metrics #statsd #tags #proxy #transformation #routing #cardinality

bin+lib statsdproxy

用于转换、预聚合和路由 statsd 指标的代理

2 个版本

0.1.2 2024 年 1 月 29 日
0.1.1 2024 年 1 月 10 日

#1717 in 网络编程

Download history 1720/week @ 2024-03-14 1944/week @ 2024-03-21 1918/week @ 2024-03-28 1751/week @ 2024-04-04 2876/week @ 2024-04-11 2477/week @ 2024-04-18 1969/week @ 2024-04-25 1861/week @ 2024-05-02 853/week @ 2024-05-09 718/week @ 2024-05-16 352/week @ 2024-05-23 387/week @ 2024-05-30 609/week @ 2024-06-06 524/week @ 2024-06-13 536/week @ 2024-06-20 277/week @ 2024-06-27

每月 1,984 次下载

Apache-2.0

64KB
1,586

statsdproxy

2

2024

  • 1
  • 29
  • Jan

10

Jan

1,984

Apache-2.0

  1. 64

    socat -u UDP-RECVFROM:8081,fork SYSTEM:"cat; echo"
    
  2. KB

  3. 1,586

    cargo run --release -- --listen 127.0.0.1:8080 --upstream 127.0.0.1:8081 -c config.yaml
    
  4. statsdproxy

    yes 'users.online:1|c|@0.5' | nc -u 127.0.0.1 8080
    
  5. 2

2024

1

DOGSTATSD_HOST = "127.0.0.1"
DOGSTATSD_PORT = "8080"

29

Jan

10

  • Jan
  • 1,984
    • Apache-2.0
    • 中间件应调用下一个中间件的 poll 方法(如果有的话)。
  • 一旦 poll 返回,服务器将使用对当前指标的可变引用调用最顶层中间件的 submit 方法。
    • 中间件应处理指标。
      • 如果处理成功,并且对于其功能来说是适当的(例如,指标聚合器可能会保留指标),中间件应将处理后的指标提交给下一个中间件,并返回此调用的结果。
      • 如果处理失败(例如,未知StatsD方言),则未更改的指标应被视为处理后的指标,并按上述方式传递或保留。
      • 如果在处理过程中中间件无法处理更多指标,以至于它无法处理当前指标,则应返回 Overloaded
    • 如果指示过载,服务器应在再次使用相同指标调用 submit 之前暂停(待定:多长时间)。(如果过载指示太多次,也许应该丢弃指标?)
  • 另外,如果服务器在1秒钟内没有收到任何指标,它将调用最顶层中间件的 poll 方法。对 poll 的此调用应按上述方式处理。

依赖项

~3.5–6MB
~107K SLoC