v1alpha1

package
v0.0.0-...-2ff42f3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the benchmark v1alpha1 API group +kubebuilder:object:generate=true +groupName=benchmark.apecloud.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "benchmark.apecloud.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type BenchCommon

type BenchCommon struct {
	// step is all, will exec cleanup, prepare, run
	// step is cleanup, will exec cleanup
	// step is prepare, will exec prepare
	// step is run, will exec run
	// +kubebuilder:default=all
	// +kubebuilder:validation:Enum={all,cleanup,prepare,run}
	// +optional
	Step string `json:"step,omitempty"`

	// the database target to run benchmark
	// +required
	Target Target `json:"target"`

	// the other sysbench run command flags to use for benchmark
	// +optional
	ExtraArgs []string `json:"extraArgs,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`

	// the resource requirements for the benchmark
	ResourceLimits   *ResourceList `json:"resourceLimits,omitempty"`
	ResourceRequests *ResourceList `json:"resourceRequests,omitempty"`
}

BenchCommon defines common attributes for all benchmarks.

func (*BenchCommon) DeepCopy

func (in *BenchCommon) DeepCopy() *BenchCommon

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BenchCommon.

func (*BenchCommon) DeepCopyInto

func (in *BenchCommon) DeepCopyInto(out *BenchCommon)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BenchmarkPhase

type BenchmarkPhase string

BenchmarkPhase is the current state of the test. +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}

const (
	Pending   BenchmarkPhase = "Pending"
	Running   BenchmarkPhase = "Running"
	Completed BenchmarkPhase = "Completed"
	Failed    BenchmarkPhase = "Failed"
)

type Fio

type Fio struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FioSpec   `json:"spec,omitempty"`
	Status FioStatus `json:"status,omitempty"`
}

Fio is the Schema for the fios API

func (*Fio) DeepCopy

func (in *Fio) DeepCopy() *Fio

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Fio.

func (*Fio) DeepCopyInto

func (in *Fio) DeepCopyInto(out *Fio)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Fio) DeepCopyObject

func (in *Fio) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FioList

type FioList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Fio `json:"items"`
}

FioList contains a list of Fio

func (*FioList) DeepCopy

func (in *FioList) DeepCopy() *FioList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioList.

func (*FioList) DeepCopyInto

func (in *FioList) DeepCopyInto(out *FioList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FioList) DeepCopyObject

