Skip to content

Commit

Permalink
fix: list disks for an instance
Browse files Browse the repository at this point in the history
  • Loading branch information
artaasadi committed Jun 25, 2024
1 parent c20e64d commit 43fe926
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 10 deletions.
15 changes: 11 additions & 4 deletions plugin/processor/compute_instance/compute_instance_item.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"fmt"
"google.golang.org/api/compute/v1"
"maps"
"strconv"

"github.com/kaytu-io/kaytu/pkg/plugin/proto/src/golang"
"github.com/kaytu-io/kaytu/pkg/utils"
Expand Down Expand Up @@ -117,7 +118,7 @@ func (i ComputeInstanceItem) ComputeDiskDevice() ([]*golang.ChartRow, map[string
props := make(map[string]*golang.Properties)

for _, d := range i.Disks {
key := string(d.Id)
key := strconv.FormatUint(d.Id, 10)
disk := i.Wastage.VolumeRightSizing[key]

row := golang.ChartRow{
Expand Down Expand Up @@ -154,10 +155,10 @@ func (i ComputeInstanceItem) ComputeDiskDevice() ([]*golang.ChartRow, map[string
}
DiskSizeProperty := &golang.Property{
Key: "Disk Size",
Current: fmt.Sprintf("%d GB", *disk.Current.DiskSize),
Current: fmt.Sprintf("%d GB", d.SizeGb),
}

if i.Wastage.RightSizing.Recommended != nil {
if disk.Recommended != nil {
row.Values["right_sized_cost"] = &golang.ChartRowItem{
Value: utils.FormatPriceFloat(disk.Recommended.Cost),
}
Expand All @@ -166,7 +167,9 @@ func (i ComputeInstanceItem) ComputeDiskDevice() ([]*golang.ChartRow, map[string
}
RegionProperty.Recommended = disk.Recommended.Region
DiskTypeProperty.Recommended = disk.Recommended.DiskType
DiskSizeProperty.Recommended = fmt.Sprintf("%d GB", *disk.Recommended.DiskSize)
if disk.Recommended.DiskSize != nil {
DiskSizeProperty.Recommended = fmt.Sprintf("%d GB", *disk.Recommended.DiskSize)
}
}

properties := &golang.Properties{}
Expand All @@ -190,6 +193,10 @@ func (i ComputeInstanceItem) Devices() ([]*golang.ChartRow, map[string]*golang.P
instanceRows, instanceProps := i.ComputeInstanceDevice()
diskRows, diskProps := i.ComputeDiskDevice()

fmt.Println("==========")
fmt.Println("disks", diskRows)
fmt.Println("instance", *instanceRows)

deviceRows = append(deviceRows, instanceRows)
deviceRows = append(deviceRows, diskRows...)
maps.Copy(deviceProps, instanceProps)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,8 @@ func (job *ListComputeInstancesJob) Run(ctx context.Context) error {

job.processor.items.Set(oi.Id, oi)
job.processor.publishOptimizationItem(oi.ToOptimizationItem())
}

for _, instance := range instances {

job.processor.jobQueue.Push(NewGetComputeInstanceMetricsJob(job.processor, instance))
job.processor.jobQueue.Push(NewGetComputeInstanceMetricsJob(job.processor, instance, disks))
}

return nil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package compute_instance
import (
"context"
"fmt"
"google.golang.org/api/compute/v1"
"log"
"strconv"
"time"
Expand All @@ -20,12 +21,14 @@ import (
type GetComputeInstanceMetricsJob struct {
processor *ComputeInstanceProcessor
instance *computepb.Instance
disks []compute.Disk
}

func NewGetComputeInstanceMetricsJob(processor *ComputeInstanceProcessor, instance *computepb.Instance) *GetComputeInstanceMetricsJob {
func NewGetComputeInstanceMetricsJob(processor *ComputeInstanceProcessor, instance *computepb.Instance, disks []compute.Disk) *GetComputeInstanceMetricsJob {
return &GetComputeInstanceMetricsJob{
processor: processor,
instance: instance,
disks: disks,
}
}

Expand Down Expand Up @@ -111,6 +114,7 @@ func (job *GetComputeInstanceMetricsJob) Run(ctx context.Context) error {
Skipped: false,
LazyLoadingEnabled: false,
SkipReason: "NA",
Disks: job.disks,
Metrics: instanceMetrics,
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package compute_instance
import (
"context"
"fmt"
"strconv"

"github.com/google/uuid"
"github.com/kaytu-io/kaytu/pkg/utils"
Expand Down Expand Up @@ -39,7 +40,7 @@ func (job *OptimizeComputeInstancesJob) Run(ctx context.Context) error {
var disks []kaytu.GcpComputeDisk
diskFilled := make(map[string]float64)
for _, disk := range job.item.Disks {
id := string(disk.Id)
id := strconv.FormatUint(disk.Id, 10)
disks = append(disks, kaytu.GcpComputeDisk{
HashedDiskId: id,
DiskSize: &disk.SizeGb,
Expand Down Expand Up @@ -85,6 +86,7 @@ func (job *OptimizeComputeInstancesJob) Run(ctx context.Context) error {
LazyLoadingEnabled: false,
SkipReason: "NA",
Metrics: job.item.Metrics,
Disks: job.item.Disks,
Wastage: *response,
}

Expand Down

0 comments on commit 43fe926

Please sign in to comment.