Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
evgeniy-scherbina committed Aug 31, 2023
1 parent d3b3606 commit 0604fd6
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 1 deletion.
2 changes: 1 addition & 1 deletion cmd/kava/opendb/run.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
CGO_CFLAGS="-I/opt/homebrew/opt/rocksdb/include" \
CGO_LDFLAGS="-L/opt/homebrew/opt/rocksdb/lib -lrocksdb -lstdc++ -lm -lz -L/opt/homebrew/opt/snappy/lib -L/opt/homebrew/opt/lz4/lib -L/opt/homebrew/opt/zstd/lib" \
go test -v -tags=rocksdb -run=TestParseSerializedStats
go test -v -tags=rocksdb -run=TestStatsLoader
77 changes: 77 additions & 0 deletions cmd/kava/opendb/stats_loader_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package opendb

import (
"testing"

"github.com/stretchr/testify/require"
)

func TestStatsLoader(t *testing.T) {
defaultStat := stat{

Check failure on line 10 in cmd/kava/opendb/stats_loader_test.go

View workflow job for this annotation

GitHub Actions / default / test

undefined: stat
props: map[string]string{
"COUNT": "1",
},
}
defaultHistogramStat := stat{

Check failure on line 15 in cmd/kava/opendb/stats_loader_test.go

View workflow job for this annotation

GitHub Actions / default / test

undefined: stat
props: map[string]string{
"P50": "1",
"P95": "2",
"P99": "3",
"P100": "4",
"COUNT": "5",
"SUM": "6",
},
}
defaultStatMap := map[string]*stat{

Check failure on line 25 in cmd/kava/opendb/stats_loader_test.go

View workflow job for this annotation

GitHub Actions / default / test

undefined: stat
"rocksdb.number.keys.written": &defaultStat,
"rocksdb.number.keys.read": &defaultStat,
"rocksdb.number.keys.updated": &defaultStat,
"rocksdb.block.cache.miss": &defaultStat,
"rocksdb.block.cache.hit": &defaultStat,
"rocksdb.block.cache.add": &defaultStat,
"rocksdb.block.cache.add.failures": &defaultStat,
"rocksdb.compact.read.bytes": &defaultStat,
"rocksdb.compact.write.bytes": &defaultStat,
"rocksdb.compaction.times.micros": &defaultHistogramStat,
"rocksdb.compaction.times.cpu_micros": &defaultHistogramStat,
"rocksdb.numfiles.in.singlecompaction": &defaultHistogramStat,
"rocksdb.read.amp.estimate.useful.bytes": &defaultStat,
"rocksdb.read.amp.total.read.bytes": &defaultStat,
"rocksdb.no.file.opens": &defaultStat,
"rocksdb.no.file.errors": &defaultStat,
"rocksdb.bloom.filter.useful": &defaultStat,
"rocksdb.bloom.filter.full.positive": &defaultStat,
"rocksdb.bloom.filter.full.true.positive": &defaultStat,
"rocksdb.memtable.hit": &defaultStat,
"rocksdb.memtable.miss": &defaultStat,
"rocksdb.l0.hit": &defaultStat,
"rocksdb.l1.hit": &defaultStat,
"rocksdb.l2andup.hit": &defaultStat,
"rocksdb.bytes.written": &defaultStat,
"rocksdb.bytes.read": &defaultStat,
"rocksdb.stall.micros": &defaultStat,
"rocksdb.last.level.read.bytes": &defaultStat,
"rocksdb.last.level.read.count": &defaultStat,
"rocksdb.non.last.level.read.bytes": &defaultStat,
"rocksdb.non.last.level.read.count": &defaultStat,
"rocksdb.db.get.micros": &defaultHistogramStat,
"rocksdb.db.write.micros": &defaultHistogramStat,
"rocksdb.bytes.per.read": &defaultHistogramStat,
"rocksdb.bytes.per.write": &defaultHistogramStat,
"rocksdb.bytes.per.multiget": &defaultHistogramStat,
"rocksdb.db.flush.micros": &defaultHistogramStat,
}

statLoader := newStatLoader(defaultStatMap)

Check failure on line 65 in cmd/kava/opendb/stats_loader_test.go

View workflow job for this annotation

GitHub Actions / default / test

undefined: newStatLoader
stats, err := statLoader.load()
require.NoError(t, err)

require.Equal(t, stats.NumberKeysWritten, int64(1))
require.Equal(t, stats.NumberKeysRead, int64(1))
require.Equal(t, stats.CompactionTimesMicros.P50, float64(1))
require.Equal(t, stats.CompactionTimesMicros.P95, float64(2))
require.Equal(t, stats.CompactionTimesMicros.P99, float64(3))
require.Equal(t, stats.CompactionTimesMicros.P100, float64(4))
require.Equal(t, stats.CompactionTimesMicros.Count, float64(5))
require.Equal(t, stats.CompactionTimesMicros.Sum, float64(6))
}

0 comments on commit 0604fd6

Please sign in to comment.