Documentation ¶
Index ¶
- func GetKey(data string, key string, unit string, res *float64, time *float64) error
- func HostFile(ips []string, thread int64) string
- type ApiItem
- type BlockSizeItem
- type CollectiveItem
- type Debug
- type ExecConfig
- func (execConfig *ExecConfig) ReadConfig(configFilePath string) error
- func (execConfig *ExecConfig) Run() (*[]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunGlobal(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunIorEasy(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunIorHard(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunMDTestEasy(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunMDTestHard(io500 IO500) ([]ExecConfigResult, error)
- func (execConfig *ExecConfig) RunOneJob(io500 IO500) (*ExecConfigResult, error)
- type ExecConfigGlobal
- type ExecConfigIorEasy
- type ExecConfigIorHard
- type ExecConfigMDTestEasy
- type ExecConfigMDTestHard
- type ExecConfigResult
- type Find
- type FindBase
- type FindEasy
- type FindHard
- type Global
- type IO500
- type IO500Result
- type IorEasy
- type IorEasyRead
- type IorEasyWrite
- type IorHard
- type IorHardRead
- type IorHardWrite
- type IorRnd
- type IorRndRead
- type IorRndWrite
- type MDTestEasy
- type MDTestEasyDelete
- type MDTestEasyStat
- type MDTestEasyWrite
- type MDTestHard
- type MDTestHardDelete
- type MDTestHardRead
- type MDTestHardStat
- type MDTestHardWrite
- type MDWorkBench
- type MDWorkBenchBench
- type MDWorkBenchCreate
- type MDWorkBenchDelete
- type NItem
- type RunItem
- type Timestamp
- type VerbosityItem
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ApiItem ¶
type ApiItem struct { // 测试的通用API(为了创建/删除datadir,额外的选项将被传递给IOR/mdtest) Api string `json:"api"` }
func (ApiItem) ConfigData ¶
type BlockSizeItem ¶
type BlockSizeItem struct {
BlockSize string `json:"blockSize"`
}
func (BlockSizeItem) ConfigData ¶
func (item BlockSizeItem) ConfigData() string
type CollectiveItem ¶
type CollectiveItem struct {
Collective string `json:"collective"`
}
func (CollectiveItem) ConfigData ¶
func (i CollectiveItem) ConfigData() string
type Debug ¶
type Debug struct {
StonewallTime int64 `json:"stonewallTime"`
}
func (Debug) ConfigData ¶
type ExecConfig ¶
type ExecConfig struct { *ceph_cluster.CephCluster *ceph.CephConf ClientIPs []string `json:"clientIPs"` Threads []int64 `json:"threads"` Verbosity []int64 `json:"verbosity"` ExecConfigIorEasy ExecConfigIorEasy `json:"execConfigIorEasy"` ExecConfigMDTestEasy ExecConfigMDTestEasy `json:"execConfigMDTestEasy"` ExecConfigIorHard ExecConfigIorHard `json:"execConfigIorHard"` ExecConfigMDTestHard ExecConfigMDTestHard `json:"execConfigMDTestHard"` ExecFile string `json:"execFile"` IpAddr string `json:"ipAddr"` Runtime int64 `json:"runtime"` ResultDir string `json:"resultDir"` ExecParam string `json:"execParam"` HostFile string `json:"hostFile"` }
func NewExecConfig ¶
func NewExecConfig(configPath string) (*ExecConfig, error)
func (*ExecConfig) ReadConfig ¶
func (execConfig *ExecConfig) ReadConfig(configFilePath string) error
func (*ExecConfig) Run ¶
func (execConfig *ExecConfig) Run() (*[]ExecConfigResult, error)
func (*ExecConfig) RunGlobal ¶
func (execConfig *ExecConfig) RunGlobal(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunIorEasy ¶
func (execConfig *ExecConfig) RunIorEasy(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunIorHard ¶
func (execConfig *ExecConfig) RunIorHard(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunMDTestEasy ¶
func (execConfig *ExecConfig) RunMDTestEasy(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunMDTestHard ¶
func (execConfig *ExecConfig) RunMDTestHard(io500 IO500) ([]ExecConfigResult, error)
func (*ExecConfig) RunOneJob ¶
func (execConfig *ExecConfig) RunOneJob(io500 IO500) (*ExecConfigResult, error)
type ExecConfigGlobal ¶
type ExecConfigIorEasy ¶
type ExecConfigIorHard ¶
type ExecConfigMDTestEasy ¶
type ExecConfigMDTestHard ¶
type ExecConfigResult ¶
type ExecConfigResult struct { Threads []int64 `json:"threads"` IO500 IO500 `json:"io500"` IO500Result IO500Result `json:"io500Result"` }
type FindBase ¶
type FindBase struct { ExternalScript string `json:"externalScript"` ExternalMpiArgs string `json:"externalMpiArgs"` ExternalExtraArgs string `json:"externalExtraArgs"` NProc string `json:"nproc"` RunItem PFindQueueLength int64 `json:"pFindQueueLength"` PFindStealNext bool `json:"pfindStealNext"` PFindParallelizeSingleDirAccessUsingHashing bool `json:"pFindParallelizeSingleDirAccessUsingHashing"` }
func (FindBase) ConfigData ¶
type Global ¶
type Global struct { // The directory where the IO500 runs IO500所在目录 DataDir string `json:"datadir"` // 数据目录以时间戳作为后缀。 对于并发运行几个IO500测试很有用。 TimestampDataDir bool `json:"TimestampDataDir"` // The result directory ResultDir string `json:"resultDir"` // 结果目录以时间戳作为后缀。 对于并发运行几个IO500测试很有用。 TimestampResultdir bool `json:"timestampResultdir"` Api string `json:"api"` // 清除缓存,这对测试很有用,并且对单节点运行很有用 DropCaches bool `json:"dropCaches"` // 缓存清除命令,在每个I/O阶段之前调用 DropCachesCmd string `json:"dropCachesCmd"` // 在GPU上分配I/O缓冲区 IoBuffersOnGpu bool `json:"ioBuffersOnGpu"` VerbosityItem // 使用学生分组比赛的规则 Scc bool `json:"scc"` }
func DefaultIO500Global ¶
func DefaultIO500Global() Global
func (Global) ConfigData ¶
type IO500 ¶
type IO500 struct { ClientIPs []string `json:"clientIPs"` Thread int64 `json:"thread"` ExecFile string `json:"execFile"` Global Global `json:"global"` Debug Debug `json:"debug"` IorEasy IorEasy `json:"iorEasy"` IorEasyWrite IorEasyWrite `json:"iorEasyWrite"` IorRnd IorRnd `json:"iorRnd"` IorRndWrite IorRndWrite `json:"iorRndWrite"` MDTestEasy MDTestEasy `json:"mdTestEasy"` MDTestEasyWrite MDTestEasyWrite `json:"mdTestEasyWrite"` MDWorkBench MDWorkBench `json:"mdWorkBench"` MDWorkBenchCreate MDWorkBenchCreate `json:"mdWorkBenchCreate"` Timestamp Timestamp `json:"timestamp"` FindEasy FindEasy `json:"findEasy"` IorHard IorHard `json:"iorHard"` IorHardWrite IorHardWrite `json:"iorHardWrite"` MDTestHard MDTestHard `json:"mdTestHard"` MDTestHardWrite MDTestHardWrite `json:"mdTestHardWrite"` Find Find `json:"find"` IorRndRead IorRndRead `json:"iorRndRead"` FindHard FindHard `json:"findHard"` MDWorkBenchBench MDWorkBenchBench `json:"mdWorkBenchBench"` IorEasyRead IorEasyRead `json:"iorEasyRead"` MDTestEasyStat MDTestEasyStat `json:"mdTestEasyStat"` IorHardRead IorHardRead `json:"iorHardRead"` MDTestHardStat MDTestHardStat `json:"mdTestHardStat"` MDWorkBenchDelete MDWorkBenchDelete `json:"mdWorkBenchDelete"` MDTestEasyDelete MDTestEasyDelete `json:"mdTestEasyDelete"` MDTestHardRead MDTestHardRead `json:"mdTestHardRead"` MDTestHardDelete MDTestHardDelete `json:"mdTestHardDelete"` }
func DefaultIO500 ¶
func DefaultIO500() IO500
func (*IO500) ConfigData ¶
func (*IO500) Exec ¶
func (io500 *IO500) Exec(worker interfacer.Worker) (*IO500Result, error)
type IO500Result ¶
type IO500Result struct { IorEasyWrite float64 `json:"iorEasyWrite"` MDTestEasyWrite float64 `json:"mdTestEasyWrite"` Timestamp float64 `json:"timestamp"` IorHardWrite float64 `json:"iorHardWrite"` MDTestHardWrite float64 `json:"mdTestHardWrite"` Find float64 `json:"find"` IorEasyRead float64 `json:"iorEasyRead"` MDTestEasyStat float64 `json:"mdTestEasyStat"` IorHardRead float64 `json:"iorHardRead"` MDTestHardStat float64 `json:"mdTestHardStat"` MDTestEasyDelete float64 `json:"mdTestEasyDelete"` MDTestHardRead float64 `json:"mdTestHardRead"` MDTestHardDelete float64 `json:"mdTestHardDelete"` IorEasyWriteTime float64 `json:"iorEasyWriteTime"` MDTestEasyWriteTime float64 `json:"mdTestEasyWriteTime"` TimestampTime float64 `json:"timestampTime"` IorHardWriteTime float64 `json:"iorHardWriteTime"` MDTestHardWriteTime float64 `json:"mdTestHardWriteTime"` FindTime float64 `json:"findTime"` IorEasyReadTime float64 `json:"iorEasyReadTime"` MDTestEasyStatTime float64 `json:"mdTestEasyStatTime"` IorHardReadTime float64 `json:"iorHardReadTime"` MDTestHardStatTime float64 `json:"mdTestHardStatTime"` MDTestEasyDeleteTime float64 `json:"mdTestEasyDeleteTime"` MDTestHardReadTime float64 `json:"mdTestHardReadTime"` MDTestHardDeleteTime float64 `json:"mdTestHardDeleteTime"` Bandwidth float64 `json:"bandwidth"` IOPS float64 `json:"iops"` TOTAL float64 `json:"total"` }
func (*IO500Result) Decode ¶
func (res *IO500Result) Decode(data string) error
type IorEasy ¶
type IorEasy struct { ApiItem TransferSize string `json:"transferSize"` BlockSizeItem FilePerProc bool `json:"filePerProc"` UniqueDir bool `json:"uniqueDir"` RunItem VerbosityItem }
func DefaultIO500IorEasy ¶
func DefaultIO500IorEasy() IorEasy
func (IorEasy) ConfigData ¶
type IorEasyRead ¶
type IorEasyRead struct {
ApiItem
}
func (IorEasyRead) ConfigData ¶
func (i IorEasyRead) ConfigData() string
type IorEasyWrite ¶
type IorEasyWrite struct {
ApiItem
}
func (IorEasyWrite) ConfigData ¶
func (i IorEasyWrite) ConfigData() string
type IorHard ¶
type IorHard struct { ApiItem SegmentCount int64 `json:"segmentCount"` CollectiveItem RunItem VerbosityItem }
func (IorHard) ConfigData ¶
type IorHardRead ¶
type IorHardRead struct { ApiItem CollectiveItem }
func (IorHardRead) ConfigData ¶
func (i IorHardRead) ConfigData() string
type IorHardWrite ¶
type IorHardWrite struct { ApiItem CollectiveItem }
func (IorHardWrite) ConfigData ¶
func (i IorHardWrite) ConfigData() string
type IorRnd ¶
type IorRnd struct { ApiItem BlockSizeItem RunItem VerbosityItem RandomPrefill int64 `json:"randomPrefill"` }
func DefaultIO500IorRnd ¶
func DefaultIO500IorRnd() IorRnd
func (IorRnd) ConfigData ¶
type IorRndRead ¶
type IorRndRead struct {
ApiItem
}
func (IorRndRead) ConfigData ¶
func (i IorRndRead) ConfigData() string
type IorRndWrite ¶
type IorRndWrite struct {
ApiItem
}
func (IorRndWrite) ConfigData ¶
func (i IorRndWrite) ConfigData() string
type MDTestEasy ¶
func DefaultIO500MDTestEasy ¶
func DefaultIO500MDTestEasy() MDTestEasy
func (MDTestEasy) ConfigData ¶
func (i MDTestEasy) ConfigData() string
type MDTestEasyDelete ¶
func (MDTestEasyDelete) ConfigData ¶
func (i MDTestEasyDelete) ConfigData() string
type MDTestEasyStat ¶
func (MDTestEasyStat) ConfigData ¶
func (i MDTestEasyStat) ConfigData() string
type MDTestEasyWrite ¶
func (MDTestEasyWrite) ConfigData ¶
func (i MDTestEasyWrite) ConfigData() string
type MDTestHard ¶
func (MDTestHard) ConfigData ¶
func (i MDTestHard) ConfigData() string
type MDTestHardDelete ¶
func (MDTestHardDelete) ConfigData ¶
func (i MDTestHardDelete) ConfigData() string
type MDTestHardRead ¶
func (MDTestHardRead) ConfigData ¶
func (i MDTestHardRead) ConfigData() string
type MDTestHardStat ¶
func (MDTestHardStat) ConfigData ¶
func (i MDTestHardStat) ConfigData() string
type MDTestHardWrite ¶
func (MDTestHardWrite) ConfigData ¶
func (i MDTestHardWrite) ConfigData() string
type MDWorkBench ¶
type MDWorkBench struct { ApiItem WaitingTime float64 `json:"waitingTime"` PreCreatePerSet string `json:"preCreatePerSet"` FilesPerProc string `json:"filesPerProc"` RunItem VerbosityItem }
func (MDWorkBench) ConfigData ¶
func (i MDWorkBench) ConfigData() string
type MDWorkBenchBench ¶
type MDWorkBenchBench struct {
RunItem
}
func (MDWorkBenchBench) ConfigData ¶
func (i MDWorkBenchBench) ConfigData() string
type MDWorkBenchCreate ¶
type MDWorkBenchCreate struct {
RunItem
}
func (MDWorkBenchCreate) ConfigData ¶
func (i MDWorkBenchCreate) ConfigData() string
type MDWorkBenchDelete ¶
type MDWorkBenchDelete struct {
RunItem
}
func (MDWorkBenchDelete) ConfigData ¶
func (i MDWorkBenchDelete) ConfigData() string
type VerbosityItem ¶
type VerbosityItem struct {
Verbosity int64 `json:"verbosity"`
}
func (VerbosityItem) ConfigData ¶
func (item VerbosityItem) ConfigData() string
Click to show internal directories.
Click to hide internal directories.