storageusage

package
v1.67.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2022 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DB

type DB interface {
	// Store stores storage usage stamps to db replacing conflicting entries
	Store(ctx context.Context, stamps []Stamp) error
	// GetDaily returns daily storage usage stamps for particular satellite
	// for provided time range
	GetDaily(ctx context.Context, satelliteID storj.NodeID, from, to time.Time) ([]Stamp, error)
	// GetDailyTotal returns daily storage usage stamps summed across all known satellites
	// for provided time range
	GetDailyTotal(ctx context.Context, from, to time.Time) ([]Stamp, error)
	// Summary returns aggregated storage usage across all satellites.
	Summary(ctx context.Context, from, to time.Time) (float64, error)
	// SatelliteSummary returns aggregated storage usage for a particular satellite.
	SatelliteSummary(ctx context.Context, satelliteID storj.NodeID, from, to time.Time) (float64, error)
}

DB works with storage usage database.

architecture: Database

type Stamp

type Stamp struct {
	SatelliteID storj.NodeID `json:"-"`
	// AtRestTotal is the disk space used from IntervalStart to IntervalEndTime in Bytes*day
	AtRestTotal float64 `json:"atRestTotal"`
	// IntervalStart represents one tally day
	//  TODO: rename to timestamp to match DB
	IntervalStart time.Time `json:"intervalStart"`
	// IntervalEndTime represents the timestamp for the last tally run time
	//  (i.e. last interval_end_time) for the day
	IntervalEndTime time.Time `json:"-"`
}

Stamp is storage usage stamp for satellite from interval start till next interval.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL