Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the benchmark v1alpha1 API group +kubebuilder:object:generate=true +groupName=benchmark.apecloud.io
Index ¶
- Variables
- type BenchCommon
- type BenchmarkPhase
- type Fio
- type FioList
- type FioSpec
- type FioStatus
- type Pgbench
- type PgbenchList
- type PgbenchSpec
- type PgbenchStatus
- type RedisBench
- type RedisBenchList
- type RedisBenchSpec
- type RedisBenchStatus
- type ResourceList
- type Sysbench
- type SysbenchList
- type SysbenchSpec
- type SysbenchStatus
- type Target
- type Tpcc
- type TpccList
- type TpccSpec
- type TpccStatus
- type Tpcds
- type TpcdsList
- type TpcdsSpec
- type TpcdsStatus
- type Tpch
- type TpchList
- type TpchSpec
- type TpchStatus
- type Ycsb
- type YcsbList
- type YcsbSpec
- type YcsbStatus
Constants ¶
This section is empty.
Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Fio.
func (*Fio) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Fio) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioList.
func (*FioList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FioList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioSpec.
func (*FioSpec) DeepCopyInto ¶
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"`
// the completion timestamp of the test
CompletionTimestamp *metav1.Time `json:"completionTimestamp,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FioStatus.
func (*FioStatus) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pgbench.
func (*Pgbench) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Pgbench) DeepCopyObject ¶
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"`
// the completion timestamp of the test
CompletionTimestamp *metav1.Time `json:"completionTimestamp,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"`
// the completion timestamp of the test
CompletionTimestamp *metav1.Time `json:"completionTimestamp,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sysbench.
func (*Sysbench) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Sysbench) DeepCopyObject ¶
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"`
// the completion timestamp of the test
CompletionTimestamp *metav1.Time `json:"completionTimestamp,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,oceanbase-oracle,dameng,minio,tidb,mssql}
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.
func (*Target) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tpcc.
func (*Tpcc) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tpcc) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpccList.
func (*TpccList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TpccList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpccSpec.
func (*TpccSpec) DeepCopyInto ¶
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"`
// the completion timestamp of the test
CompletionTimestamp *metav1.Time `json:"completionTimestamp,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tpcds.
func (*Tpcds) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tpcds) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpcdsList.
func (*TpcdsList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TpcdsList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpcdsSpec.
func (*TpcdsSpec) DeepCopyInto ¶
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"`
// the completion timestamp of the test
CompletionTimestamp *metav1.Time `json:"completionTimestamp,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tpch.
func (*Tpch) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tpch) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpchList.
func (*TpchList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TpchList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TpchSpec.
func (*TpchSpec) DeepCopyInto ¶
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"`
// the completion timestamp of the test
CompletionTimestamp *metav1.Time `json:"completionTimestamp,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ycsb.
func (*Ycsb) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Ycsb) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YcsbList.
func (*YcsbList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*YcsbList) DeepCopyObject ¶
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"`
// TODO: achieve the following fields in target
RedisMode string `json:"redisMode,omitempty"`
MasterName string `json:"masterName,omitempty"`
RedisSentinelUsername string `json:"redisSentinelUsername,omitempty"`
RedisSentinelPassword string `json:"redisSentinelPassword,omitempty"`
RedisAddr string `json:"redisAddr,omitempty"`
BenchCommon `json:",inline"`
}
YcsbSpec defines the desired state of ycsb Reference https://github.com/pingcap/go-ycsb
func (*YcsbSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new YcsbSpec.
func (*YcsbSpec) DeepCopyInto ¶
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"`
// the completion timestamp of the test
CompletionTimestamp *metav1.Time `json:"completionTimestamp,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.