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:
Vitalii 2023-11-15 14:13:23 +02:00 committed by Storj Robot
parent a52934ef4d
commit cd9518a3c3
4 changed files with 33 additions and 33 deletions

View File

@ -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(),
}

View File

@ -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 {

View File

@ -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])
}
})

View File

@ -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,
})
}
}