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.