Documentation
¶
Index ¶
- Constants
- type Fan
- type Miner
- type MinerLog
- type MinerRepository
- func (r *MinerRepository) CreateMinersInBatch(miners []*Miner) error
- func (r *MinerRepository) GetByMacAddress(macAddress string) (*Miner, error)
- func (r *MinerRepository) List() ([]*Miner, error)
- func (r *MinerRepository) ListByFleetID(fleetId uint) ([]*Miner, error)
- func (r *MinerRepository) ListByMacAddresses(macAddresses []string) ([]*Miner, error)
- func (r *MinerRepository) UpdateMinersInBatch(miners []*Miner) error
- func (r *MinerRepository) Upsert(ctx context.Context, miner *Miner) (uint, error)
- type MinerTimeSeries
- type MinerTimeSeriesRepository
- func (r *MinerTimeSeriesRepository) FlushMinerData() error
- func (r *MinerTimeSeriesRepository) FlushPoolData() error
- func (r *MinerTimeSeriesRepository) ReadMinerData(macAddress string, interval int, intervalUnit string, window int, ...) (MinerTimeSeriesResponse, error)
- func (r *MinerTimeSeriesRepository) ReadPoolData(macAddress string, interval int, intervalUnit string, window int, ...) (PoolTimeSeriesResponse, error)
- func (r *MinerTimeSeriesRepository) WriteMinerData(data MinerTimeSeries) error
- func (r *MinerTimeSeriesRepository) WritePoolData(data PoolTimeSeries) error
- type MinerTimeSeriesResponse
- type Pool
- type PoolTimeSeries
- type PoolTimeSeriesResponse
- type Temperature
Constants ¶
View Source
const (
CreateUniqueMinerIndexSQL = `
CREATE UNIQUE INDEX idx_mac_address_fleet_id ON miners (mac_address, fleet_id);
`
)
TODO: cascade for log TODO: vendor model name
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Fan ¶
type Fan []int
type Miner ¶
type Miner struct { gorm.Model Miner miner_domain.Miner `gorm:"embedded"` // NOTE: MacAddress unique-indexed Stats miner_domain.Stats `gorm:"embedded"` Config miner_domain.Config `gorm:"embedded"` MinerType scanner_domain.MinerType ModelName string `gorm:"comment: i.e. Antminer s19"` Mode miner_domain.Mode `gorm:"comment: Mode: 0=Normal, 1=Sleep, 2=LowPower"` Status miner_domain.Status `gorm:"comment: Status: 0=Online, 1=Offline, 2=Disabled, 3=Error, 4=Warning"` Pools []Pool `gorm:"onDelete:CASCADE; onUpdate:CASCADE"` Fan Fan `gorm:"type:VARCHAR(255)"` Temperature Temperature `gorm:"type:VARCHAR(255)"` Log []MinerLog FleetID uint `gorm:"index"` }
type MinerLog ¶
type MinerLog struct { gorm.Model Log miner_domain.Log `gorm:"embedded;"` EventType miner_domain.EventType `gorm:"comment: EventType: 0=Operational, 1=SystemIssue, 2=UserActivity"` MinerID uint `gorm:"index"` }
type MinerRepository ¶
type MinerRepository struct {
// contains filtered or unexported fields
}
func NewMinerRepository ¶
func NewMinerRepository(db *gorm.DB) *MinerRepository
func (*MinerRepository) CreateMinersInBatch ¶
func (r *MinerRepository) CreateMinersInBatch(miners []*Miner) error
TODO: FIXME
func (*MinerRepository) GetByMacAddress ¶
func (r *MinerRepository) GetByMacAddress(macAddress string) (*Miner, error)
func (*MinerRepository) List ¶
func (r *MinerRepository) List() ([]*Miner, error)
func (*MinerRepository) ListByFleetID ¶
func (r *MinerRepository) ListByFleetID(fleetId uint) ([]*Miner, error)
func (*MinerRepository) ListByMacAddresses ¶
func (r *MinerRepository) ListByMacAddresses(macAddresses []string) ([]*Miner, error)
func (*MinerRepository) UpdateMinersInBatch ¶
func (r *MinerRepository) UpdateMinersInBatch(miners []*Miner) error
type MinerTimeSeries ¶
type MinerTimeSeriesRepository ¶
type MinerTimeSeriesRepository struct {
// contains filtered or unexported fields
}
func NewMinerTimeSeriesRepository ¶
func NewMinerTimeSeriesRepository(db timeseries_database.InfluxDBConnectionSettings) *MinerTimeSeriesRepository
func (*MinerTimeSeriesRepository) FlushMinerData ¶
func (r *MinerTimeSeriesRepository) FlushMinerData() error
func (*MinerTimeSeriesRepository) FlushPoolData ¶
func (r *MinerTimeSeriesRepository) FlushPoolData() error
func (*MinerTimeSeriesRepository) ReadMinerData ¶
func (r *MinerTimeSeriesRepository) ReadMinerData( macAddress string, interval int, intervalUnit string, window int, windowUnit string, ) (MinerTimeSeriesResponse, error)
NOTE: mac_address is null in the response object
func (*MinerTimeSeriesRepository) ReadPoolData ¶
func (r *MinerTimeSeriesRepository) ReadPoolData( macAddress string, interval int, intervalUnit string, window int, windowUnit string, ) (PoolTimeSeriesResponse, error)
func (*MinerTimeSeriesRepository) WriteMinerData ¶
func (r *MinerTimeSeriesRepository) WriteMinerData(data MinerTimeSeries) error
func (*MinerTimeSeriesRepository) WritePoolData ¶
func (r *MinerTimeSeriesRepository) WritePoolData(data PoolTimeSeries) error
type MinerTimeSeriesResponse ¶
type MinerTimeSeriesResponse struct { Record []MinerTimeSeries `json:"miner_time_series_record"` TimeStamps []time.Time `json:"timestamps"` }
type Pool ¶
type Pool struct { gorm.Model Pool miner_domain.Pool `gorm:"embedded;"` MinerID uint `gorm:"index"` }
type PoolTimeSeries ¶
type PoolTimeSeriesResponse ¶
type PoolTimeSeriesResponse struct { Record []PoolTimeSeries `json:"pool_time_series_record"` TimeStamps []time.Time `json:"timestamps"` }
type Temperature ¶
type Temperature []int
func (*Temperature) Scan ¶
func (t *Temperature) Scan(value interface{}) error
Click to show internal directories.
Click to hide internal directories.