/usr/share/gocode/src/github.com/influxdata/influxdb/cmd/influxd/run/server_bench_test.go is in golang-github-influxdb-influxdb-dev 1.1.1+dfsg1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | package run_test
import (
"bytes"
"fmt"
"net/url"
"testing"
)
var strResult string
func BenchmarkServer_Query_Count_1(b *testing.B) { benchmarkServerQueryCount(b, 1) }
func BenchmarkServer_Query_Count_1K(b *testing.B) { benchmarkServerQueryCount(b, 1000) }
func BenchmarkServer_Query_Count_100K(b *testing.B) { benchmarkServerQueryCount(b, 100000) }
func BenchmarkServer_Query_Count_1M(b *testing.B) { benchmarkServerQueryCount(b, 1000000) }
func benchmarkServerQueryCount(b *testing.B, pointN int) {
if _, err := benchServer.Query(`DROP MEASUREMENT cpu`); err != nil {
b.Fatal(err)
}
// Write data into server.
var buf bytes.Buffer
for i := 0; i < pointN; i++ {
fmt.Fprintf(&buf, `cpu value=100 %d`, i+1)
if i != pointN-1 {
fmt.Fprint(&buf, "\n")
}
}
benchServer.MustWrite("db0", "rp0", buf.String(), nil)
// Query simple count from server.
b.ResetTimer()
b.ReportAllocs()
var err error
for i := 0; i < b.N; i++ {
if strResult, err = benchServer.Query(`SELECT count(value) FROM db0.rp0.cpu`); err != nil {
b.Fatal(err)
} else if strResult != fmt.Sprintf(`{"results":[{"series":[{"name":"cpu","columns":["time","count"],"values":[["1970-01-01T00:00:00Z",%d]]}]}]}`, pointN) {
b.Fatalf("unexpected result: %s", strResult)
}
}
}
func BenchmarkServer_Query_Count_Where_500(b *testing.B) {
benchmarkServerQueryCountWhere(b, false, 500)
}
func BenchmarkServer_Query_Count_Where_1K(b *testing.B) {
benchmarkServerQueryCountWhere(b, false, 1000)
}
func BenchmarkServer_Query_Count_Where_10K(b *testing.B) {
benchmarkServerQueryCountWhere(b, false, 10000)
}
func BenchmarkServer_Query_Count_Where_100K(b *testing.B) {
benchmarkServerQueryCountWhere(b, false, 100000)
}
func BenchmarkServer_Query_Count_Where_Regex_500(b *testing.B) {
benchmarkServerQueryCountWhere(b, true, 500)
}
func BenchmarkServer_Query_Count_Where_Regex_1K(b *testing.B) {
benchmarkServerQueryCountWhere(b, true, 1000)
}
func BenchmarkServer_Query_Count_Where_Regex_10K(b *testing.B) {
benchmarkServerQueryCountWhere(b, true, 10000)
}
func BenchmarkServer_Query_Count_Where_Regex_100K(b *testing.B) {
benchmarkServerQueryCountWhere(b, true, 100000)
}
func benchmarkServerQueryCountWhere(b *testing.B, useRegex bool, pointN int) {
if _, err := benchServer.Query(`DROP MEASUREMENT cpu`); err != nil {
b.Fatal(err)
}
// Write data into server.
var buf bytes.Buffer
for i := 0; i < pointN; i++ {
fmt.Fprintf(&buf, `cpu,host=server-%d value=100 %d`, i, i)
if i != pointN-1 {
fmt.Fprint(&buf, "\n")
}
}
benchServer.MustWrite("db0", "rp0", buf.String(), nil)
// Query count from server with WHERE
var (
err error
condition = `host = 'server-487'`
)
if useRegex {
condition = `host =~ /^server-487$/`
}
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
if strResult, err = benchServer.Query(fmt.Sprintf(`SELECT count(value) FROM db0.rp0.cpu WHERE %s`, condition)); err != nil {
b.Fatal(err)
} else if strResult == `{"results":[{}]}` {
b.Fatal("no results")
}
}
}
func BenchmarkServer_ShowSeries_1(b *testing.B) { benchmarkServerShowSeries(b, 1) }
func BenchmarkServer_ShowSeries_1K(b *testing.B) { benchmarkServerShowSeries(b, 1000) }
func BenchmarkServer_ShowSeries_100K(b *testing.B) { benchmarkServerShowSeries(b, 100000) }
func BenchmarkServer_ShowSeries_1M(b *testing.B) { benchmarkServerShowSeries(b, 1000000) }
func benchmarkServerShowSeries(b *testing.B, pointN int) {
if _, err := benchServer.Query(`DROP MEASUREMENT cpu`); err != nil {
b.Fatal(err)
}
// Write data into server.
var buf bytes.Buffer
for i := 0; i < pointN; i++ {
fmt.Fprintf(&buf, `cpu,host=server%d value=100 %d`, i, i+1)
if i != pointN-1 {
fmt.Fprint(&buf, "\n")
}
}
benchServer.MustWrite("db0", "rp0", buf.String(), nil)
// Query simple count from server.
b.ResetTimer()
b.ReportAllocs()
var err error
for i := 0; i < b.N; i++ {
if strResult, err = benchServer.QueryWithParams(`SHOW SERIES`, url.Values{"db": {"db0"}}); err != nil {
b.Fatal(err)
}
}
}
|