Documentation
¶
Overview ¶
Copyright 2022 Codenotary Inc. All rights reserved.
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.
Copyright 2022 Codenotary Inc. All rights reserved.
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.
Copyright 2022 Codenotary Inc. All rights reserved.
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.
Copyright 2022 Codenotary Inc. All rights reserved.
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.
Copyright 2022 Codenotary Inc. All rights reserved.
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.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRandStringGen ¶
func NewRandStringGen(size int) *randStringGen
func ToHumanReadable ¶
Types ¶
type Benchmark ¶
type Benchmark interface {
// Get benchmark's name
Name() string
// Do a test warmup
Warmup() error
// Cleanup after the test
Cleanup() error
// Run the test, return the cumulative statistics after the whole run
Run(duration time.Duration, seed uint64) (interface{}, error)
// Gather current snapshot of probes
// This should be delta since the previous probe - e.g. req/sec that happened
// between this and previous run.
// It will be called in parallel while the `Run` call is still ongoing
Probe() interface{}
}
type HWStats ¶
type HWStats struct {
CPUTime float64 `json:"cpuTime"` // Total about of CPU time used by the process in seconds
CPUKernelTimeFraction float64 `json:"cpuTimeKernelFraction"` // Fraction of the total CPU time that was spent on the kernel side
VMM uint64 `json:"vmm"` // Virtual memory used
RSS uint64 `json:"rss"` // Resident memory used
IOBytesRead uint64 `json:"ioBytesRead"` // Number of bytes read
IOBytesWrite uint64 `json:"ioBytesWrite"` // Number of bytes written
IOCallsRead uint64 `json:"ioCallsRead"` // Number of io read syscalls
IOCallsWrite uint64 `json:"ioCallsWrite"` // Number of io write syscalls
}
HWStats contains basic information about hardware properties
type HWStatsProber ¶
type HWStatsProber struct {
// contains filtered or unexported fields
}
func NewHWStatsProber ¶
func NewHWStatsProber() (*HWStatsProber, error)
func (*HWStatsProber) GetHWStats ¶
func (h *HWStatsProber) GetHWStats() (*HWStats, error)
type KeyTracker ¶
type KeyTracker struct {
// contains filtered or unexported fields
}
func NewKeyTracker ¶
func NewKeyTracker(start uint64) *KeyTracker
func (*KeyTracker) GetRKey ¶
func (kt *KeyTracker) GetRKey() string
func (*KeyTracker) GetWKey ¶
func (kt *KeyTracker) GetWKey() string