Versions in this module Expand all Collapse all v0 v0.56.0 Oct 11, 2026 v0.55.0 Oct 9, 2026 v0.54.0 Oct 8, 2026 Changes in this version + type BucketTotal struct + AvgStoredBytes float64 + Bucket string + DownloadedBytes int64 + Label string + Location string + Ops int64 + UploadedBytes int64 + func PerBucket(days []Day) []BucketTotal type Report + Buckets []BucketTotal + Trend []TrendPoint type Totals + AccountOpsTotal int64 + type TrendPoint struct + Date string + StoredBytes float64 + func Trend(days []Day) []TrendPoint v0.53.0 Oct 7, 2026 v0.52.0 Oct 5, 2026 v0.51.0 Oct 4, 2026 v0.50.0 Oct 3, 2026 v0.49.0 Sep 29, 2026 v0.48.1 Sep 28, 2026 v0.48.0 Sep 28, 2026 v0.47.0 Sep 26, 2026 v0.46.1 Sep 26, 2026 v0.46.0 Sep 26, 2026 v0.45.1 Sep 25, 2026 v0.45.0 Sep 25, 2026 v0.44.2 Sep 25, 2026 v0.43.0 Sep 24, 2026 Changes in this version + const ProviderB2 + const SourceFilex + const SourceProvider + var SettingAccountID = dbsetting.StringSpec + var SettingPrefix = dbsetting.StringSpec + var SettingPricing = dbsetting.StringSpec + var SettingProvider = dbsetting.StringSpec + var SettingReportStorage = dbsetting.StringSpec + func Month(t time.Time) (from, to time.Time) + func SeedSettings(ctx context.Context, st dbsetting.Store) + func SettingSpecs() []dbsetting.Seeder + func SortDays(days []Day) + type B2 struct + AccountID string + Driver storage.Driver + Prefix string + func (B2) Name() string + func (b B2) Fetch(ctx context.Context, from, to time.Time) ([]Day, error) + func (b B2) Path(day time.Time) string + type Cost struct + AllowanceGB float64 + AvgStoredGB float64 + BillableGB float64 + BillableGBMon float64 + BillableOps int64 + Currency string + Days int + DownloadedGB float64 + EgressCost float64 + EgressCovered bool + FreeOps int64 + FreeStorageGB float64 + OpsCost float64 + ProviderFreeGB float64 + StorageCost float64 + StorageCovered bool + Total float64 + func Estimate(t Totals, p Pricing) Cost + type Day struct + Bucket string + ByteHours float64 + Date time.Time + DeletedBytes int64 + DownloadedBytes int64 + FreeEgressBytes int64 + Location string + OpsA int64 + OpsB int64 + OpsC int64 + OpsD int64 + Provider string + Scope Scope + Source string + StoredBytes int64 + UploadedBytes int64 + type Pricing struct + ClassAPer10k float64 + ClassBPer10k float64 + ClassCPer10k float64 + ClassDPer10k float64 + Currency string + EgressPerGB float64 + FreeClassPerDay int64 + FreeEgressMultiple float64 + FreeStorageGB float64 + Note string + StoragePerGBMonth float64 + func BackblazeB2() Pricing + type Report struct + Configured bool + Cost Cost + Days []Day + From string + Notes []string + Settings Settings + To string + Totals Totals + type Scope string + const ScopeAccount + const ScopeBucket + type Service struct + Get dbsetting.Getter + Lookup StorageLookup + TTL time.Duration + func NewService(get dbsetting.Getter, lookup StorageLookup, ttl time.Duration) *Service + func (s *Service) Invalidate() + func (s *Service) Report(ctx context.Context, from, to time.Time) (Report, error) + func (s *Service) Settings(ctx context.Context) Settings + type Settings struct + AccountID string + Prefix string + Pricing Pricing + PricingIsDefault bool + Provider string + ReportStorage string + func (s Settings) Configured() bool + type Source interface + Fetch func(ctx context.Context, from, to time.Time) ([]Day, error) + Name func() string + type StorageLookup func(ctx context.Context, name string) (storage.Driver, error) + type Totals struct + AccountOps struct{ ... } + AvgStoredBytes float64 + Days int + DeletedBytes int64 + DownloadedBytes int64 + FreeEgressBytes int64 + From time.Time + OpsA int64 + OpsB int64 + OpsC int64 + OpsD int64 + PeakStoredBytes int64 + To time.Time + UploadedBytes int64 + func SumBuckets(days []Day) Totals