Documentation ¶
Index ¶
- Variables
- func FormatSupraSealConfig(config SupraSealConfig, system SystemInfo, additionalInfo AdditionalSystemInfo) string
- func GenerateSupraSealConfigString(dualHashers bool, batchSize int, nvmeDevices []string) (string, error)
- func SupraSpaceUse(ft storiface.SectorFileType, ssize abi.SectorSize) (uint64, error)
- type AdditionalSystemInfo
- type CoordinatorConfig
- type SectorConfig
- type SupraSeal
- func (s *SupraSeal) Adder(taskFunc harmonytask.AddTaskFunc)
- func (s *SupraSeal) CanAccept(ids []harmonytask.TaskID, engine *harmonytask.TaskEngine) (*harmonytask.TaskID, error)
- func (s *SupraSeal) Do(taskID harmonytask.TaskID, stillOwned func() bool) (done bool, err error)
- func (s *SupraSeal) TypeDetails() harmonytask.TaskTypeDetails
- type SupraSealConfig
- type SupraSealNodeAPI
- type SystemInfo
- type TopologyConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var FSOverheadSupra = map[storiface.SectorFileType]int{ storiface.FTUnsealed: storiface.FSOverheadDen, storiface.FTSealed: storiface.FSOverheadDen, storiface.FTCache: 11, }
View Source
var SupraSealMeasures = struct { PhaseLockCount *stats.Int64Measure PhaseWaitingCount *stats.Int64Measure PhaseAvgDuration *stats.Float64Measure // NVMe Health measures NVMeTemperature *stats.Float64Measure NVMeAvailableSpare *stats.Int64Measure NVMePercentageUsed *stats.Int64Measure NVMePowerCycles *stats.Int64Measure NVMePowerOnHours *stats.Float64Measure NVMeUnsafeShutdowns *stats.Int64Measure NVMeMediaErrors *stats.Int64Measure NVMeErrorLogEntries *stats.Int64Measure NVMeCriticalWarning *stats.Int64Measure NVMeBytesRead *stats.Int64Measure NVMeBytesWritten *stats.Int64Measure NVMeReadIO *stats.Int64Measure NVMeWriteIO *stats.Int64Measure }{ PhaseLockCount: stats.Int64(pre+"phase_lock_count", "Number of active locks in each phase", stats.UnitDimensionless), PhaseWaitingCount: stats.Int64(pre+"phase_waiting_count", "Number of goroutines waiting for a phase lock", stats.UnitDimensionless), PhaseAvgDuration: stats.Float64(pre+"phase_avg_duration", "Average duration of each phase in seconds", stats.UnitSeconds), NVMeTemperature: stats.Float64(pre+"nvme_temperature_celsius", "NVMe Temperature in Celsius", stats.UnitDimensionless), NVMeAvailableSpare: stats.Int64(pre+"nvme_available_spare", "NVMe Available Spare", stats.UnitDimensionless), NVMePercentageUsed: stats.Int64(pre+"nvme_percentage_used", "NVMe Percentage Used", stats.UnitDimensionless), NVMePowerCycles: stats.Int64(pre+"nvme_power_cycles", "NVMe Power Cycles", stats.UnitDimensionless), NVMePowerOnHours: stats.Float64(pre+"nvme_power_on_hours", "NVMe Power On Hours", stats.UnitDimensionless), NVMeUnsafeShutdowns: stats.Int64(pre+"nvme_unsafe_shutdowns", "NVMe Unsafe Shutdowns", stats.UnitDimensionless), NVMeMediaErrors: stats.Int64(pre+"nvme_media_errors", "NVMe Media Errors", stats.UnitDimensionless), NVMeErrorLogEntries: stats.Int64(pre+"nvme_error_log_entries", "NVMe Error Log Entries", stats.UnitDimensionless), NVMeCriticalWarning: stats.Int64(pre+"nvme_critical_warning", "NVMe Critical Warning Flags", stats.UnitDimensionless), NVMeBytesRead: stats.Int64(pre+"nvme_bytes_read", "NVMe Bytes Read", stats.UnitBytes), NVMeBytesWritten: stats.Int64(pre+"nvme_bytes_written", "NVMe Bytes Written", stats.UnitBytes), NVMeReadIO: stats.Int64(pre+"nvme_read_io", "NVMe Read IOs", stats.UnitDimensionless), NVMeWriteIO: stats.Int64(pre+"nvme_write_io", "NVMe Write IOs", stats.UnitDimensionless), }
SupraSealMeasures groups all SupraSeal metrics.
Functions ¶
func FormatSupraSealConfig ¶
func FormatSupraSealConfig(config SupraSealConfig, system SystemInfo, additionalInfo AdditionalSystemInfo) string
func SupraSpaceUse ¶
func SupraSpaceUse(ft storiface.SectorFileType, ssize abi.SectorSize) (uint64, error)
Types ¶
type AdditionalSystemInfo ¶
type AdditionalSystemInfo struct { CPUName string MemorySize string MemoryChannels int InstalledModules int MaxMemoryCapacity string MemoryType string MemorySpeed string }
func ExtractAdditionalSystemInfo ¶
func ExtractAdditionalSystemInfo() (AdditionalSystemInfo, error)
type CoordinatorConfig ¶
type SectorConfig ¶
type SectorConfig struct { Sectors int Coordinators []CoordinatorConfig }
type SupraSeal ¶
type SupraSeal struct {
// contains filtered or unexported fields
}
func NewSupraSeal ¶
func (*SupraSeal) Adder ¶
func (s *SupraSeal) Adder(taskFunc harmonytask.AddTaskFunc)
func (*SupraSeal) CanAccept ¶
func (s *SupraSeal) CanAccept(ids []harmonytask.TaskID, engine *harmonytask.TaskEngine) (*harmonytask.TaskID, error)
func (*SupraSeal) TypeDetails ¶
func (s *SupraSeal) TypeDetails() harmonytask.TaskTypeDetails
type SupraSealConfig ¶
type SupraSealConfig struct { NVMeDevices []string Topology TopologyConfig // Diagnostic fields (not part of the config) RequiredThreads int RequiredCCX int RequiredCores int UnoccupiedCores int P2WrRdOverlap bool P2HsP1WrOverlap bool P2HcP2RdOverlap bool }
func GenerateSupraSealConfig ¶
func GenerateSupraSealConfig(info SystemInfo, dualHashers bool, batchSize int, nvmeDevices []string) (SupraSealConfig, error)
type SupraSealNodeAPI ¶
type SystemInfo ¶
func GetSystemInfo ¶
func GetSystemInfo() (*SystemInfo, error)
Click to show internal directories.
Click to hide internal directories.