Skip to main content

provider.go

provider.go - Overview

This file defines provider factories for various components of the SigNoz platform, including cache, web, SQL store, SQL migration, telemetry store, Prometheus, and Alertmanager. These factories are used to create instances of these components with specific configurations.

Detailed Documentation

Function: NewCacheProviderFactories

  • Purpose: Creates a named map of provider factories for different cache implementations.
  • Parameters: None
  • Returns: factory.NamedMap[factory.ProviderFactory[cache.Cache, cache.Config]] - A named map containing factories for memory cache and Redis cache.

Function: NewWebProviderFactories

  • Purpose: Creates a named map of provider factories for different web server implementations.
  • Parameters: None
  • Returns: factory.NamedMap[factory.ProviderFactory[web.Web, web.Config]] - A named map containing factories for router-based web and no-op web implementations.

Function: NewSQLStoreProviderFactories

  • Purpose: Creates a named map of provider factories for different SQL store implementations.
  • Parameters: None
  • Returns: factory.NamedMap[factory.ProviderFactory[sqlstore.SQLStore, sqlstore.Config]] - A named map containing a factory for SQLite SQL store.

Function: NewSQLMigrationProviderFactories

  • Purpose: Creates a named map of provider factories for different SQL migration implementations.
  • Parameters:
    • sqlstore (sqlstore.SQLStore): An instance of the SQL store to be used by some migration factories.
  • Returns: factory.NamedMap[factory.ProviderFactory[sqlmigration.SQLMigration, sqlmigration.Config]] - A named map containing factories for various SQL migrations, including adding data, organizations, preferences, dashboards, saved views, agents, pipelines, integrations, licenses, PATs, modifying datetimes and organization domains, updating various entities, and dropping licenses sites.

Function: NewTelemetryStoreProviderFactories

  • Purpose: Creates a named map of provider factories for different telemetry store implementations.
  • Parameters: None
  • Returns: factory.NamedMap[factory.ProviderFactory[telemetrystore.TelemetryStore, telemetrystore.Config]] - A named map containing a factory for ClickHouse telemetry store.

Function: NewPrometheusProviderFactories

  • Purpose: Creates a named map of provider factories for different Prometheus implementations.
  • Parameters:
    • telemetryStore (telemetrystore.TelemetryStore): An instance of the telemetry store to be used by the Prometheus factory.
  • Returns: factory.NamedMap[factory.ProviderFactory[prometheus.Prometheus, prometheus.Config]] - A named map containing a factory for ClickHouse Prometheus.

Function: NewAlertmanagerProviderFactories

  • Purpose: Creates a named map of provider factories for different Alertmanager implementations.
  • Parameters:
    • sqlstore (sqlstore.SQLStore): An instance of the SQL store to be used by the Alertmanager factories.
  • Returns: factory.NamedMap[factory.ProviderFactory[alertmanager.Alertmanager, alertmanager.Config]] - A named map containing factories for legacy Alertmanager and SigNoz Alertmanager.

Code Examples

None

Include in Getting Started: NO