小编jk2*_*k2K的帖子

在 Grafana 上使用 InfluxDB 计算每秒请求数

我使用telegraf插件nginx来读取Nginx的基本状态信息(ngx_http_stub_status_module)

这是我的查询

请求每秒查询

原始sql:

SELECT derivative(mean("requests"), 1s) FROM "nginx" WHERE $timeFilter GROUP BY time($interval) fill(null)
Run Code Online (Sandbox Code Playgroud)

这是我的数据

time            accepts active  handled host    port    reading requests    server      waitingwriting
1464921070000000000 7   1   7   hysm    80  0   17      localhost   0   1
1464921080000000000 8   1   8   hysm    80  0   19      localhost   0   1
1464921090000000000 8   1   8   hysm    80  0   20      localhost   0   1
1464921100000000000 8   1   8   hysm    80  0   21      localhost   0   1
Run Code Online (Sandbox Code Playgroud)

但是 requestPerSecond 是 0.083,我的查询有什么问题?

每秒请求图

influxdb grafana

8
推荐指数
1
解决办法
1万
查看次数

rand.Read 的碰撞是什么

我在浏览mattermost代码时遇到了两个问题

  1. 为什么长度data []byte1+(length*5/8)?为什么length乘以5?
  2. 什么是碰撞rand.Read?在 Linux 和 FreeBSD 上,rand.Read如果可用,使用 getrandom(2)
package main

import (
    "fmt"
    "crypto/rand"
    "encoding/base32"
)

func main() {
    fmt.Println("Hello, playground")
    fmt.Println(NewRandomString(64))
}

var encoding = base32.NewEncoding("ybndrfg8ejkmcpqxot1uwisza345h769")

// NewRandomString returns a random string of the given length.
// The resulting entropy will be (5 * length) bits.
func NewRandomString(length int) string {
    data := make([]byte, 1+(length*5/8))
    rand.Read(data)
    return encoding.EncodeToString(data)[:length]
}
Run Code Online (Sandbox Code Playgroud)

你可以试试:https : //play.golang.org/p/WcS667bP407

参考https://github.com/mattermost/mattermost-server/blob/fc60a1e8dd9d1a225687aead0684035ee63d7562/model/utils.go#L184

go mattermost

0
推荐指数
1
解决办法
72
查看次数

标签 统计

go ×1

grafana ×1

influxdb ×1

mattermost ×1