26 lines
698 B
Markdown
26 lines
698 B
Markdown
# flow
|
|
|
|
并发安全的流量统计器(只统计、不限制):按累计字节数记录收发流量,
|
|
常配合 `conn` 包给限速连接挂统计。
|
|
|
|
> 迁移自 go-hua/flow,代码保持原样。
|
|
|
|
## 用法
|
|
|
|
```go
|
|
import "git.zeroonesoft.cn/golib/zogo/flow"
|
|
|
|
f := &flow.Flow{}
|
|
f.Add(100, 200) // 累计:发送 100、接收 200
|
|
send, recv := f.Get() // (150, 280)
|
|
|
|
send, recv = f.Reset() // 取走并清零(周期性上报场景)
|
|
```
|
|
|
|
完整可运行例程:[examples/flow/main.go](../examples/flow/main.go)
|
|
|
|
## 注意
|
|
|
|
- 计数跨进程生命周期累计,需要"每分钟流量"这类指标时用 `Reset` 取走清零。
|
|
- `json` 序列化字段为 `sendFlow`/`recvFlow`。
|