func (in *FioList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type FioSpec

type FioSpec struct {
	// The total size of file I/O for each thread of the test.
	// Please refer to https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-size
	// +kubebuilder:validation:Pattern=^[0-9]+[kKmMgG]?$
	// +kubebuilder:default="1G"
	// +optional
	Size string `json:"size,omitempty"`

	// The block size to use for the test.
	// Please refer to https://fio.readthedocs.io/en/latest/fio_doc.html#block-size
	// +kubebuilder:validation:Pattern=^[0-9]+[kKmMgG]?$
	// +kubebuilder:default="4k"
	// +optional
	Bs string `json:"bs,omitempty"`

	// The number of threads to use for the test.
	// Please refer to https://fio.readthedocs.io/en/latest/fio_doc.html#job-description
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={1}
	// +optional
	Numjobs []int `json:"numjobs,omitempty"`

	// Limit runtime. The test will run until it completes the configured I/O workload
	// or until it has run for this specified amount of time, whichever occurs first.
	// Please refer to https://fio.readthedocs.io/en/latest/fio_doc.html##time-related-parameters
	// +kubebuilder:validation:Minimum=0
	// +optional
	RunTime int `json:"runtime,omitempty"`

	// Number of I/O units to keep in flight against the file.
	// Please refer to https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-depth
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +optional
	Iodepth int `json:"iodepth,omitempty"`

	// The I/O engine to use.
	// Please refer to https://fio.readthedocs.io/en/latest/fio_doc.html#cmdoption-arg-ioengine
	// +kubebuilder:default=psync
	// +optional
	IoEngine string `json:"ioengine,omitempty"`

	// Whether to use non-buffered I/O.
	// Please refer to https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-type
	// +kubebuilder:default=true
	// +optional
	Direct bool `json:"direct,omitempty"`

	// The type of I/O pattern to use.
	// Please refer to https://fio.readthedocs.io/en/latest/fio_doc.html#i-o-type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={read}
	// +optional
	Rws []string `json:"rws,omitempty"`

	// The other fio run command flags to use for benchmark
	// +optional
	ExtraArgs []string `json:"extraArgs,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`

	// the resource requirements for the benchmark
	ResourceLimits   *ResourceList `json:"resourceLimits,omitempty"`
	ResourceRequests *ResourceList `json:"resourceRequests,omitempty"`
}

FioSpec defines the desired state of Fio Reference https://fio.readthedocs.io/en/latest/fio_doc.html

func (*FioSpec) DeepCopy

func (in *FioSpec) DeepCopy() *FioSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioSpec.

func (*FioSpec) DeepCopyInto

func (in *FioSpec) DeepCopyInto(out *FioSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FioStatus

type FioStatus struct {
	// Phase is the current state of the test. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
	// +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}
	Phase BenchmarkPhase `json:"phase,omitempty"`

	// completions is the completed/total number of pgbench runs
	Completions string `json:"completions,omitempty"`

	// succeeded is the number of successful pgbench runs
	Succeeded int `json:"succeeded,omitempty"`

	// total is the number of pgbench runs
	Total int `json:"total,omitempty"`

	// Describes the current state of benchmark conditions.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

FioStatus defines the observed state of Fio

func (*FioStatus) DeepCopy

func (in *FioStatus) DeepCopy() *FioStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioStatus.

func (*FioStatus) DeepCopyInto

func (in *FioStatus) DeepCopyInto(out *FioStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Pgbench

type Pgbench struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PgbenchSpec   `json:"spec,omitempty"`
	Status PgbenchStatus `json:"status,omitempty"`
}

Pgbench is the Schema for the pgbenches API

func (*Pgbench) DeepCopy

func (in *Pgbench) DeepCopy() *Pgbench

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pgbench.

func (*Pgbench) DeepCopyInto

func (in *Pgbench) DeepCopyInto(out *Pgbench)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Pgbench) DeepCopyObject

func (in *Pgbench) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PgbenchList

type PgbenchList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Pgbench `json:"items"`
}

PgbenchList contains a list of Pgbench

func (*PgbenchList) DeepCopy

func (in *PgbenchList) DeepCopy() *PgbenchList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgbenchList.

func (*PgbenchList) DeepCopyInto

func (in *PgbenchList) DeepCopyInto(out *PgbenchList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PgbenchList) DeepCopyObject

func (in *PgbenchList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PgbenchSpec

type PgbenchSpec struct {
	// The scale factor.
	// Multiply the number of rows generated by the scale factor. For example,
	// scale 100 will create 10,000,000 rows in the pgbench_accounts table.
	// Default is 1. When the scale is 20,000 or larger, the columns used to
	// hold account identifiers (aid columns) will switch to using larger
	// integers (bigint), in order to be big enough to hold the range of account
	// identifiers.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +optional
	Scale int `json:"scale,omitempty"`

	// clients provides a list of client counts to run pgbench with multiple times.
	// This allows for multiple runs of pgbench with different client counts.
	// It is different with the clients parameter of pgbench command, which is
	// the number of concurrent clients to run once.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={1}
	// +optional
	Clients []int `json:"clients,omitempty"`

	// Number of worker threads within pgbench. Using more than one thread can
	// be helpful on multi-CPU machines. Clients are distributed as evenly as
	// possible among available threads. Default is 1.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +optional
	Threads int `json:"threads,omitempty"`

	// Establish a connection for each transaction, rather than doing it just
	// once per client session. This is useful to measure the connection overhead.
	// +kubebuilder:default=false
	// +optional
	Connect bool `json:"connect,omitempty"`

	// Only run the select-only part of the benchmark
	// +optional
	SelectOnly bool `json:"selectOnly,omitempty"`

	// Number of transactions each client runs.
	// Note: the transactions and duration parameters are mutually exclusive.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=0
	// +optional
	Transactions int `json:"transactions,omitempty"`

	// Run the test for this many seconds, rather than a fixed number of
	// transactions per client.
	// Note: the transactions and duration parameters are mutually exclusive.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=60
	// +optional
	Duration int `json:"duration,omitempty"`

	BenchCommon `json:",inline"`
}

PgbenchSpec defines the desired state of Pgbench Reference https://www.postgresql.org/docs/current/pgbench.html

func (*PgbenchSpec) DeepCopy

func (in *PgbenchSpec) DeepCopy() *PgbenchSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgbenchSpec.

func (*PgbenchSpec) DeepCopyInto

func (in *PgbenchSpec) DeepCopyInto(out *PgbenchSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PgbenchStatus

type PgbenchStatus struct {
	// Phase is the current state of the test. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
	// +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}
	Phase BenchmarkPhase `json:"phase,omitempty"`

	// completions is the completed/total number of pgbench runs
	Completions string `json:"completions,omitempty"`

	// succeeded is the number of successful pgbench runs
	Succeeded int `json:"succeeded,omitempty"`

	// total is the number of pgbench runs
	Total int `json:"total,omitempty"`

	// Describes the current state of benchmark conditions.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

PgbenchStatus defines the observed state of Pgbench

func (*PgbenchStatus) DeepCopy

func (in *PgbenchStatus) DeepCopy() *PgbenchStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgbenchStatus.

func (*PgbenchStatus) DeepCopyInto

func (in *PgbenchStatus) DeepCopyInto(out *PgbenchStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisBench

type RedisBench struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RedisBenchSpec   `json:"spec,omitempty"`
	Status RedisBenchStatus `json:"status,omitempty"`
}

RedisBench is the Schema for the RedisBenches API

func (*RedisBench) DeepCopy

func (in *RedisBench) DeepCopy() *RedisBench

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisBench.

func (*RedisBench) DeepCopyInto

func (in *RedisBench) DeepCopyInto(out *RedisBench)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisBench) DeepCopyObject

func (in *RedisBench) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RedisBenchList

type RedisBenchList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RedisBench `json:"items"`
}

RedisBenchList contains a list of RedisBench

func (*RedisBenchList) DeepCopy

func (in *RedisBenchList) DeepCopy() *RedisBenchList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisBenchList.

func (*RedisBenchList) DeepCopyInto

func (in *RedisBenchList) DeepCopyInto(out *RedisBenchList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisBenchList) DeepCopyObject

func (in *RedisBenchList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RedisBenchSpec

type RedisBenchSpec struct {
	// clients provides a list of client counts to run redis-benchmark with multiple times.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={1}
	Clients []int `json:"clients,omitempty"`

	// total number of requests
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=100000
	Requests int `json:"requests,omitempty"`

	// data size of set/get value in bytes
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=3
	DataSize int `json:"dataSize,omitempty"`

	// use random keys for SET/GET/INCR, random values for SADD.
	// +optional
	KeySpace *int `json:"keySpace,omitempty"`

	// only run the comma-separated list of tests. The test names are the same as the ones produced as output.
	Tests string `json:"tests,omitempty"`

	// pipeline number of commands to pipeline. Default is 1 (no pipeline).
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +optional
	Pipeline int `json:"pipeline,omitempty"`

	// Quiet. Just show query/sec values.
	// +kubebuilder:default=true
	// +optional
	Quiet bool `json:"quiet,omitempty"`

	BenchCommon `json:",inline"`
}

RedisBenchSpec defines the desired state of RedisBench

func (*RedisBenchSpec) DeepCopy

func (in *RedisBenchSpec) DeepCopy() *RedisBenchSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisBenchSpec.

func (*RedisBenchSpec) DeepCopyInto

func (in *RedisBenchSpec) DeepCopyInto(out *RedisBenchSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisBenchStatus

type RedisBenchStatus struct {
	// Phase is the current state of the test. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
	// +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}
	Phase BenchmarkPhase `json:"phase,omitempty"`

	// completions is the completed/total number of pgbench runs
	Completions string `json:"completions,omitempty"`

	// succeeded is the number of successful pgbench runs
	Succeeded int `json:"succeeded,omitempty"`

	// total is the number of pgbench runs
	Total int `json:"total,omitempty"`

	// Describes the current state of benchmark conditions.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

RedisBenchStatus defines the observed state of RedisBench

func (*RedisBenchStatus) DeepCopy

func (in *RedisBenchStatus) DeepCopy() *RedisBenchStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisBenchStatus.

func (*RedisBenchStatus) DeepCopyInto

func (in *RedisBenchStatus) DeepCopyInto(out *RedisBenchStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceList

type ResourceList struct {
	Cpu string `json:"cpu,omitempty" protobuf:"bytes,23,opt,name=cpu"`

	Memory string `json:"memory,omitempty" protobuf:"bytes,24,opt,name=memory"`
}

func (*ResourceList) DeepCopy

func (in *ResourceList) DeepCopy() *ResourceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceList.

func (*ResourceList) DeepCopyInto

func (in *ResourceList) DeepCopyInto(out *ResourceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Sysbench

type Sysbench struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SysbenchSpec   `json:"spec,omitempty"`
	Status SysbenchStatus `json:"status,omitempty"`
}

Sysbench is the Schema for the sysbenches API

func (*Sysbench) DeepCopy

func (in *Sysbench) DeepCopy() *Sysbench

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sysbench.

func (*Sysbench) DeepCopyInto

func (in *Sysbench) DeepCopyInto(out *Sysbench)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Sysbench) DeepCopyObject

func (in *Sysbench) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SysbenchList

type SysbenchList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Sysbench `json:"items"`
}

SysbenchList contains a list of Sysbench

func (*SysbenchList) DeepCopy

func (in *SysbenchList) DeepCopy() *SysbenchList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysbenchList.

func (*SysbenchList) DeepCopyInto

func (in *SysbenchList) DeepCopyInto(out *SysbenchList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SysbenchList) DeepCopyObject

func (in *SysbenchList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SysbenchSpec

type SysbenchSpec struct {
	// the number of tables to use for sysbench
	Tables int `json:"tables,omitempty"`

	// the data volume of tables to use for sysbench
	Size int `json:"size,omitempty"`

	// the number of threads to use for sysbench
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={4}
	// +optional
	Threads []int `json:"threads,omitempty"`

	// the sysbench test types to run
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={"oltp_read_write"}
	// +optional
	Types []string `json:"types,omitempty"`

	// the number of seconds to run sysbench
	// +kubebuilder:validation:Minimum=1
	// +optional
	Duration int `json:"duration,omitempty"`

	BenchCommon `json:",inline"`
}

SysbenchSpec defines the desired state of Sysbench

func (*SysbenchSpec) DeepCopy

func (in *SysbenchSpec) DeepCopy() *SysbenchSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysbenchSpec.

func (*SysbenchSpec) DeepCopyInto

func (in *SysbenchSpec) DeepCopyInto(out *SysbenchSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SysbenchStatus

type SysbenchStatus struct {
	// Phase is the current state of the test. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
	// +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}
	Phase BenchmarkPhase `json:"phase,omitempty"`

	// completions is the completed/total number of sysbench runs
	Completions string `json:"completions,omitempty"`

	// succeeded is the number of successful sysbench runs
	Succeeded int `json:"succeeded,omitempty"`

	// failed is the number of failed sysbench runs
	Total int `json:"total,omitempty"`

	// Describes the current state of benchmark conditions.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

SysbenchStatus defines the observed state of Sysbench

func (*SysbenchStatus) DeepCopy

func (in *SysbenchStatus) DeepCopy() *SysbenchStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysbenchStatus.

func (*SysbenchStatus) DeepCopyInto

func (in *SysbenchStatus) DeepCopyInto(out *SysbenchStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Target

type Target struct {
	// the driver represents the database type
	// +optional
	// +kubebuilder:validation:Enum={mysql,postgresql,mongodb,redis}
	Driver string `json:"driver,omitempty"`

	// The database server's host name
	// +required
	Host string `json:"host"`

	// The database server's port number
	// +required
	Port int `json:"port"`

	// The username to connect as
	// +optional
	User string `json:"user,omitempty"`

	// The database server's password
	// +optional
	Password string `json:"password,omitempty"`

	// The database name of the target
	// +optional
	// +kubebuilder:default=kubebench
	Database string `json:"database,omitempty"`
}

func (*Target) DeepCopy

func (in *Target) DeepCopy() *Target

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.

func (*Target) DeepCopyInto

func (in *Target) DeepCopyInto(out *Target)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tpcc

type Tpcc struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TpccSpec   `json:"spec,omitempty"`
	Status TpccStatus `json:"status,omitempty"`
}

Tpcc is the Schema for the tpccs API

func (*Tpcc) DeepCopy

func (in *Tpcc) DeepCopy() *Tpcc

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tpcc.

func (*Tpcc) DeepCopyInto

func (in *Tpcc) DeepCopyInto(out *Tpcc)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Tpcc) DeepCopyObject

func (in *Tpcc) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TpccList

type TpccList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Tpcc `json:"items"`
}

TpccList contains a list of Tpcc

func (*TpccList) DeepCopy

func (in *TpccList) DeepCopy() *TpccList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpccList.

func (*TpccList) DeepCopyInto

func (in *TpccList) DeepCopyInto(out *TpccList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TpccList) DeepCopyObject

func (in *TpccList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TpccSpec

type TpccSpec struct {
	// overall scale of the tpcc test
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +required
	WareHouses int `json:"wareHouses,omitempty"`

	// the number of threads to use for tpcc
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={1}
	// +required
	Threads []int `json:"threads,omitempty"`

	// the number of transactions to use for tpcc each thread
	// +kubebuilder:validation:Minimum=1
	// +optional
	Transactions int `json:"transactions,omitempty"`

	// the number of minutes to run tpcc
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +optional
	Duration int `json:"duration,omitempty"`

	// number of transactions to use for each minute
	// 0 means no limit
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=0
	// +optional
	LimitTxPerMin int `json:"limitTxPerMin,omitempty"`

	// percentage of new order transactions
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=45
	// +optional
	NewOrder int `json:"newOrder,omitempty"`

	// percentage of payment transactions
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=43
	// +optional
	Payment int `json:"payment,omitempty"`

	// percentage of order status transactions
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=4
	// +optional
	OrderStatus int `json:"orderStatus,omitempty"`

	// percentage of delivery transactions
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=4
	// +optional
	Delivery int `json:"delivery,omitempty"`

	// percentage of stock level transactions
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=4
	// +optional
	StockLevel int `json:"stockLevel,omitempty"`

	BenchCommon `json:",inline"`
}

TpccSpec defines the desired state of Tpcc

func (*TpccSpec) DeepCopy

func (in *TpccSpec) DeepCopy() *TpccSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpccSpec.

func (*TpccSpec) DeepCopyInto

func (in *TpccSpec) DeepCopyInto(out *TpccSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TpccStatus

type TpccStatus struct {
	// Phase is the current state of the test. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
	// +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}
	Phase BenchmarkPhase `json:"phase,omitempty"`

	// completions is the completed/total number of sysbench runs
	Completions string `json:"completions,omitempty"`

	// succeeded is the number of successful sysbench runs
	Succeeded int `json:"succeeded,omitempty"`

	// failed is the number of failed sysbench runs
	Total int `json:"total,omitempty"`

	// Describes the current state of benchmark conditions.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TpccStatus defines the observed state of Tpcc

func (*TpccStatus) DeepCopy

func (in *TpccStatus) DeepCopy() *TpccStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpccStatus.

func (*TpccStatus) DeepCopyInto

func (in *TpccStatus) DeepCopyInto(out *TpccStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tpcds

type Tpcds struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TpcdsSpec   `json:"spec,omitempty"`
	Status TpcdsStatus `json:"status,omitempty"`
}

Tpcds is the Schema for the tpcds API

func (*Tpcds) DeepCopy

func (in *Tpcds) DeepCopy() *Tpcds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tpcds.

func (*Tpcds) DeepCopyInto

func (in *Tpcds) DeepCopyInto(out *Tpcds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Tpcds) DeepCopyObject

func (in *Tpcds) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TpcdsList

type TpcdsList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Tpcds `json:"items"`
}

TpcdsList contains a list of Tpcds

func (*TpcdsList) DeepCopy

func (in *TpcdsList) DeepCopy() *TpcdsList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpcdsList.

func (*TpcdsList) DeepCopyInto

func (in *TpcdsList) DeepCopyInto(out *TpcdsList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TpcdsList) DeepCopyObject

func (in *TpcdsList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TpcdsSpec

type TpcdsSpec struct {
	// overall scale of the tpcds test
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +required
	Size int `json:"size,omitempty"`

	// create pk and fk for tpcds test, it will cost extra time
	// +kubebuilder:default=false
	// +optional
	UseKey bool `json:"useKey,omitempty"`

	BenchCommon `json:",inline"`
}

TpcdsSpec defines the desired state of Tpcds

func (*TpcdsSpec) DeepCopy

func (in *TpcdsSpec) DeepCopy() *TpcdsSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpcdsSpec.

func (*TpcdsSpec) DeepCopyInto

func (in *TpcdsSpec) DeepCopyInto(out *TpcdsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TpcdsStatus

type TpcdsStatus struct {
	// Phase is the current state of the test. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
	// +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}
	Phase BenchmarkPhase `json:"phase,omitempty"`

	// completions is the completed/total number of sysbench runs
	Completions string `json:"completions,omitempty"`

	// succeeded is the number of successful sysbench runs
	Succeeded int `json:"succeeded,omitempty"`

	// failed is the number of failed sysbench runs
	Total int `json:"total,omitempty"`

	// Describes the current state of benchmark conditions.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TpcdsStatus defines the observed state of Tpcds

func (*TpcdsStatus) DeepCopy

func (in *TpcdsStatus) DeepCopy() *TpcdsStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpcdsStatus.

func (*TpcdsStatus) DeepCopyInto

func (in *TpcdsStatus) DeepCopyInto(out *TpcdsStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Tpch

type Tpch struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TpchSpec   `json:"spec,omitempty"`
	Status TpchStatus `json:"status,omitempty"`
}

Tpch is the Schema for the tpches API

func (*Tpch) DeepCopy

func (in *Tpch) DeepCopy() *Tpch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tpch.

func (*Tpch) DeepCopyInto

func (in *Tpch) DeepCopyInto(out *Tpch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Tpch) DeepCopyObject

func (in *Tpch) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TpchList

type TpchList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Tpch `json:"items"`
}

TpchList contains a list of Tpch

func (*TpchList) DeepCopy

func (in *TpchList) DeepCopy() *TpchList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpchList.

func (*TpchList) DeepCopyInto

func (in *TpchList) DeepCopyInto(out *TpchList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TpchList) DeepCopyObject

func (in *TpchList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TpchSpec

type TpchSpec struct {
	// overall scale of the tpch test
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	// +required
	Size int `json:"size,omitempty"`

	BenchCommon `json:",inline"`
}

TpchSpec defines the desired state of Tpch

func (*TpchSpec) DeepCopy

func (in *TpchSpec) DeepCopy() *TpchSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpchSpec.

func (*TpchSpec) DeepCopyInto

func (in *TpchSpec) DeepCopyInto(out *TpchSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TpchStatus

type TpchStatus struct {
	// Phase is the current state of the test. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
	// +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}
	Phase BenchmarkPhase `json:"phase,omitempty"`

	// completions is the completed/total number of sysbench runs
	Completions string `json:"completions,omitempty"`

	// succeeded is the number of successful sysbench runs
	Succeeded int `json:"succeeded,omitempty"`

	// failed is the number of failed sysbench runs
	Total int `json:"total,omitempty"`

	// Describes the current state of benchmark conditions.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TpchStatus defines the observed state of Tpch

func (*TpchStatus) DeepCopy

func (in *TpchStatus) DeepCopy() *TpchStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpchStatus.

func (*TpchStatus) DeepCopyInto

func (in *TpchStatus) DeepCopyInto(out *TpchStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Ycsb

type Ycsb struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   YcsbSpec   `json:"spec,omitempty"`
	Status YcsbStatus `json:"status,omitempty"`
}

Ycsb is the Schema for the ycsbs API

func (*Ycsb) DeepCopy

func (in *Ycsb) DeepCopy() *Ycsb

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ycsb.

func (*Ycsb) DeepCopyInto

func (in *Ycsb) DeepCopyInto(out *Ycsb)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Ycsb) DeepCopyObject

func (in *Ycsb) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type YcsbList

type YcsbList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Ycsb `json:"items"`
}

YcsbList contains a list of Ycsb

func (*YcsbList) DeepCopy

func (in *YcsbList) DeepCopy() *YcsbList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YcsbList.

func (*YcsbList) DeepCopyInto

func (in *YcsbList) DeepCopyInto(out *YcsbList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*YcsbList) DeepCopyObject

func (in *YcsbList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type YcsbSpec

type YcsbSpec struct {
	// the number of records in the table to be inserted in
	// the load phase or the number of records already in the
	// table before the run phase.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=10000
	// +optional
	RecordCount int `json:"recordCount,omitempty"`

	// The number of operations to use during the run phase.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=10000
	// +optional
	OperationCount int `json:"operationCount,omitempty"`

	// the proportion of reads in the run phase.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=0
	// +optional
	ReadProportion int `json:"readProportion,omitempty"`

	// the proportion of updates in the run phase.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=0
	// +optional
	UpdateProportion int `json:"updateProportion,omitempty"`

	// the proportion of inserts in the run phase.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=0
	// +optional
	InsertProportion int `json:"insertProportion,omitempty"`

	// the proportion of operations read then modify a record in the run phase.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=0
	// +optional
	ReadModifyWriteProportion int `json:"readModifyWriteProportion,omitempty"`

	// the proportion of scans in the run phase.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=0
	// +optional
	ScanProportion int `json:"scanProportion,omitempty"`

	// the distribution of requests accross the keyspace.
	// uniform: each key has an equal probability of being accessed.
	// sequential: keys are accessed in sequential order.
	// zipfian: some keys are accessed more frequently than others.
	// latest: the most recently inserted keys are accessed more frequently.
	// hotspot: a small number of keys are accessed more frequently.
	// exponential: keys are accessed in an exponential distribution.
	// +kubebuilder:validation:Enum={uniform,sequential,zipfian,latest,hotspot,exponential}
	// +kubebuilder:default=uniform
	// +optional
	RequestDistribution string `json:"requestDistribution,omitempty"`

	// the distribution of scan lengths
	// +kubebuilder:validation:Enum={uniform,zipfian}
	// +kubebuilder:default=uniform
	// +optional
	ScanLengthDistribution string `json:"scanLengthDistribution,omitempty"`

	// the distribution of field lengths
	// +kubebuilder:validation:Enum={constant,uniform,zipfian,histogram}
	// +kubebuilder:default=constant
	// +optional
	FieldLengthDistribution string `json:"fieldLengthDistribution,omitempty"`

	// the number of threads
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:default={1}
	// +optional
	Threads []int `json:"threads,omitempty"`

	BenchCommon `json:",inline"`
}

YcsbSpec defines the desired state of ycsb Reference https://github.com/pingcap/go-ycsb

func (*YcsbSpec) DeepCopy

func (in *YcsbSpec) DeepCopy() *YcsbSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YcsbSpec.

func (*YcsbSpec) DeepCopyInto

func (in *YcsbSpec) DeepCopyInto(out *YcsbSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type YcsbStatus

type YcsbStatus struct {
	// Phase is the current state of the test. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
	// +kubebuilder:validation:Enum={Pending,Running,Completed,Failed}
	Phase BenchmarkPhase `json:"phase,omitempty"`

	// completions is the completed/total number of sysbench runs
	Completions string `json:"completions,omitempty"`

	// succeeded is the number of successful sysbench runs
	Succeeded int `json:"succeeded,omitempty"`

	// failed is the number of failed sysbench runs
	Total int `json:"total,omitempty"`

	// Describes the current state of benchmark conditions.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

YcsbStatus defines the observed state of Ycsb

func (*YcsbStatus) DeepCopy

func (in *YcsbStatus) DeepCopy() *YcsbStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YcsbStatus.

func (*YcsbStatus) DeepCopyInto

func (in *YcsbStatus) DeepCopyInto(out *YcsbStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL