mirror of
https://github.com/dolthub/dolt.git
synced 2026-03-23 09:11:24 -05:00
144 lines
5.0 KiB
Go
144 lines
5.0 KiB
Go
// Copyright 2022 Dolthub, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package sysbench
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestPopulateHistogram(t *testing.T) {
|
|
|
|
tests := []struct {
|
|
name string
|
|
in []byte
|
|
exp Result
|
|
}{
|
|
{
|
|
name: "w/ histogram",
|
|
in: []byte(`
|
|
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
|
|
|
|
Creating table 'sbtest1'...
|
|
Inserting 10000 records into 'sbtest1'
|
|
Creating a secondary index on 'sbtest1'...
|
|
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
|
|
|
|
Running the test with following options:
|
|
Number of threads: 1
|
|
Initializing random number generator from seed (1).
|
|
|
|
|
|
Initializing worker threads...
|
|
|
|
Threads started!
|
|
|
|
Latency histogram (values are in milliseconds)
|
|
value ------------- distribution ------------- count
|
|
1.319 |**** 3
|
|
1.343 |******** 6
|
|
1.367 |****************** 14
|
|
1.392 |********************* 17
|
|
1.417 |******************************* 25
|
|
1.443 |**************************************** 32
|
|
1.469 |************************ 19
|
|
1.496 |******************* 15
|
|
1.523 |****** 5
|
|
1.551 |****** 5
|
|
1.579 |******** 6
|
|
1.608 |******** 6
|
|
1.637 |****** 5
|
|
1.667 |*** 2
|
|
1.697 |***** 4
|
|
1.791 |* 1
|
|
1.891 |* 1
|
|
2.106 |**** 3
|
|
2.184 |*** 2
|
|
2.223 |**** 3
|
|
2.264 |*** 2
|
|
2.305 |**** 3
|
|
2.347 |**** 3
|
|
2.389 |**** 3
|
|
2.433 |****** 5
|
|
2.477 |*** 2
|
|
2.522 |**** 3
|
|
2.568 |*** 2
|
|
2.662 |* 1
|
|
2.760 |* 1
|
|
3.130 |* 1
|
|
|
|
SQL statistics:
|
|
queries performed:
|
|
read: 200
|
|
write: 0
|
|
other: 0
|
|
total: 200
|
|
transactions: 200 (609.48 per sec.)
|
|
queries: 200 (609.48 per sec.)
|
|
ignored errors: 0 (0.00 per sec.)
|
|
reconnects: 0 (0.00 per sec.)
|
|
|
|
General statistics:
|
|
total time: 0.3272s
|
|
total number of events: 200
|
|
|
|
Latency (ms):
|
|
min: 1.32
|
|
avg: 1.62
|
|
max: 3.14
|
|
95th percentile: 2.43
|
|
sum: 324.91
|
|
|
|
Threads fairness:
|
|
events (avg/stddev): 200.0000/0.00
|
|
execution time (avg/stddev): 0.3249/0.00
|
|
|
|
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
|
|
|
|
Dropping table 'sbtest1'...`),
|
|
exp: Result{
|
|
time: .327,
|
|
iters: 200,
|
|
avg: 1.62,
|
|
median: 1.496,
|
|
stddev: .369,
|
|
hist: &Hist{
|
|
bins: []float64{1.319, 1.343, 1.367, 1.392, 1.417, 1.443, 1.469, 1.496, 1.523, 1.551, 1.579, 1.608, 1.637, 1.667, 1.697, 1.791, 1.891, 2.106, 2.184, 2.223, 2.264, 2.305, 2.347, 2.389, 2.433, 2.477, 2.522, 2.568, 2.662, 2.760, 3.130},
|
|
cnts: []int{3, 6, 14, 17, 25, 32, 19, 15, 5, 5, 6, 6, 5, 2, 4, 1, 1, 3, 2, 3, 2, 3, 3, 3, 5, 2, 3, 2, 1, 1, 1},
|
|
cnt: 200,
|
|
mn: 1.623,
|
|
md: 1.496,
|
|
v: .136,
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
r := &Result{}
|
|
r.populateHistogram(tt.in)
|
|
require.Equal(t, r.String(), tt.exp.String())
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestLogJoin(t *testing.T) {
|
|
t.Skip()
|
|
scriptDir := "/Users/max-hoffman/go/src/github.com/dolthub/systab-sysbench-scripts"
|
|
RunTestsFile(t, "testdata/log-join.yaml", scriptDir)
|
|
}
|