Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Datasource ¶
type Datasource interface {
// Initialize the data source, e.g. create database tables.
Init(context.Context)
// Download data from the data source.
Sync(context.Context)
}
Common interface for data sources.
type Monitor ¶
type Monitor struct {
// A histogram to measure how long each sync run takes.
PipelineRunTimer *prometheus.HistogramVec
// A gauge to observe the number of objects synced.
PipelineObjectsGauge *prometheus.GaugeVec
// A histogram to measure how long each sync request takes.
PipelineRequestTimer *prometheus.HistogramVec
// A counter to observe the number of processed sync requests.
PipelineRequestProcessedCounter *prometheus.CounterVec
}
Monitor is a collection of Prometheus metrics for the sync package.
func NewSyncMonitor ¶
func NewSyncMonitor(registry *monitoring.Registry) Monitor
NewSyncMonitor creates a new sync monitor and registers the necessary Prometheus metrics.
type Pipeline ¶
type Pipeline struct {
Syncers []Datasource
}
Pipeline wrapper for all datasources.
func (*Pipeline) SyncPeriodic ¶
Sync all datasources in parallel.
Click to show internal directories.
Click to hide internal directories.