satellite/{accounting, console}: remove unnecessary fields from usage report
Removed MetadataSize, RepairEgress, AuditEgress fields from usage report because they are not relevant. Issue: https://github.com/storj/storj/issues/6498 Change-Id: I8ef7d56bd1b01cdb53cec8c67dd47a6a0e7fa184
This commit is contained in:
parent
a52934ef4d
commit
cd9518a3c3
@ -165,26 +165,31 @@ type BucketUsageRollup struct {
|
||||
Before time.Time `json:"before"`
|
||||
}
|
||||
|
||||
// ProjectBucketUsageRollup is total bucket usage info with project details for certain period.
|
||||
type ProjectBucketUsageRollup struct {
|
||||
ProjectName string `json:"projectName"`
|
||||
// ProjectReportItem is total bucket usage info with project details for certain period.
|
||||
type ProjectReportItem struct {
|
||||
ProjectID uuid.UUID
|
||||
ProjectName string
|
||||
|
||||
BucketUsageRollup
|
||||
BucketName string
|
||||
Storage float64
|
||||
Egress float64
|
||||
SegmentCount float64
|
||||
ObjectCount float64
|
||||
|
||||
Since time.Time `json:"since"`
|
||||
Before time.Time `json:"before"`
|
||||
}
|
||||
|
||||
// ToStringSlice converts rollup values to a slice of strings.
|
||||
func (b *ProjectBucketUsageRollup) ToStringSlice() []string {
|
||||
// ToStringSlice converts report item values to a slice of strings.
|
||||
func (b *ProjectReportItem) ToStringSlice() []string {
|
||||
return []string{
|
||||
b.ProjectName,
|
||||
b.ProjectID.String(),
|
||||
b.BucketName,
|
||||
fmt.Sprintf("%f", b.TotalStoredData),
|
||||
fmt.Sprintf("%f", b.TotalSegments),
|
||||
fmt.Sprintf("%f", b.Storage),
|
||||
fmt.Sprintf("%f", b.Egress),
|
||||
fmt.Sprintf("%f", b.ObjectCount),
|
||||
fmt.Sprintf("%f", b.MetadataSize),
|
||||
fmt.Sprintf("%f", b.RepairEgress),
|
||||
fmt.Sprintf("%f", b.GetEgress),
|
||||
fmt.Sprintf("%f", b.AuditEgress),
|
||||
fmt.Sprintf("%f", b.SegmentCount),
|
||||
b.Since.String(),
|
||||
b.Before.String(),
|
||||
}
|
||||
|
@ -156,7 +156,7 @@ func (ul *UsageLimits) UsageReport(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
wr := csv.NewWriter(w)
|
||||
|
||||
csvHeaders := []string{"ProjectName", "ProjectID", "BucketName", "TotalStoredData GB-hour", "TotalSegments GB-hour", "ObjectCount GB-hour", "MetadataSize GB-hour", "RepairEgress GB", "GetEgress GB", "AuditEgress GB", "Since", "Before"}
|
||||
csvHeaders := []string{"ProjectName", "ProjectID", "BucketName", "Storage GB-hour", "Egress GB", "ObjectCount objects-hour", "SegmentCount segments-hour", "Since", "Before"}
|
||||
|
||||
err = wr.Write(csvHeaders)
|
||||
if err != nil {
|
||||
|
@ -245,7 +245,7 @@ func Test_TotalUsageReport(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
require.Len(t, records, 3)
|
||||
|
||||
expectedHeaders := []string{"ProjectName", "ProjectID", "BucketName", "TotalStoredData GB-hour", "TotalSegments GB-hour", "ObjectCount GB-hour", "MetadataSize GB-hour", "RepairEgress GB", "GetEgress GB", "AuditEgress GB", "Since", "Before"}
|
||||
expectedHeaders := []string{"ProjectName", "ProjectID", "BucketName", "Storage GB-hour", "Egress GB", "ObjectCount objects-hour", "SegmentCount segments-hour", "Since", "Before"}
|
||||
for i, header := range expectedHeaders {
|
||||
require.Equal(t, header, records[0][i])
|
||||
}
|
||||
@ -256,7 +256,7 @@ func Test_TotalUsageReport(t *testing.T) {
|
||||
require.Equal(t, project2.PublicID.String(), records[2][1])
|
||||
require.Equal(t, bucketName, records[1][2])
|
||||
require.Equal(t, bucketName, records[2][2])
|
||||
for i := 3; i < 10; i++ {
|
||||
for i := 3; i < 7; i++ {
|
||||
require.Equal(t, expectedCSVValue, records[1][i])
|
||||
require.Equal(t, expectedCSVValue, records[2][i])
|
||||
}
|
||||
@ -275,7 +275,7 @@ func Test_TotalUsageReport(t *testing.T) {
|
||||
require.Equal(t, project1.PublicID.String(), records[1][1])
|
||||
require.Equal(t, bucketName, records[1][2])
|
||||
|
||||
for i := 3; i < 10; i++ {
|
||||
for i := 3; i < 7; i++ {
|
||||
require.Equal(t, expectedCSVValue, records[1][i])
|
||||
}
|
||||
})
|
||||
|
@ -2724,7 +2724,7 @@ func (s *Service) GetAllBucketNames(ctx context.Context, projectID uuid.UUID) (_
|
||||
}
|
||||
|
||||
// GetUsageReport retrieves usage rollups for every bucket of a single or all the user owned projects for a given period.
|
||||
func (s *Service) GetUsageReport(ctx context.Context, since, before time.Time, projectID uuid.UUID) ([]accounting.ProjectBucketUsageRollup, error) {
|
||||
func (s *Service) GetUsageReport(ctx context.Context, since, before time.Time, projectID uuid.UUID) ([]accounting.ProjectReportItem, error) {
|
||||
var err error
|
||||
defer mon.Task()(&ctx)(&err)
|
||||
|
||||
@ -2751,7 +2751,7 @@ func (s *Service) GetUsageReport(ctx context.Context, since, before time.Time, p
|
||||
projects = append(projects, *pr)
|
||||
}
|
||||
|
||||
usage := make([]accounting.ProjectBucketUsageRollup, 0)
|
||||
usage := make([]accounting.ProjectReportItem, 0)
|
||||
|
||||
for _, p := range projects {
|
||||
rollups, err := s.projectAccounting.GetBucketUsageRollups(ctx, p.ID, since, before)
|
||||
@ -2760,21 +2760,16 @@ func (s *Service) GetUsageReport(ctx context.Context, since, before time.Time, p
|
||||
}
|
||||
|
||||
for _, r := range rollups {
|
||||
usage = append(usage, accounting.ProjectBucketUsageRollup{
|
||||
ProjectName: p.Name,
|
||||
BucketUsageRollup: accounting.BucketUsageRollup{
|
||||
ProjectID: p.PublicID,
|
||||
BucketName: r.BucketName,
|
||||
TotalStoredData: r.TotalStoredData,
|
||||
TotalSegments: r.TotalSegments,
|
||||
ObjectCount: r.ObjectCount,
|
||||
MetadataSize: r.MetadataSize,
|
||||
RepairEgress: r.RepairEgress,
|
||||
GetEgress: r.GetEgress,
|
||||
AuditEgress: r.AuditEgress,
|
||||
Since: r.Since,
|
||||
Before: r.Before,
|
||||
},
|
||||
usage = append(usage, accounting.ProjectReportItem{
|
||||
ProjectName: p.Name,
|
||||
ProjectID: p.PublicID,
|
||||
BucketName: r.BucketName,
|
||||
Storage: r.TotalStoredData,
|
||||
Egress: r.GetEgress,
|
||||
ObjectCount: r.ObjectCount,
|
||||
SegmentCount: r.TotalSegments,
|
||||
Since: r.Since,
|
||||
Before: r.Before,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user