Documentation ¶
Overview ¶
Package scraperhelper provides utilities for scrapers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewScraperControllerReceiver ¶
func NewScraperControllerReceiver( cfg *ScraperControllerSettings, set component.ReceiverCreateSettings, nextConsumer consumer.Metrics, options ...ScraperControllerOption, ) (component.Receiver, error)
NewScraperControllerReceiver creates a Receiver with the configured options, that can control multiple scrapers.
Types ¶
type ScrapeFunc ¶ added in v0.38.0
ScrapeFunc scrapes metrics.
type Scraper ¶ added in v0.30.0
type Scraper interface { component.Component // ID returns the scraper id. ID() config.ComponentID Scrape(context.Context) (pmetric.Metrics, error) }
Scraper is the base interface for scrapers.
func NewScraper ¶ added in v0.38.0
func NewScraper(name string, scrape ScrapeFunc, options ...ScraperOption) (Scraper, error)
NewScraper creates a Scraper that calls Scrape at the specified collection interval, reports observability information, and passes the scraped metrics to the next consumer.
type ScraperControllerOption ¶
type ScraperControllerOption func(*controller)
ScraperControllerOption apply changes to internal options.
func AddScraper ¶ added in v0.30.0
func AddScraper(scraper Scraper) ScraperControllerOption
AddScraper configures the provided scrape function to be called with the specified options, and at the specified collection interval.
Observability information will be reported, and the scraped metrics will be passed to the next consumer.
func WithTickerChannel ¶
func WithTickerChannel(tickerCh <-chan time.Time) ScraperControllerOption
WithTickerChannel allows you to override the scraper controllers ticker channel to specify when scrape is called. This is only expected to be used by tests.
type ScraperControllerSettings ¶
type ScraperControllerSettings struct { config.ReceiverSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct CollectionInterval time.Duration `mapstructure:"collection_interval"` }
ScraperControllerSettings defines common settings for a scraper controller configuration. Scraper controller receivers can embed this struct, instead of config.ReceiverSettings, and extend it with more fields if needed.
func NewDefaultScraperControllerSettings ¶ added in v0.46.0
func NewDefaultScraperControllerSettings(cfgType config.Type) ScraperControllerSettings
NewDefaultScraperControllerSettings returns default scraper controller settings with a collection interval of one minute.
type ScraperOption ¶
type ScraperOption func(*baseScraper)
ScraperOption apply changes to internal options.
func WithShutdown ¶
func WithShutdown(shutdown component.ShutdownFunc) ScraperOption
WithShutdown sets the function that will be called on shutdown.
func WithStart ¶
func WithStart(start component.StartFunc) ScraperOption
WithStart sets the function that will be called on startup.