opencost.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package scrape
  2. import (
  3. "github.com/opencost/opencost/modules/collector-source/pkg/event"
  4. "github.com/opencost/opencost/modules/collector-source/pkg/metric"
  5. "github.com/opencost/opencost/modules/collector-source/pkg/scrape/target"
  6. )
  7. func newOpenCostTargetProvider() target.TargetProvider {
  8. // localhost is used here because we are hitting an endpoint of this container
  9. return target.NewDefaultTargetProvider(target.NewUrlTarget("http://localhost:9003/metrics"))
  10. }
  11. func newOpenCostScraper() Scraper {
  12. return newOpencostTargetScraper(newOpenCostTargetProvider())
  13. }
  14. func newOpencostTargetScraper(provider target.TargetProvider) *TargetScraper {
  15. return newTargetScrapper(
  16. event.OpenCostScraperName,
  17. provider,
  18. []string{
  19. metric.ClusterInfo,
  20. metric.KubecostClusterManagementCost,
  21. metric.KubecostNetworkZoneEgressCost,
  22. metric.KubecostNetworkRegionEgressCost,
  23. metric.KubecostNetworkInternetEgressCost,
  24. metric.PVHourlyCost,
  25. metric.KubecostLoadBalancerCost,
  26. metric.NodeTotalHourlyCost,
  27. metric.NodeCPUHourlyCost,
  28. metric.NodeRAMHourlyCost,
  29. metric.NodeGPUHourlyCost,
  30. metric.NodeGPUCount,
  31. metric.KubecostNodeIsSpot,
  32. },
  33. true)
  34. }