Documentation
¶
Index ¶
- Constants
- func ACLPrincipalIsValid(principal string) bool
- func DataThreshIsValid(size uint64) bool
- func EcCellSizeIsValid(sz uint64) bool
- func EcPdaIsValid(pda uint64) bool
- func ErrorFromRC(rc int) error
- func GetLogMask() string
- func InitLogging(masks ...string) (func(), error)
- func LabelIsValid(label string) bool
- func PoolDeprecatedProperties() map[string]string
- func PropValIsUnset(val SystemPropertyValue) bool
- func RpPdaIsValid(pda uint64) bool
- func SetLogMask(mask string) error
- func SetObjectClassHelpers(stringer objClassIDStringer, resolver objClassNameResolver)
- func SystemNameIsValid(name string) bool
- type Attribute
- type AttributeList
- type BoolPropVal
- type CompPropVal
- type ComponentBuild
- type ContainerInfo
- type ContainerLayout
- type ContainerOpenFlag
- type ContainerPropType
- type ContainerProperty
- func (p *ContainerProperty) GetString() string
- func (p *ContainerProperty) GetValue() uint64
- func (p *ContainerProperty) GetValuePtr() unsafe.Pointer
- func (cp *ContainerProperty) Name() string
- func (p *ContainerProperty) SetString(str string)
- func (p *ContainerProperty) SetValue(val uint64)
- func (p *ContainerProperty) SetValuePtr(val unsafe.Pointer)
- func (cp *ContainerProperty) String() string
- func (cp *ContainerProperty) Type() ContainerPropType
- type ContainerPropertyList
- func (cpl *ContainerPropertyList) AddEntryType(propType ContainerPropType) error
- func (pl *ContainerPropertyList) Free()
- func (cpl *ContainerPropertyList) MustAddEntryType(propType ContainerPropType)
- func (cpl *ContainerPropertyList) Properties() (props []*ContainerProperty)
- func (pl *ContainerPropertyList) ToPtr() unsafe.Pointer
- type EndpointLatency
- func (epl *EndpointLatency) AddValue(value int64)
- func (epl *EndpointLatency) Average() float64
- func (epl *EndpointLatency) MarshalJSON() ([]byte, error)
- func (epl *EndpointLatency) PercentileBuckets(percentiles ...uint64) []*MetricBucket
- func (epl *EndpointLatency) Percentiles(percentiles ...uint64) ([]uint64, map[uint64]*MetricBucket)
- func (epl *EndpointLatency) StdDev() float64
- func (epl *EndpointLatency) Succeeded() uint64
- type HLC
- type HistogramMetric
- type IntPropVal
- type Metric
- type MetricBucket
- type MetricLabelMap
- type MetricSet
- type MetricType
- type ObjectClass
- type POSIXAttributes
- type PoolConnectFlag
- type PoolInfo
- type PoolPropHandler
- type PoolProperty
- type PoolPropertyMap
- type PoolPropertyValue
- type PoolQueryMask
- func (pqm *PoolQueryMask) ClearAll()
- func (pqm *PoolQueryMask) ClearOptions(options ...PoolQueryOption) error
- func (pqm PoolQueryMask) HasOption(option PoolQueryOption) bool
- func (pqm PoolQueryMask) MarshalJSON() ([]byte, error)
- func (pqm *PoolQueryMask) SetAll()
- func (pqm *PoolQueryMask) SetOptions(options ...PoolQueryOption) error
- func (pqm PoolQueryMask) String() string
- func (pqm *PoolQueryMask) UnmarshalJSON(data []byte) error
- type PoolQueryOption
- type PoolQueryTargetInfo
- type PoolQueryTargetState
- type PoolQueryTargetType
- type PoolRebuildState
- type PoolRebuildStatus
- type PoolServiceState
- type PoolTierUsage
- type QuantileMap
- type RankURI
- type SelfTestConfig
- type SelfTestEndpoint
- type SelfTestResult
- func (str *SelfTestResult) AddTargetLatency(rank ranklist.Rank, tag uint32, value int64)
- func (str *SelfTestResult) MarshalJSON() ([]byte, error)
- func (str *SelfTestResult) RPCBandwidth() float64
- func (str *SelfTestResult) RPCThroughput() float64
- func (str *SelfTestResult) TargetRanks() (ranks []ranklist.Rank)
- type SimpleMetric
- type Status
- type StorageMediaType
- type StorageTargetUsage
- type StorageUsageStats
- type StringPropVal
- type SummaryMetric
- type SystemHealthInfo
- type SystemInfo
- type SystemProperty
- type SystemPropertyKey
- type SystemPropertyMap
- func (spm SystemPropertyMap) Add(prop SystemProperty) error
- func (spm SystemPropertyMap) Get(strKey string) (*SystemProperty, bool)
- func (spm SystemPropertyMap) Iter() <-chan *SystemProperty
- func (spm SystemPropertyMap) Keys() []string
- func (spm SystemPropertyMap) UpdateCompPropVal(key SystemPropertyKey, sourceFn func() string) error
- type SystemPropertyValue
Constants ¶
const ( // DefaultCartTimeout defines the default timeout for cart operations. DefaultCartTimeout = 60 * time.Second // Should use CRT_DEFAULT_TIMEOUT_S but it's not exported // MaxAttributeNameLength defines the maximum length of an attribute name. MaxAttributeNameLength = C.DAOS_ATTR_NAME_MAX )
const ( // PropEntryAllocedOID is the highest allocated OID. PropEntryAllocedOID = C.DAOS_PROP_ENTRY_ALLOCED_OID // PropEntryChecksum is the checksum property. PropEntryChecksum = C.DAOS_PROP_ENTRY_CKSUM // PropEntryChecksumSize is the checksum size property. PropEntryChecksumSize = C.DAOS_PROP_ENTRY_CKSUM_SIZE // PropEntryCompression is the compression property. PropEntryCompression = C.DAOS_PROP_ENTRY_COMPRESS // PropEntryDedupe is the dedupe property. PropEntryDedupe = C.DAOS_PROP_ENTRY_DEDUP // PropEntryDedupThreshold is the dedupe threshold property. PropEntryDedupeThreshold = C.DAOS_PROP_ENTRY_DEDUP_THRESHOLD // PropEntryECCellSize is the EC cell size property. PropEntryECCellSize = C.DAOS_PROP_ENTRY_EC_CELL_SZ // PropEntryECPerfDomainAff is the EC performance domain affinity property. PropEntryECPerfDomainAff = C.DAOS_PROP_ENTRY_EC_PDA // PropEntryEncryption is the encryption property. PropEntryEncryption = C.DAOS_PROP_ENTRY_ENCRYPT // PropEntryGlobalVersion is the global version property. PropEntryGlobalVersion = C.DAOS_PROP_ENTRY_GLOBAL_VERSION // PropEntryObjectVersion is the object layout version property. PropEntryObjectVersion = C.DAOS_PROP_ENTRY_OBJ_VERSION // PropEntryGroup is the group property. PropEntryGroup = C.DAOS_PROP_ENTRY_GROUP // PropEntryLabel is the label property. PropEntryLabel = C.DAOS_PROP_ENTRY_LABEL // PropEntryLayout is the layout property. PropEntryLayoutType = C.DAOS_PROP_ENTRY_LAYOUT_TYPE // PropEntryLayoutVersion is the layout version property. PropEntryLayoutVersion = C.DAOS_PROP_ENTRY_LAYOUT_VER // PropEntryOwner is the owner property. PropEntryOwner = C.DAOS_PROP_ENTRY_OWNER // PropEntryRedunFactor is the redundancy factor property. PropEntryRedunFactor = C.DAOS_PROP_ENTRY_REDUN_FAC // PropEntryRedunLevel is the redundancy level property. PropEntryRedunLevel = C.DAOS_PROP_ENTRY_REDUN_LVL // PropEntryRedunPerfDomainAff is the redundancy performance domain affinity property. PropEntryRedunPerfDomainAff = C.DAOS_PROP_ENTRY_RP_PDA // PropEntrySnapshotMax is the snapshot max property. PropEntrySnapshotMax = C.DAOS_PROP_ENTRY_SNAPSHOT_MAX // PropEntryServerChecksum is the server checksum property. PropEntryServerChecksum = C.DAOS_PROP_ENTRY_SRV_CKSUM // PropEntryStatus is the status property. PropEntryStatus = C.DAOS_PROP_ENTRY_STATUS )
const ( // ContainerOpenFlagReadOnly opens the container in read-only mode. ContainerOpenFlagReadOnly ContainerOpenFlag = C.DAOS_COO_RO // ContainerOpenFlagReadWrite opens the container in read-write mode. ContainerOpenFlagReadWrite ContainerOpenFlag = C.DAOS_COO_RW // ContainerOpenFlagExclusive opens the container in exclusive read-write mode. ContainerOpenFlagExclusive ContainerOpenFlag = C.DAOS_COO_EX // ContainerOpenFlagForce skips container health checks. ContainerOpenFlagForce ContainerOpenFlag = C.DAOS_COO_FORCE // ContainerOpenFlagReadOnlyMetadata skips container metadata updates. ContainerOpenFlagReadOnlyMetadata ContainerOpenFlag = C.DAOS_COO_RO_MDSTATS // ContainerOpenFlagEvict evicts the current user's open handles. ContainerOpenFlagEvict ContainerOpenFlag = C.DAOS_COO_EVICT // ContainerOpenFlagEvictAll evicts all open handles. ContainerOpenFlagEvictAll ContainerOpenFlag = C.DAOS_COO_EVICT_ALL // ContainerLayoutUnknown represents an unknown container layout. ContainerLayoutUnknown ContainerLayout = C.DAOS_PROP_CO_LAYOUT_UNKNOWN // ContainerLayoutPOSIX represents a POSIX container layout. ContainerLayoutPOSIX ContainerLayout = C.DAOS_PROP_CO_LAYOUT_POSIX // ContainerLayoutHDF5 represents an HDF5 container layout. ContainerLayoutHDF5 ContainerLayout = C.DAOS_PROP_CO_LAYOUT_HDF5 // ContainerLayoutPython represents a Python container layout. ContainerLayoutPython ContainerLayout = C.DAOS_PROP_CO_LAYOUT_PYTHON // ContainerLayoutSpark represents a Spark container layout. ContainerLayoutSpark ContainerLayout = C.DAOS_PROP_CO_LAYOUT_SPARK // ContainerLayoutDatabase represents a database container layout. ContainerLayoutDatabase ContainerLayout = C.DAOS_PROP_CO_LAYOUT_DATABASE // ContainerLayoutRoot represents a root container layout. ContainerLayoutRoot ContainerLayout = C.DAOS_PROP_CO_LAYOUT_ROOT // ContainerLayoutSeismic represents a seismic container layout. ContainerLayoutSeismic ContainerLayout = C.DAOS_PROP_CO_LAYOUT_SEISMIC // ContainerLayoutMeteo represents a meteo container layout. ContainerLayoutMeteo ContainerLayout = C.DAOS_PROP_CO_LAYOUT_METEO )
const ( // UnsetLogMask defines an explicitly-unset log mask. UnsetLogMask = "UNSET" // DefaultDebugMask defines the basic debug mask. DefaultDebugMask = "DEBUG,MEM=ERR,OBJECT=ERR,PLACEMENT=ERR" // DefaultInfoMask defines the basic info mask. DefaultInfoMask = "INFO" // DefaultErrorMask defines the basic error mask. DefaultErrorMask = "ERROR" )
const ( // DefaultPoolQueryMask defines the default pool query mask. DefaultPoolQueryMask = PoolQueryMask(^uint64(0) &^ (C.DPI_ENGINES_ENABLED | C.DPI_ENGINES_DEAD)) // HealthOnlyPoolQueryMask defines the mask for health-only queries. HealthOnlyPoolQueryMask = PoolQueryMask(^uint64(0) &^ (C.DPI_ENGINES_ENABLED | C.DPI_SPACE)) // PoolQueryOptionSpace retrieves storage space usage as part of the pool query. PoolQueryOptionSpace PoolQueryOption = "space" // PoolQueryOptionRebuild retrieves pool rebuild status as part of the pool query. PoolQueryOptionRebuild PoolQueryOption = "rebuild" // PoolQueryOptionEnabledEngines retrieves enabled engines as part of the pool query. PoolQueryOptionEnabledEngines PoolQueryOption = "enabled_engines" // PoolQueryOptionDisabledEngines retrieves disabled engines as part of the pool query. PoolQueryOptionDisabledEngines PoolQueryOption = "disabled_engines" // PoolQueryOptionDeadEngines retrieves dead engines as part of the pool query. PoolQueryOptionDeadEngines PoolQueryOption = "dead_engines" // PoolConnectFlagReadOnly indicates that the connection is read-only. PoolConnectFlagReadOnly PoolConnectFlag = C.DAOS_PC_RO // PoolConnectFlagReadWrite indicates that the connection is read-write. PoolConnectFlagReadWrite PoolConnectFlag = C.DAOS_PC_RW // PoolConnectFlagExclusive indicates that the connection is exclusive. PoolConnectFlagExclusive PoolConnectFlag = C.DAOS_PC_EX )
const ( // PoolServiceStateCreating indicates that the pool service is being created PoolServiceStateCreating = PoolServiceState(mgmtpb.PoolServiceState_Creating) // PoolServiceStateReady indicates that the pool service is ready to be used PoolServiceStateReady = PoolServiceState(mgmtpb.PoolServiceState_Ready) // PoolServiceStateDestroying indicates that the pool service is being destroyed PoolServiceStateDestroying = PoolServiceState(mgmtpb.PoolServiceState_Destroying) // PoolServiceStateDegraded indicates that the pool service is in a degraded state PoolServiceStateDegraded = PoolServiceState(mgmtpb.PoolServiceState_Degraded) // PoolServiceStateUnknown indicates that the pool service state is unknown PoolServiceStateUnknown = PoolServiceState(mgmtpb.PoolServiceState_Unknown) )
const ( // StorageMediaTypeScm indicates that the media is storage class (persistent) memory StorageMediaTypeScm = StorageMediaType(mgmtpb.StorageMediaType_SCM) // StorageMediaTypeNvme indicates that the media is NVMe SSD StorageMediaTypeNvme = StorageMediaType(mgmtpb.StorageMediaType_NVME) // StorageMediaTypeMax indicates the end of the StorageMediaType array StorageMediaTypeMax = StorageMediaType(StorageMediaTypeNvme + 1) )
const ( // PoolRebuildStateIdle indicates that the rebuild process is idle. PoolRebuildStateIdle = PoolRebuildState(mgmtpb.PoolRebuildStatus_IDLE) // PoolRebuildStateDone indicates that the rebuild process has completed. PoolRebuildStateDone = PoolRebuildState(mgmtpb.PoolRebuildStatus_DONE) // PoolRebuildStateBusy indicates that the rebuild process is in progress. PoolRebuildStateBusy = PoolRebuildState(mgmtpb.PoolRebuildStatus_BUSY) )
const ( PoolTargetStateUnknown = PoolQueryTargetState(mgmtpb.PoolQueryTargetInfo_STATE_UNKNOWN) // PoolTargetStateDownOut indicates the target is not available PoolTargetStateDownOut = PoolQueryTargetState(mgmtpb.PoolQueryTargetInfo_DOWN_OUT) // PoolTargetStateDown indicates the target is not available, may need rebuild PoolTargetStateDown = PoolQueryTargetState(mgmtpb.PoolQueryTargetInfo_DOWN) // PoolTargetStateUp indicates the target is up PoolTargetStateUp = PoolQueryTargetState(mgmtpb.PoolQueryTargetInfo_UP) // PoolTargetStateUpIn indicates the target is up and running PoolTargetStateUpIn = PoolQueryTargetState(mgmtpb.PoolQueryTargetInfo_UP_IN) // PoolTargetStateNew indicates the target is in an intermediate state (pool map change) PoolTargetStateNew = PoolQueryTargetState(mgmtpb.PoolQueryTargetInfo_NEW) // PoolTargetStateDrain indicates the target is being drained PoolTargetStateDrain = PoolQueryTargetState(mgmtpb.PoolQueryTargetInfo_DRAIN) )
const ( // PoolPropertyMin before any pool property PoolPropertyMin = C.DAOS_PROP_PO_MIN // PoolPropertyLabel is a string that a user can associate with a pool. PoolPropertyLabel = C.DAOS_PROP_PO_LABEL // PoolPropertyACL is the Access Control List for a pool. PoolPropertyACL = C.DAOS_PROP_PO_ACL // PoolPropertyReservedSpace is the ratio of space that can be reserved // on each target for rebuild purposes. PoolPropertyReservedSpace = C.DAOS_PROP_PO_SPACE_RB // PoolPropertySelfHealing defines the self-healing behavior of the pool. PoolPropertySelfHealing = C.DAOS_PROP_PO_SELF_HEAL // PoolPropertySpaceReclaim defines the free space reclamation behavior of the pool. PoolPropertySpaceReclaim = C.DAOS_PROP_PO_RECLAIM // PoolPropertyOwner is the user who acts as the owner of the pool. PoolPropertyOwner = C.DAOS_PROP_PO_OWNER // PoolPropertyOwnerGroup is the group that acts as the owner of the pool. PoolPropertyOwnerGroup = C.DAOS_PROP_PO_OWNER_GROUP // PoolPropertyECCellSize is the EC Cell size. PoolPropertyECCellSize = C.DAOS_PROP_PO_EC_CELL_SZ // PoolPropertyRedunFac defines redundancy factor of the pool. PoolPropertyRedunFac = C.DAOS_PROP_PO_REDUN_FAC // PoolPropertyECPda is performance domain affinity level of EC object. PoolPropertyECPda = C.DAOS_PROP_PO_EC_PDA // PoolPropertyRPPda is performance domain affinity level of replicated object. PoolPropertyRPPda = C.DAOS_PROP_PO_RP_PDA // PoolDataThreshold is the data threshold size for a pool PoolDataThresh = C.DAOS_PROP_PO_DATA_THRESH //PoolPropertyGlobalVersion is aggregation of pool/container/object/keys version. PoolPropertyGlobalVersion = C.DAOS_PROP_PO_GLOBAL_VERSION //PoolPropertyUpgradeStatus is pool upgrade status PoolPropertyUpgradeStatus = C.DAOS_PROP_PO_UPGRADE_STATUS // PoolPropertyScrubMode Checksum scrubbing schedule PoolPropertyScrubMode = C.DAOS_PROP_PO_SCRUB_MODE // PoolPropertyScrubFreq Checksum scrubbing frequency PoolPropertyScrubFreq = C.DAOS_PROP_PO_SCRUB_FREQ // PoolPropertyScrubThresh Checksum scrubbing threshold PoolPropertyScrubThresh = C.DAOS_PROP_PO_SCRUB_THRESH // PoolPropertySvcRedunFac defines redundancy factor of the pool service. PoolPropertySvcRedunFac = C.DAOS_PROP_PO_SVC_REDUN_FAC // PoolPropertySvcList is the list of pool service replicas. PoolPropertySvcList = C.DAOS_PROP_PO_SVC_LIST // PoolPropertyCheckpointMode defines the behavior of WAL checkpoints PoolPropertyCheckpointMode = C.DAOS_PROP_PO_CHECKPOINT_MODE // PoolPropertyCheckpointFreq defines the frequency of timed WAL checkpoints PoolPropertyCheckpointFreq = C.DAOS_PROP_PO_CHECKPOINT_FREQ // PoolPropertyCheckpointThresh defines the size threshold to trigger WAL checkpoints PoolPropertyCheckpointThresh = C.DAOS_PROP_PO_CHECKPOINT_THRESH //PoolPropertyPerfDomain is pool performance domain PoolPropertyPerfDomain = C.DAOS_PROP_PO_PERF_DOMAIN //PoolPropertyReintMode is pool reintegration mode PoolPropertyReintMode = C.DAOS_PROP_PO_REINT_MODE PoolPropertySvcOpsEnabled = C.DAOS_PROP_PO_SVC_OPS_ENABLED PoolPropertySvcOpsEntryAge = C.DAOS_PROP_PO_SVC_OPS_ENTRY_AGE )
const ( // PoolSpaceReclaimDisabled sets the PoolPropertySpaceReclaim property to disabled. PoolSpaceReclaimDisabled = C.DAOS_RECLAIM_DISABLED // PoolSpaceReclaimLazy sets the PoolPropertySpaceReclaim property to lazy. PoolSpaceReclaimLazy = C.DAOS_RECLAIM_LAZY // PoolSpaceReclaimSnapshot sets the PoolPropertySpaceReclaim property to snapshot. PoolSpaceReclaimSnapshot = C.DAOS_RECLAIM_SNAPSHOT // PoolSpaceReclaimBatch sets the PoolPropertySpaceReclaim property to batch. PoolSpaceReclaimBatch = C.DAOS_RECLAIM_BATCH // PoolSpaceReclaimTime sets the PoolPropertySpaceReclaim property to time. PoolSpaceReclaimTime = C.DAOS_RECLAIM_TIME )
const ( // PoolSelfHealingAutoExclude sets the self-healing strategy to auto-exclude. PoolSelfHealingAutoExclude = C.DAOS_SELF_HEAL_AUTO_EXCLUDE // PoolSelfHealingAutoRebuild sets the self-healing strategy to auto-rebuild. PoolSelfHealingAutoRebuild = C.DAOS_SELF_HEAL_AUTO_REBUILD // PoolSelfHealingDelayRebuild sets the self-healing strategy to delay-rebuild. PoolSelfHealingDelayRebuild = C.DAOS_SELF_HEAL_DELAY_REBUILD )
const ( // ECCellMin defines the minimum-allowaable EC cell size. ECCellMin = C.DAOS_EC_CELL_MIN // ECCellMax defines the maximum-allowaable EC cell size. ECCellMax = C.DAOS_EC_CELL_MAX // ECCellDefault defines the default EC cell size. ECCellDefault = C.DAOS_EC_CELL_DEF )
const ( // MediaTypeScm is the media type for SCM. MediaTypeScm = C.DAOS_MEDIA_SCM // MediaTypeNvme is the media type for NVMe. MediaTypeNvme = C.DAOS_MEDIA_NVME )
const ( // PoolUpgradeStatusNotStarted indicates pool upgrading not started yet. PoolUpgradeStatusNotStarted = C.DAOS_UPGRADE_STATUS_NOT_STARTED // PoolUpgradeStatusInProgress defines pool upgrading is in progress. PoolUpgradeStatusInProgress = C.DAOS_UPGRADE_STATUS_IN_PROGRESS //PoolUpgradeStatusCompleted defines pool upgrading completed last time. PoolUpgradeStatusCompleted = C.DAOS_UPGRADE_STATUS_COMPLETED //PoolUpgradeStatusFailed defines pool upgrading operation failed. PoolUpgradeStatusFailed = C.DAOS_UPGRADE_STATUS_FAILED )
const ( // PoolRedunFacMax defines the maximum value of PoolPropertyRedunFac. PoolRedunFacMax = C.DAOS_PROP_PO_REDUN_FAC_MAX // PoolRedunFacDefault defines the default value of PoolPropertyRedunFac. PoolRedunFacDefault = C.DAOS_PROP_PO_REDUN_FAC_DEFAULT // PoolSvcRedunFacMax defines the maximum value of PoolPropertySvcRedunFac. PoolSvcRedunFacMax = C.DAOS_PROP_PO_SVC_REDUN_FAC_MAX // PoolSvcRedunFacDefault defines the default value of PoolPropertySvcRedunFac. PoolSvcRedunFacDefault = C.DAOS_PROP_PO_SVC_REDUN_FAC_DEFAULT PoolSvcOpsEntryAgeMin = C.DAOS_PROP_PO_SVC_OPS_ENTRY_AGE_MIN PoolSvcOpsEntryAgeMax = C.DAOS_PROP_PO_SVC_OPS_ENTRY_AGE_MAX )
const ( // DaosMdCapEnv is the name of the environment variable defining the size of a metadata pmem // pool/file in MiBs. DaosMdCapEnv = C.DAOS_MD_CAP_ENV // DefaultDaosMdCapSize is the default size of a metadata pmem pool/file in MiBs. DefaultDaosMdCapSize = C.DEFAULT_DAOS_MD_CAP_SIZE )
const ( PoolScrubModeOff = C.DAOS_SCRUB_MODE_OFF PoolScrubModeLazy = C.DAOS_SCRUB_MODE_LAZY PoolScrubModeTimed = C.DAOS_SCRUB_MODE_TIMED )
const ( PoolCheckpointDisabled = C.DAOS_CHECKPOINT_DISABLED PoolCheckpointTimed = C.DAOS_CHECKPOINT_TIMED PoolCheckpointLazy = C.DAOS_CHECKPOINT_LAZY )
const ( PoolPerfDomainRoot = C.PO_COMP_TP_ROOT PoolPerfDomainGrp = C.PO_COMP_TP_GRP PoolPerfDomainNode = C.PO_COMP_TP_NODE PoolPerfDomainRank = C.PO_COMP_TP_RANK PoolPerfDomainTarget = C.PO_COMP_TP_TARGET )
const ( PoolReintModeDataSync = C.DAOS_REINT_MODE_DATA_SYNC PoolReintModeNoDataSync = C.DAOS_REINT_MODE_NO_DATA_SYNC PoolReintModeIncremental = C.DAOS_REINT_MODE_INCREMENTAL )
const ( // ACLPrincipalMaxLen is the maximum length of a principal string. ACLPrincipalMaxLen = C.DAOS_ACL_MAX_PRINCIPAL_LEN )
const ( // MaxLabelLength is the maximum length of a label. MaxLabelLength = C.DAOS_PROP_LABEL_MAX_LEN )
const ( // ZeroHLCDate is the date of the zero HLC, as // defined by D_HLC_START_SEC in src/gurt/hlc.c ZeroHLCDate = "2021-01-01 00:00:00 +0000 UTC" )
Variables ¶
This section is empty.
Functions ¶
func ACLPrincipalIsValid ¶
ACLPrincipalIsValid returns true if the principal is valid.
func DataThreshIsValid ¶
DataThreshIsValid verifies that the input value meets the required criteria.
func EcCellSizeIsValid ¶
EcCellSizeIsValid checks EC cell Size to verify that it meets size requirements.
func EcPdaIsValid ¶
EcPdaIsValid checks EC performance domain affinity level that it doesn't exceed max unsigned int 32 bits.
func ErrorFromRC ¶
ErrorFromRC converts a simple DAOS return code into an error.
func InitLogging ¶
InitLogging initializes the DAOS logging system.
func LabelIsValid ¶
LabelIsValid checks a label to verify that it meets length/content requirements.
func PropValIsUnset ¶
func PropValIsUnset(val SystemPropertyValue) bool
PropValIsUnset returns a bool indicating whether or not the given value is nil or unset.
func RpPdaIsValid ¶
RpPdaIsValid checks RP performance domain affinity level that it doesn't exceed max unsigned int 32 bits.
func SetObjectClassHelpers ¶
func SetObjectClassHelpers(stringer objClassIDStringer, resolver objClassNameResolver)
SetObjectClassHelpers provides a mechanism for injecting the object API methods into this package without introducing a hard dependency on libdaos. Generally only called from object.go in the api package.
func SystemNameIsValid ¶
SystemNameIsValid returns true if the given name is valid for a DAOS system.
Types ¶
type AttributeList ¶
type AttributeList []*Attribute
AttributeList is a list of attributes.
func (AttributeList) AsList ¶
func (al AttributeList) AsList() []string
AsList returns the attributes list as a sorted list of attribute names.
func (AttributeList) AsMap ¶
func (al AttributeList) AsMap() map[string][]byte
AsMap returns the attributes list as a map.
type BoolPropVal ¶
type BoolPropVal bool
BoolPropVal is a boolean property value.
func NewBoolPropVal ¶
func NewBoolPropVal(defVal bool) *BoolPropVal
NewBoolPropVal returns a new BoolPropVal initialized to a default value.
func (BoolPropVal) Choices ¶
func (pv BoolPropVal) Choices() []string
func (*BoolPropVal) Handler ¶
func (pv *BoolPropVal) Handler(val string) error
func (*BoolPropVal) String ¶
func (pv *BoolPropVal) String() string
type CompPropVal ¶
type CompPropVal struct {
ValueSource func() string
}
CompPropVal is a computed property value that is read-only from the user perspective.
func (*CompPropVal) Choices ¶
func (pv *CompPropVal) Choices() []string
func (*CompPropVal) Handler ¶
func (pv *CompPropVal) Handler(string) error
func (*CompPropVal) String ¶
func (pv *CompPropVal) String() string
type ComponentBuild ¶
type ComponentBuild struct { Version string `json:"version"` BuildInfo string `json:"build_info,omitempty"` LibPath string `json:"lib_path,omitempty"` }
ComponentBuild contains string representations of a component's build information.
type ContainerInfo ¶
type ContainerInfo struct { PoolUUID uuid.UUID `json:"pool_uuid"` ContainerUUID uuid.UUID `json:"container_uuid"` ContainerLabel string `json:"container_label,omitempty"` LatestSnapshot HLC `json:"latest_snapshot"` RedundancyFactor uint32 `json:"redundancy_factor"` NumHandles uint32 `json:"num_handles"` NumSnapshots uint32 `json:"num_snapshots"` OpenTime HLC `json:"open_time"` CloseModifyTime HLC `json:"close_modify_time"` Type ContainerLayout `json:"container_type"` Health string `json:"health"` *POSIXAttributes `json:",omitempty"` }
ContainerInfo contains information about the Container.
func (*ContainerInfo) MarshalJSON ¶
func (ci *ContainerInfo) MarshalJSON() ([]byte, error)
func (*ContainerInfo) Name ¶
func (ci *ContainerInfo) Name() string
Name returns an identifier for the container (Label, if set, falling back to UUID).
func (*ContainerInfo) String ¶
func (ci *ContainerInfo) String() string
type ContainerLayout ¶
type ContainerLayout uint16
ContainerLayout represents the layout of a container.
func (*ContainerLayout) FromString ¶
func (l *ContainerLayout) FromString(in string) error
FromString converts a string to a ContainerLayout.
func (ContainerLayout) MarshalJSON ¶
func (l ContainerLayout) MarshalJSON() ([]byte, error)
func (ContainerLayout) String ¶
func (l ContainerLayout) String() string
func (*ContainerLayout) UnmarshalJSON ¶
func (l *ContainerLayout) UnmarshalJSON(data []byte) error
type ContainerOpenFlag ¶
type ContainerOpenFlag uint
ContainerQueryOption is used to supply container open options.
type ContainerPropType ¶
const ( ContainerPropLabel ContainerPropType = C.DAOS_PROP_CO_LABEL ContainerPropLayout ContainerPropType = C.DAOS_PROP_CO_LAYOUT_TYPE ContainerPropLayoutVersion ContainerPropType = C.DAOS_PROP_CO_LAYOUT_VER ContainerPropChecksumEnabled ContainerPropType = C.DAOS_PROP_CO_CSUM ContainerPropChecksumSize ContainerPropType = C.DAOS_PROP_CO_CSUM_CHUNK_SIZE ContainerPropChecksumSrvVrfy ContainerPropType = C.DAOS_PROP_CO_CSUM_SERVER_VERIFY ContainerPropRedunFactor ContainerPropType = C.DAOS_PROP_CO_REDUN_FAC ContainerPropRedunLevel ContainerPropType = C.DAOS_PROP_CO_REDUN_LVL ContainerPropMaxSnapshots ContainerPropType = C.DAOS_PROP_CO_SNAPSHOT_MAX ContainerPropACL ContainerPropType = C.DAOS_PROP_CO_ACL ContainerPropCompression ContainerPropType = C.DAOS_PROP_CO_COMPRESS ContainerPropEncrypted ContainerPropType = C.DAOS_PROP_CO_ENCRYPT ContainerPropOwner ContainerPropType = C.DAOS_PROP_CO_OWNER ContainerPropGroup ContainerPropType = C.DAOS_PROP_CO_OWNER_GROUP ContainerPropDedupEnabled ContainerPropType = C.DAOS_PROP_CO_DEDUP ContainerPropDedupThreshold ContainerPropType = C.DAOS_PROP_CO_DEDUP_THRESHOLD ContainerPropRootObjects ContainerPropType = C.DAOS_PROP_CO_ROOTS ContainerPropStatus ContainerPropType = C.DAOS_PROP_CO_STATUS ContainerPropHighestOid ContainerPropType = C.DAOS_PROP_CO_ALLOCED_OID ContainerPropEcCellSize ContainerPropType = C.DAOS_PROP_CO_EC_CELL_SZ ContainerPropEcPerfDom ContainerPropType = C.DAOS_PROP_CO_EC_PDA ContainerPropEcPerfDomAff ContainerPropType = C.DAOS_PROP_CO_RP_PDA ContainerPropGlobalVersion ContainerPropType = C.DAOS_PROP_CO_GLOBAL_VERSION ContainerPropScubberDisabled ContainerPropType = C.DAOS_PROP_CO_SCRUBBER_DISABLED ContainerPropObjectVersion ContainerPropType = C.DAOS_PROP_CO_OBJ_VERSION ContainerPropPerfDomain ContainerPropType = C.DAOS_PROP_CO_PERF_DOMAIN )
func (*ContainerPropType) FromString ¶
func (cpt *ContainerPropType) FromString(in string) error
func (ContainerPropType) String ¶
func (cpt ContainerPropType) String() string
type ContainerProperty ¶
type ContainerProperty struct {
// contains filtered or unexported fields
}
func (*ContainerProperty) GetValuePtr ¶
func (*ContainerProperty) Name ¶
func (cp *ContainerProperty) Name() string
func (*ContainerProperty) SetValuePtr ¶
func (*ContainerProperty) String ¶
func (cp *ContainerProperty) String() string
func (*ContainerProperty) Type ¶
func (cp *ContainerProperty) Type() ContainerPropType
type ContainerPropertyList ¶
type ContainerPropertyList struct {
// contains filtered or unexported fields
}
func ContainerPropertyListFromPtr ¶
func ContainerPropertyListFromPtr(ptr unsafe.Pointer) (*ContainerPropertyList, error)
func NewContainerPropertyList ¶
func NewContainerPropertyList(count uint) (*ContainerPropertyList, error)
func (*ContainerPropertyList) AddEntryType ¶
func (cpl *ContainerPropertyList) AddEntryType(propType ContainerPropType) error
func (*ContainerPropertyList) MustAddEntryType ¶
func (cpl *ContainerPropertyList) MustAddEntryType(propType ContainerPropType)
func (*ContainerPropertyList) Properties ¶
func (cpl *ContainerPropertyList) Properties() (props []*ContainerProperty)
type EndpointLatency ¶
type EndpointLatency struct { TotalRPCs uint64 `json:"total_rpcs"` Min uint64 `json:"min"` Max uint64 `json:"max"` Sum uint64 `json:"-"` SumSquares float64 `json:"-"` FailCount uint64 `json:"fail_count"` // contains filtered or unexported fields }
EndpointLatency represents the results of running latency tests against a single rank:target endpoint.
func (*EndpointLatency) AddValue ¶
func (epl *EndpointLatency) AddValue(value int64)
AddValue adds a sampled latency value (or -1 to increment the failure count).
func (*EndpointLatency) Average ¶
func (epl *EndpointLatency) Average() float64
Average returns the average latency value of successful RPCs.
func (*EndpointLatency) MarshalJSON ¶
func (epl *EndpointLatency) MarshalJSON() ([]byte, error)
func (*EndpointLatency) PercentileBuckets ¶
func (epl *EndpointLatency) PercentileBuckets(percentiles ...uint64) []*MetricBucket
PercentileBuckets returns a sorted slice of buckets holding percentile values.
func (*EndpointLatency) Percentiles ¶
func (epl *EndpointLatency) Percentiles(percentiles ...uint64) ([]uint64, map[uint64]*MetricBucket)
Percentiles returns a sorted slice of bucket keys and a map of buckets holding percentile values.
func (*EndpointLatency) StdDev ¶
func (epl *EndpointLatency) StdDev() float64
StdDev returns the standard deviation of the latency values of successful RPCs.
func (*EndpointLatency) Succeeded ¶
func (epl *EndpointLatency) Succeeded() uint64
Succeeded returns the number of RPCs that succeeded.
type HLC ¶
type HLC uint64
HLC is a high-resolution clock.
func (HLC) MarshalJSON ¶
func (HLC) Nanoseconds ¶
Nanoseconds returns the HLC represented as the number of nanoseconds since the Unix epoch.
func (*HLC) UnmarshalJSON ¶
type HistogramMetric ¶
type HistogramMetric struct { Labels MetricLabelMap `json:"labels"` SampleCount uint64 `json:"sample_count"` SampleSum float64 `json:"sample_sum"` Buckets []*MetricBucket `json:"buckets"` }
HistogramMetric represents a group of observations sorted into buckets.
func (*HistogramMetric) IsMetric ¶
func (*HistogramMetric) IsMetric()
IsMetric identifies HistogramMetric as a Metric.
type IntPropVal ¶
type IntPropVal struct {
// contains filtered or unexported fields
}
IntPropVal is an integer property value. It may be used to store a signed 64-bit integer value.
func NewIntPropVal ¶
func NewIntPropVal(defVal int64, choices ...int64) *IntPropVal
NewIntPropVal returns a new IntPropVal initialized to a default value.
func (*IntPropVal) Choices ¶
func (pv *IntPropVal) Choices() []string
func (*IntPropVal) Handler ¶
func (pv *IntPropVal) Handler(val string) error
func (*IntPropVal) String ¶
func (pv *IntPropVal) String() string
func (*IntPropVal) Value ¶
func (pv *IntPropVal) Value() int64
type Metric ¶
type Metric interface {
IsMetric()
}
Metric is an interface implemented by all metric types.
type MetricBucket ¶
type MetricBucket struct { Label string `json:"label"` CumulativeCount uint64 `json:"cumulative_count"` UpperBound float64 `json:"upper_bound"` }
MetricBucket represents a bucket for observations to be sorted into.
func (*MetricBucket) MarshalJSON ¶
func (mb *MetricBucket) MarshalJSON() ([]byte, error)
func (*MetricBucket) UnmarshalJSON ¶
func (mb *MetricBucket) UnmarshalJSON(data []byte) error
type MetricLabelMap ¶
MetricLabelMap is the set of key-value label pairs.
func (MetricLabelMap) Keys ¶
func (m MetricLabelMap) Keys() []string
Keys gets the sorted list of label keys.
type MetricSet ¶
type MetricSet struct { Name string `json:"name"` Description string `json:"description"` Type MetricType `json:"type"` Metrics []Metric `json:"metrics"` }
MetricSet is a group of related metrics.
func (*MetricSet) MarshalJSON ¶
MarshalJSON marshals the MetricSet to JSON.
func (*MetricSet) UnmarshalJSON ¶
UnmarshalJSON unmarshals the MetricSet from JSON.
type MetricType ¶
type MetricType uint32
MetricType defines the different types of metrics.
const ( MetricTypeUnknown MetricType = iota MetricTypeGeneric MetricTypeCounter MetricTypeGauge MetricTypeSummary MetricTypeHistogram )
func (MetricType) String ¶
func (t MetricType) String() string
type ObjectClass ¶
type ObjectClass C.daos_oclass_id_t
ObjectClass represents an object class.
func (*ObjectClass) FromString ¶
func (oc *ObjectClass) FromString(name string) error
FromString resolves a string to an ObjectClass.
func (ObjectClass) MarshalJSON ¶
func (oc ObjectClass) MarshalJSON() ([]byte, error)
func (ObjectClass) String ¶
func (oc ObjectClass) String() string
type POSIXAttributes ¶
type POSIXAttributes struct { ChunkSize uint64 `json:"chunk_size,omitempty"` ObjectClass ObjectClass `json:"object_class,omitempty"` DirObjectClass ObjectClass `json:"dir_object_class,omitempty"` FileObjectClass ObjectClass `json:"file_object_class,omitempty"` ConsistencyMode uint32 `json:"cons_mode,omitempty"` Hints string `json:"hints,omitempty"` }
POSIXAttributes contains extended information about POSIX-layout containers.
type PoolConnectFlag ¶
type PoolConnectFlag uint
PoolConnectFlag represents DAOS pool connect options.
type PoolInfo ¶
type PoolInfo struct { QueryMask PoolQueryMask `json:"query_mask"` State PoolServiceState `json:"state"` UUID uuid.UUID `json:"uuid"` Label string `json:"label,omitempty"` TotalTargets uint32 `json:"total_targets"` ActiveTargets uint32 `json:"active_targets"` TotalEngines uint32 `json:"total_engines"` DisabledTargets uint32 `json:"disabled_targets"` Version uint32 `json:"version"` ServiceLeader uint32 `json:"svc_ldr"` ServiceReplicas []ranklist.Rank `json:"svc_reps,omitempty"` Rebuild *PoolRebuildStatus `json:"rebuild"` TierStats []*StorageUsageStats `json:"tier_stats"` EnabledRanks *ranklist.RankSet `json:"enabled_ranks,omitempty"` DisabledRanks *ranklist.RankSet `json:"disabled_ranks,omitempty"` DeadRanks *ranklist.RankSet `json:"dead_ranks,omitempty"` PoolLayoutVer uint32 `json:"pool_layout_ver"` UpgradeLayoutVer uint32 `json:"upgrade_layout_ver"` MemFileBytes uint64 `json:"mem_file_bytes"` MdOnSsdActive bool `json:"md_on_ssd_active"` }
PoolInfo contains information about the pool.
func (*PoolInfo) MarshalJSON ¶
func (*PoolInfo) RebuildState ¶
RebuildState returns a string representation of the pool rebuild state.
func (*PoolInfo) Usage ¶
func (pi *PoolInfo) Usage() []*PoolTierUsage
Usage returns a slice of PoolTierUsage objects describing the pool's storage usage in a simpler format.
type PoolPropHandler ¶
type PoolPropHandler struct { Property PoolProperty // contains filtered or unexported fields }
func (*PoolPropHandler) GetProperty ¶
func (pph *PoolPropHandler) GetProperty(name string) *PoolProperty
func (*PoolPropHandler) Values ¶
func (pph *PoolPropHandler) Values() []string
type PoolProperty ¶
type PoolProperty struct { Number uint32 `json:"-"` Name string `json:"name"` Description string `json:"description"` Value PoolPropertyValue `json:"value"` // contains filtered or unexported fields }
PoolProperty contains a name/value pair representing a pool property.
func (*PoolProperty) MarshalJSON ¶
func (p *PoolProperty) MarshalJSON() (_ []byte, err error)
func (*PoolProperty) SetValue ¶
func (p *PoolProperty) SetValue(strVal string) error
func (*PoolProperty) String ¶
func (p *PoolProperty) String() string
func (*PoolProperty) StringValue ¶
func (p *PoolProperty) StringValue() string
type PoolPropertyMap ¶
type PoolPropertyMap map[string]*PoolPropHandler
func PoolProperties ¶
func PoolProperties() PoolPropertyMap
PoolProperties returns a map of property names to handlers for processing property values.
func (PoolPropertyMap) GetProperty ¶
func (m PoolPropertyMap) GetProperty(name string) (*PoolProperty, error)
GetProperty returns a *PoolProperty for the property name, if valid.
func (PoolPropertyMap) Keys ¶
func (m PoolPropertyMap) Keys() []string
type PoolPropertyValue ¶
type PoolPropertyValue struct {
// contains filtered or unexported fields
}
PoolPropertyValue encapsulates the logic for storing a string or uint64 property value.
func (*PoolPropertyValue) GetNumber ¶
func (ppv *PoolPropertyValue) GetNumber() (uint64, error)
GetNumber returns the numeric value set for the property, or an error if the value is not a number.
func (*PoolPropertyValue) IsSet ¶
func (ppv *PoolPropertyValue) IsSet() bool
func (*PoolPropertyValue) SetNumber ¶
func (ppv *PoolPropertyValue) SetNumber(numVal uint64)
SetNumber sets the property value to a number.
func (*PoolPropertyValue) SetString ¶
func (ppv *PoolPropertyValue) SetString(strVal string)
SetString sets the property value to a string.
func (*PoolPropertyValue) String ¶
func (ppv *PoolPropertyValue) String() string
type PoolQueryMask ¶
PoolQueryMask implements a bitmask for pool query options.
func MustNewPoolQueryMask ¶
func MustNewPoolQueryMask(options ...PoolQueryOption) (mask PoolQueryMask)
MustNewPoolQueryMask returns a PoolQueryMask initialized with the specified options. NB: If an error occurs due to an invalid option, it panics.
func (*PoolQueryMask) ClearAll ¶
func (pqm *PoolQueryMask) ClearAll()
ClearAll clears the pool query mask of all pool query options.
func (*PoolQueryMask) ClearOptions ¶
func (pqm *PoolQueryMask) ClearOptions(options ...PoolQueryOption) error
ClearOptions clears the pool query mask of the specified options.
func (PoolQueryMask) HasOption ¶
func (pqm PoolQueryMask) HasOption(option PoolQueryOption) bool
HasOption returns true if the pool query mask includes the specified option.
func (PoolQueryMask) MarshalJSON ¶
func (pqm PoolQueryMask) MarshalJSON() ([]byte, error)
func (*PoolQueryMask) SetAll ¶
func (pqm *PoolQueryMask) SetAll()
SetAll sets the pool query mask to include all pool query options.
func (*PoolQueryMask) SetOptions ¶
func (pqm *PoolQueryMask) SetOptions(options ...PoolQueryOption) error
SetOptions sets the pool query mask to include the specified options.
func (PoolQueryMask) String ¶
func (pqm PoolQueryMask) String() string
func (*PoolQueryMask) UnmarshalJSON ¶
func (pqm *PoolQueryMask) UnmarshalJSON(data []byte) error
type PoolQueryOption ¶
type PoolQueryOption string
PoolQueryOption is used to supply pool query options.
func (PoolQueryOption) String ¶
func (pqo PoolQueryOption) String() string
type PoolQueryTargetInfo ¶
type PoolQueryTargetInfo struct { Type PoolQueryTargetType `json:"target_type"` State PoolQueryTargetState `json:"target_state"` Space []*StorageUsageStats `json:"space"` MemFileBytes uint64 `json:"mem_file_bytes"` MdOnSsdActive bool `json:"md_on_ssd_active"` }
PoolQueryTargetInfo contains information about a single target
type PoolQueryTargetState ¶
type PoolQueryTargetState int32
func (PoolQueryTargetState) MarshalJSON ¶
func (pqts PoolQueryTargetState) MarshalJSON() ([]byte, error)
func (PoolQueryTargetState) String ¶
func (pqts PoolQueryTargetState) String() string
type PoolQueryTargetType ¶
type PoolQueryTargetType int32
func (PoolQueryTargetType) MarshalJSON ¶
func (pqtt PoolQueryTargetType) MarshalJSON() ([]byte, error)
func (PoolQueryTargetType) String ¶
func (ptt PoolQueryTargetType) String() string
type PoolRebuildState ¶
type PoolRebuildState int32
PoolRebuildState indicates the current state of the pool rebuild process.
func (PoolRebuildState) MarshalJSON ¶
func (prs PoolRebuildState) MarshalJSON() ([]byte, error)
func (PoolRebuildState) String ¶
func (prs PoolRebuildState) String() string
func (*PoolRebuildState) UnmarshalJSON ¶
func (prs *PoolRebuildState) UnmarshalJSON(data []byte) error
type PoolRebuildStatus ¶
type PoolRebuildStatus struct { Status int32 `json:"status"` State PoolRebuildState `json:"state"` Objects uint64 `json:"objects"` Records uint64 `json:"records"` TotalObjects uint64 `json:"total_objects"` }
PoolRebuildStatus contains detailed information about the pool rebuild process.
type PoolServiceState ¶
type PoolServiceState uint
PoolServiceState is used to represent the state of the pool service
func (PoolServiceState) MarshalJSON ¶
func (pss PoolServiceState) MarshalJSON() ([]byte, error)
func (PoolServiceState) String ¶
func (pss PoolServiceState) String() string
func (*PoolServiceState) UnmarshalJSON ¶
func (pss *PoolServiceState) UnmarshalJSON(data []byte) error
type PoolTierUsage ¶
type PoolTierUsage struct { // TierName identifies a pool's storage tier. TierName string `json:"tier_name"` // Size is the total number of bytes in the pool tier. Size uint64 `json:"size"` // Free is the number of free bytes in the pool tier. Free uint64 `json:"free"` // Imbalance is the percentage imbalance of pool tier usage // across all the targets. Imbalance uint32 `json:"imbalance"` }
PoolTierUsage describes usage of a single pool storage tier in a simpler format.
type QuantileMap ¶
QuantileMap is the set of quantile measurements.
func (QuantileMap) Keys ¶
func (m QuantileMap) Keys() []float64
Keys gets the sorted list of quantile keys.
func (QuantileMap) MarshalJSON ¶
func (m QuantileMap) MarshalJSON() ([]byte, error)
MarshalJSON marshals the QuantileMap into JSON.
func (QuantileMap) UnmarshalJSON ¶
func (m QuantileMap) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the QuantileMap from JSON.
type SelfTestConfig ¶
type SelfTestConfig struct { GroupName string `json:"group_name"` MasterEndpoints []SelfTestEndpoint `json:"master_endpoints,omitempty"` EndpointRanks []ranklist.Rank `json:"endpoint_ranks"` EndpointTags []uint32 `json:"endpoint_tags"` Repetitions uint `json:"repetitions"` SendSizes []uint64 `json:"send_sizes"` ReplySizes []uint64 `json:"reply_sizes"` BufferAlignment int16 `json:"buffer_alignment"` MaxInflightRPCs uint `json:"max_inflight_rpcs"` }
SelfTestConfig defines the parameters for a set of self_test runs.
func (*SelfTestConfig) Copy ¶
func (cfg *SelfTestConfig) Copy() *SelfTestConfig
Copy returns a copy of the configuration.
func (*SelfTestConfig) SetDefaults ¶
func (cfg *SelfTestConfig) SetDefaults() error
SetDefaults replaces unset parameters with default values.
func (*SelfTestConfig) Validate ¶
func (cfg *SelfTestConfig) Validate() error
Validate checks the configuration for validity.
type SelfTestEndpoint ¶
SelfTestEndpoint represents a rank:target test endpoint.
func (SelfTestEndpoint) String ¶
func (ste SelfTestEndpoint) String() string
type SelfTestResult ¶
type SelfTestResult struct { MasterEndpoint SelfTestEndpoint `json:"-"` TargetEndpoints []SelfTestEndpoint `json:"-"` Repetitions uint `json:"repetitions"` SendSize uint64 `json:"send_size"` ReplySize uint64 `json:"reply_size"` BufferAlignment int16 `json:"buffer_alignment"` Duration time.Duration `json:"duration"` MasterLatency *EndpointLatency `json:"master_latency"` TargetLatencies map[SelfTestEndpoint]*EndpointLatency `json:"-"` }
SelfTestResult represents the results of a single self_test run.
func (*SelfTestResult) AddTargetLatency ¶
func (str *SelfTestResult) AddTargetLatency(rank ranklist.Rank, tag uint32, value int64)
AddTargetLatency adds a latency value for a target endpoint.
func (*SelfTestResult) MarshalJSON ¶
func (str *SelfTestResult) MarshalJSON() ([]byte, error)
func (*SelfTestResult) RPCBandwidth ¶
func (str *SelfTestResult) RPCBandwidth() float64
RPCBandwidth calculates the bytes per second value based on the number of RPCs sent for the duration of the test.
func (*SelfTestResult) RPCThroughput ¶
func (str *SelfTestResult) RPCThroughput() float64
RPCThroughput calculates the number of RPCs per second.
func (*SelfTestResult) TargetRanks ¶
func (str *SelfTestResult) TargetRanks() (ranks []ranklist.Rank)
TargetRanks returns a slice of target ranks in the same order as the configured target endpoints.
type SimpleMetric ¶
type SimpleMetric struct { Labels MetricLabelMap `json:"labels"` Value float64 `json:"value"` }
SimpleMetric is a specific metric with a value.
func (*SimpleMetric) IsMetric ¶
func (*SimpleMetric) IsMetric()
IsMetric identifies SimpleMetric as a Metric.
type Status ¶
type Status int32
Status is a status code in the set defined by the DAOS data plane.
const ( // Success indicates no error Success Status = 0 // NoPermission indicates that access to a resource was denied NoPermission Status = -C.DER_NO_PERM // NoHandle indicates the handle was invalid NoHandle Status = -C.DER_NO_HDL // InvalidInput indicates an input was invalid InvalidInput Status = -C.DER_INVAL // Exists indicates the entity already exists Exists Status = -C.DER_EXIST // Nonexistent indicates the entity does not exist Nonexistent Status = -C.DER_NONEXIST // Unreachable indicates a node was unreachable Unreachable Status = -C.DER_UNREACH // NoSpace indicates there was not enough storage space NoSpace Status = -C.DER_NOSPACE // Already indicates the operation was already done Already Status = -C.DER_ALREADY // NoMemory indicates the system ran out of memory NoMemory Status = -C.DER_NOMEM // NotImpl indicates the requested functionality is not implemented NotImpl Status = -C.DER_NOSYS // TimedOut indicates the operation timed out TimedOut Status = -C.DER_TIMEDOUT // Busy indicates the system was busy and didn't process the request Busy Status = -C.DER_BUSY // TryAgain indicates the operation failed, but should be tried again TryAgain Status = -C.DER_AGAIN // ProtocolError indicates incompatibility in communications protocols ProtocolError Status = -C.DER_PROTO // NotInit indicates something in the system wasn't initialized NotInit Status = -C.DER_UNINIT // BufTooSmall indicates a provided buffer was too small BufTooSmall Status = -C.DER_TRUNC // StructTooSmall indicates data could not fit in the provided structure StructTooSmall Status = -C.DER_OVERFLOW // Canceled indicates the operation was canceled Canceled Status = -C.DER_CANCELED // OutOfGroup indicates that a rank wasn't found in the group OutOfGroup Status = -C.DER_OOG // MercuryError indicates that there was an error in the Mercury transport layer MercuryError Status = -C.DER_HG // Unregistered indicates that a requested RPC was not registered Unregistered Status = -C.DER_UNREG // AddrStringFailed indicates that an address string couldn't be generated AddrStringFailed Status = -C.DER_ADDRSTR_GEN // PMIXError indicates an error in the PMIX layer PMIXError Status = -C.DER_PMIX // IVCallback indicates that the IV callback cannot be handled locally IVCallback Status = -C.DER_IVCB_FORWARD // MiscError indicates an unspecified error MiscError Status = -C.DER_MISC // BadPath indicates that a bad file or directory path was provided BadPath Status = -C.DER_BADPATH // NotDir indicates that the path is not to a directory NotDir Status = -C.DER_NOTDIR // CorpcIncomplete indicates that corpc failed CorpcIncomplete Status = -C.DER_CORPC_INCOMPLETE // NoRASRank indicates that no rank is subscribed to RAS NoRASRank Status = -C.DER_NO_RAS_RANK // NotAttached indicates that a service group is not attached NotAttached Status = -C.DER_NOTATTACH // Mismatch indicates a version mismatch Mismatch Status = -C.DER_MISMATCH // Excluded indicates that the rank was excluded Excluded Status = -C.DER_EXCLUDED // NoReply indicates that there was no reply to an RPC NoReply Status = -C.DER_NOREPLY // DenialOfService indicates that there was a denial of service DenialOfService Status = -C.DER_DOS // BadTarget indicates that the target was wrong for the RPC BadTarget Status = -C.DER_BAD_TARGET // GroupVersionMismatch indicates that group versions didn't match GroupVersionMismatch Status = -C.DER_GRPVER // MercuryFatalError indicates a fatal (non-retryable) Mercury error MercuryFatalError Status = -C.DER_HG_FATAL // NoService indicates the pool service is not up and didn't process the pool request NoService Status = -C.DER_NO_SERVICE )
const ( // IOError indicates a generic IO error IOError Status = -C.DER_IO // FreeMemError indicates an error freeing memory FreeMemError Status = -C.DER_FREE_MEM // NoEntry indicates that the entry was not found NoEntry Status = -C.DER_ENOENT // UnknownType indicates that the entity type was unknown UnknownType Status = -C.DER_NOTYPE // UnknownSchema indicates that the entity schema was unknown UnknownSchema Status = -C.DER_NOSCHEMA // NotLocal indicates that the entity was not local NotLocal Status = -C.DER_NOLOCAL // Stale indicates that a resource was stale Stale Status = -C.DER_STALE // NotLeader indicates that the replica is not the service leader NotLeader Status = -C.DER_NOTLEADER // TargetCreateError indicates that target creation failed TargetCreateError Status = -C.DER_TGT_CREATE // EpochReadOnly indicates that the epoch couldn't be modified EpochReadOnly Status = -C.DER_EP_RO // EpochRecycled indicates that the epoch was recycled due to age EpochRecycled Status = -C.DER_EP_OLD // KeyTooBig indicates that the key is too big KeyTooBig Status = -C.DER_KEY2BIG // RecordTooBig indicates that the record is too big RecordTooBig Status = -C.DER_REC2BIG // IOInvalid indicates a mismatch between IO buffers and object extents IOInvalid Status = -C.DER_IO_INVAL // EventQueueBusy indicates that the event queue is busy EventQueueBusy Status = -C.DER_EQ_BUSY // DomainMismatch indicates that there was a mismatch of domains in cluster components DomainMismatch Status = -C.DER_DOMAIN // Shutdown indicates that the service should shut down Shutdown Status = -C.DER_SHUTDOWN // InProgress indicates that the operation is in progress InProgress Status = -C.DER_INPROGRESS // NotApplicable indicates that the operation is not applicable NotApplicable Status = -C.DER_NOTAPPLICABLE // NotReplica indicates that the requested component is not a service replica NotReplica Status = -C.DER_NOTREPLICA // ChecksumError indicates a checksum error ChecksumError Status = -C.DER_CSUM // ControlIncompatible indicates that one or more control plane components are incompatible ControlIncompatible Status = -C.DER_CONTROL_INCOMPAT // NoCert indicates that one or more configured certificates could not be accessed. NoCert Status = -C.DER_NO_CERT // BadCert indicates that an invalid certificate was detected. BadCert Status = -C.DER_BAD_CERT // RedundancyFactorExceeded indicates that the maximum number of failed components was exceeded. RedundancyFactorExceeded Status = -C.DER_RF // AgentCommFailed indicates that client/agent communication failed. AgentCommFailed Status = -C.DER_AGENT_COMM )
type StorageMediaType ¶
type StorageMediaType int32
StorageMediaType indicates the type of storage.
func (StorageMediaType) MarshalJSON ¶
func (smt StorageMediaType) MarshalJSON() ([]byte, error)
func (StorageMediaType) String ¶
func (smt StorageMediaType) String() string
func (*StorageMediaType) UnmarshalJSON ¶
func (smt *StorageMediaType) UnmarshalJSON(data []byte) error
type StorageTargetUsage ¶
type StorageTargetUsage struct { Total uint64 `json:"total"` Free uint64 `json:"free"` MediaType StorageMediaType `json:"media_type"` }
StorageTargetUsage represents DAOS target storage usage
type StorageUsageStats ¶
type StorageUsageStats struct { Total uint64 `json:"total"` Free uint64 `json:"free"` Min uint64 `json:"min"` Max uint64 `json:"max"` Mean uint64 `json:"mean"` MediaType StorageMediaType `json:"media_type"` }
StorageUsageStats represents raw DAOS storage usage statistics.
type StringPropVal ¶
type StringPropVal struct {
// contains filtered or unexported fields
}
StringPropVal is a string-based property value.
func NewStringPropVal ¶
func NewStringPropVal(defVal string, choices ...string) *StringPropVal
NewStringPropVal returns a new StringPropVal initialized to a default value, with an optional set of allowable values.
func (*StringPropVal) Choices ¶
func (pv *StringPropVal) Choices() []string
func (*StringPropVal) Handler ¶
func (pv *StringPropVal) Handler(val string) error
func (*StringPropVal) String ¶
func (pv *StringPropVal) String() string
type SummaryMetric ¶
type SummaryMetric struct { Labels MetricLabelMap `json:"labels"` SampleCount uint64 `json:"sample_count"` SampleSum float64 `json:"sample_sum"` Quantiles QuantileMap `json:"quantiles"` }
SummaryMetric represents a group of observations.
func (*SummaryMetric) IsMetric ¶
func (*SummaryMetric) IsMetric()
IsMetric identifies SummaryMetric as a Metric.
func (*SummaryMetric) UnmarshalJSON ¶
func (m *SummaryMetric) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals a SummaryMetric from JSON.
type SystemHealthInfo ¶
type SystemHealthInfo struct { SystemInfo *SystemInfo `json:"system_info"` ComponentBuildInfo map[string]ComponentBuild `json:"component_build_info"` Pools map[uuid.UUID]*PoolInfo `json:"pools"` Containers map[uuid.UUID][]*ContainerInfo `json:"pool_containers,omitempty"` }
SystemHealthInfo provides a top-level structure to hold system health information.
type SystemInfo ¶
type SystemInfo struct { Name string `json:"system_name"` Provider string `json:"fabric_provider"` AgentPath string `json:"agent_path"` RankURIs []*RankURI `json:"rank_uris"` AccessPointRankURIs []*RankURI `json:"access_point_rank_uris"` }
SystemInfo represents information about the connected system.
func (*SystemInfo) AccessPoints ¶
func (si *SystemInfo) AccessPoints() []string
AccessPoints returns a string slice representation of the system access points.
type SystemProperty ¶
type SystemProperty struct { Key SystemPropertyKey Value SystemPropertyValue Description string }
SystemProperty represents a key/value pair associated with a system property.
func (*SystemProperty) MarshalJSON ¶
func (sp *SystemProperty) MarshalJSON() ([]byte, error)
func (*SystemProperty) String ¶
func (sp *SystemProperty) String() string
type SystemPropertyKey ¶
type SystemPropertyKey int
SystemProperty defines a type to be used to represent DAOS system property keys.
const ( // SystemPropertyDaosVersion retrieves the DAOS version. SystemPropertyDaosVersion SystemPropertyKey // SystemPropertyDaosSystem retrieves the DAOS system name. SystemPropertyDaosSystem // SystemPropertyPoolScrubMode sets or retrieves the scrubbing mode for each pool in the system. SystemPropertyPoolScrubMode // SystemPropertyPoolScrubThresh sets or retrieves the scrubbing error threshold for each pool in the system. SystemPropertyPoolScrubThresh )
NB: System properties are not tied to engine constants, but are defined here for consistency.
func (*SystemPropertyKey) FromString ¶
func (sp *SystemPropertyKey) FromString(val string) error
FromString initializes a SystemPropertyKey from a string.
func (SystemPropertyKey) IsValid ¶
func (sp SystemPropertyKey) IsValid() bool
IsValid returns a boolean indicating whether or not the system property key is valid.
func (SystemPropertyKey) String ¶
func (sp SystemPropertyKey) String() string
type SystemPropertyMap ¶
type SystemPropertyMap map[SystemPropertyKey]SystemProperty
SystemPropertyMap is a map of SystemPropertyKey to SystemProperty.
func SystemProperties ¶
func SystemProperties() SystemPropertyMap
SystemProperties returns the map of standard system properties.
func (SystemPropertyMap) Add ¶
func (spm SystemPropertyMap) Add(prop SystemProperty) error
Add adds a SystemProperty to the map.
func (SystemPropertyMap) Get ¶
func (spm SystemPropertyMap) Get(strKey string) (*SystemProperty, bool)
Get returns the SystemProperty associated with the given key, if found.
func (SystemPropertyMap) Iter ¶
func (spm SystemPropertyMap) Iter() <-chan *SystemProperty
Iter returns a channel to be used to iterate over the SystemPropertyMap, sorted by keys.
func (SystemPropertyMap) Keys ¶
func (spm SystemPropertyMap) Keys() []string
Keys returns a sorted slice of key strings.
func (SystemPropertyMap) UpdateCompPropVal ¶
func (spm SystemPropertyMap) UpdateCompPropVal(key SystemPropertyKey, sourceFn func() string) error
UpdateCompPropVal updates the value source function for a computed property value.
type SystemPropertyValue ¶
type SystemPropertyValue interface { Handler(val string) error Choices() []string String() string // contains filtered or unexported methods }
SystemPropertyValue defines an interface to be implemented by all system property value types.
func NewCompPropVal ¶
func NewCompPropVal(valueSource func() string) SystemPropertyValue
NewCompPropVal returns a new CompPropVal initialized with a value source.
func UnsetPropVal ¶
func UnsetPropVal() SystemPropertyValue
UnsetPropVal returns a SystemPropertyValue that can be used to indicate that a property is not set.