controller.go 752 B

12345678910111213141516171819202122
  1. package exporter
  2. import (
  3. "github.com/opencost/opencost/core/pkg/exporter"
  4. "github.com/opencost/opencost/core/pkg/heartbeat"
  5. "github.com/opencost/opencost/core/pkg/storage"
  6. )
  7. // NewHeartbeatExportController creates a new EventExportController for Heartbeat events.
  8. // A HeartbeatMetadataProvider can optionally be provided to append metadata to the Heartbeat payload.
  9. func NewHeartbeatExportController(
  10. applicationName string,
  11. clusterId string,
  12. version string,
  13. store storage.Storage,
  14. provider HeartbeatMetadataProvider,
  15. ) *exporter.EventExportController[heartbeat.Heartbeat] {
  16. return exporter.NewEventExportController(
  17. NewHeartbeatSource(applicationName, version, provider),
  18. NewHeartbeatExporter(applicationName, clusterId, store),
  19. )
  20. }