Documentation
¶
Index ¶
- type ManagerConfig
- type MonitoringManager
- func (mm *MonitoringManager) Close() error
- func (mm *MonitoringManager) Connect(ctx context.Context, providerName string) error
- func (mm *MonitoringManager) Disconnect(ctx context.Context, providerName string) error
- func (mm *MonitoringManager) GetConnectedProviders() []string
- func (mm *MonitoringManager) GetDefaultProvider() (MonitoringProvider, error)
- func (mm *MonitoringManager) GetProvider(name string) (MonitoringProvider, error)
- func (mm *MonitoringManager) GetProviderCapabilities(providerName string) ([]types.MonitoringFeature, *types.ConnectionInfo, error)
- func (mm *MonitoringManager) GetStats(ctx context.Context, providerName string) (*types.MonitoringStats, error)
- func (mm *MonitoringManager) GetSupportedProviders() []string
- func (mm *MonitoringManager) HealthCheck(ctx context.Context, providerName string, request *types.HealthCheckRequest) (*types.HealthCheckResponse, error)
- func (mm *MonitoringManager) HealthCheckAll(ctx context.Context) map[string]*types.HealthCheckResponse
- func (mm *MonitoringManager) IsProviderConnected(providerName string) bool
- func (mm *MonitoringManager) Ping(ctx context.Context, providerName string) error
- func (mm *MonitoringManager) QueryAlerts(ctx context.Context, providerName string, request *types.QueryRequest) (*types.QueryResponse, error)
- func (mm *MonitoringManager) QueryLogs(ctx context.Context, providerName string, request *types.QueryRequest) (*types.QueryResponse, error)
- func (mm *MonitoringManager) QueryMetrics(ctx context.Context, providerName string, request *types.QueryRequest) (*types.QueryResponse, error)
- func (mm *MonitoringManager) QueryTraces(ctx context.Context, providerName string, request *types.QueryRequest) (*types.QueryResponse, error)
- func (mm *MonitoringManager) RegisterProvider(provider MonitoringProvider) error
- func (mm *MonitoringManager) SubmitAlerts(ctx context.Context, providerName string, request *types.AlertRequest) error
- func (mm *MonitoringManager) SubmitLogs(ctx context.Context, providerName string, request *types.LogRequest) error
- func (mm *MonitoringManager) SubmitMetrics(ctx context.Context, providerName string, request *types.MetricRequest) error
- func (mm *MonitoringManager) SubmitTraces(ctx context.Context, providerName string, request *types.TraceRequest) error
- type MonitoringProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ManagerConfig ¶
type ManagerConfig struct {
DefaultProvider string `json:"default_provider"`
RetryAttempts int `json:"retry_attempts"`
RetryDelay time.Duration `json:"retry_delay"`
Timeout time.Duration `json:"timeout"`
BatchSize int `json:"batch_size"`
FlushInterval time.Duration `json:"flush_interval"`
BufferSize int `json:"buffer_size"`
SamplingRate float64 `json:"sampling_rate"`
EnableTracing bool `json:"enable_tracing"`
EnableMetrics bool `json:"enable_metrics"`
EnableLogging bool `json:"enable_logging"`
EnableAlerting bool `json:"enable_alerting"`
Metadata map[string]string `json:"metadata"`
}
ManagerConfig holds monitoring manager configuration
func DefaultManagerConfig ¶
func DefaultManagerConfig() *ManagerConfig
DefaultManagerConfig returns default monitoring manager configuration
type MonitoringManager ¶
type MonitoringManager struct {
// contains filtered or unexported fields
}
MonitoringManager manages multiple monitoring providers
func NewMonitoringManager ¶
func NewMonitoringManager(config *ManagerConfig, logger *logrus.Logger) *MonitoringManager
NewMonitoringManager creates a new monitoring manager
func (*MonitoringManager) Close ¶
func (mm *MonitoringManager) Close() error
Close closes all monitoring connections
func (*MonitoringManager) Connect ¶
func (mm *MonitoringManager) Connect(ctx context.Context, providerName string) error
Connect connects to a monitoring system using the specified provider
func (*MonitoringManager) Disconnect ¶
func (mm *MonitoringManager) Disconnect(ctx context.Context, providerName string) error
Disconnect disconnects from a monitoring system using the specified provider
func (*MonitoringManager) GetConnectedProviders ¶
func (mm *MonitoringManager) GetConnectedProviders() []string
GetConnectedProviders returns a list of connected providers
func (*MonitoringManager) GetDefaultProvider ¶
func (mm *MonitoringManager) GetDefaultProvider() (MonitoringProvider, error)
GetDefaultProvider returns the default monitoring provider
func (*MonitoringManager) GetProvider ¶
func (mm *MonitoringManager) GetProvider(name string) (MonitoringProvider, error)
GetProvider returns a monitoring provider by name
func (*MonitoringManager) GetProviderCapabilities ¶
func (mm *MonitoringManager) GetProviderCapabilities(providerName string) ([]types.MonitoringFeature, *types.ConnectionInfo, error)
GetProviderCapabilities returns capabilities of a provider
func (*MonitoringManager) GetStats ¶
func (mm *MonitoringManager) GetStats(ctx context.Context, providerName string) (*types.MonitoringStats, error)
GetStats gets statistics from a provider
func (*MonitoringManager) GetSupportedProviders ¶
func (mm *MonitoringManager) GetSupportedProviders() []string
GetSupportedProviders returns a list of registered providers
func (*MonitoringManager) HealthCheck ¶
func (mm *MonitoringManager) HealthCheck(ctx context.Context, providerName string, request *types.HealthCheckRequest) (*types.HealthCheckResponse, error)
HealthCheck performs health check using the specified provider
func (*MonitoringManager) HealthCheckAll ¶
func (mm *MonitoringManager) HealthCheckAll(ctx context.Context) map[string]*types.HealthCheckResponse
HealthCheckAll performs health check on all providers
func (*MonitoringManager) IsProviderConnected ¶
func (mm *MonitoringManager) IsProviderConnected(providerName string) bool
IsProviderConnected checks if a provider is connected
func (*MonitoringManager) Ping ¶
func (mm *MonitoringManager) Ping(ctx context.Context, providerName string) error
Ping pings a monitoring system using the specified provider
func (*MonitoringManager) QueryAlerts ¶
func (mm *MonitoringManager) QueryAlerts(ctx context.Context, providerName string, request *types.QueryRequest) (*types.QueryResponse, error)
QueryAlerts queries alerts using the specified provider
func (*MonitoringManager) QueryLogs ¶
func (mm *MonitoringManager) QueryLogs(ctx context.Context, providerName string, request *types.QueryRequest) (*types.QueryResponse, error)
QueryLogs queries logs using the specified provider
func (*MonitoringManager) QueryMetrics ¶
func (mm *MonitoringManager) QueryMetrics(ctx context.Context, providerName string, request *types.QueryRequest) (*types.QueryResponse, error)
QueryMetrics queries metrics using the specified provider
func (*MonitoringManager) QueryTraces ¶
func (mm *MonitoringManager) QueryTraces(ctx context.Context, providerName string, request *types.QueryRequest) (*types.QueryResponse, error)
QueryTraces queries traces using the specified provider
func (*MonitoringManager) RegisterProvider ¶
func (mm *MonitoringManager) RegisterProvider(provider MonitoringProvider) error
RegisterProvider registers a monitoring provider
func (*MonitoringManager) SubmitAlerts ¶
func (mm *MonitoringManager) SubmitAlerts(ctx context.Context, providerName string, request *types.AlertRequest) error
SubmitAlerts submits alerts using the specified provider
func (*MonitoringManager) SubmitLogs ¶
func (mm *MonitoringManager) SubmitLogs(ctx context.Context, providerName string, request *types.LogRequest) error
SubmitLogs submits logs using the specified provider
func (*MonitoringManager) SubmitMetrics ¶
func (mm *MonitoringManager) SubmitMetrics(ctx context.Context, providerName string, request *types.MetricRequest) error
SubmitMetrics submits metrics using the specified provider
func (*MonitoringManager) SubmitTraces ¶
func (mm *MonitoringManager) SubmitTraces(ctx context.Context, providerName string, request *types.TraceRequest) error
SubmitTraces submits traces using the specified provider
type MonitoringProvider ¶
type MonitoringProvider interface {
// Provider information
GetName() string
GetSupportedFeatures() []types.MonitoringFeature
GetConnectionInfo() *types.ConnectionInfo
// Connection management
Connect(ctx context.Context) error
Disconnect(ctx context.Context) error
Ping(ctx context.Context) error
IsConnected() bool
// Metrics operations
SubmitMetrics(ctx context.Context, request *types.MetricRequest) error
QueryMetrics(ctx context.Context, request *types.QueryRequest) (*types.QueryResponse, error)
// Logging operations
SubmitLogs(ctx context.Context, request *types.LogRequest) error
QueryLogs(ctx context.Context, request *types.QueryRequest) (*types.QueryResponse, error)
// Tracing operations
SubmitTraces(ctx context.Context, request *types.TraceRequest) error
QueryTraces(ctx context.Context, request *types.QueryRequest) (*types.QueryResponse, error)
// Alerting operations
SubmitAlerts(ctx context.Context, request *types.AlertRequest) error
QueryAlerts(ctx context.Context, request *types.QueryRequest) (*types.QueryResponse, error)
// Health check operations
HealthCheck(ctx context.Context, request *types.HealthCheckRequest) (*types.HealthCheckResponse, error)
// Statistics and monitoring
GetStats(ctx context.Context) (*types.MonitoringStats, error)
// Configuration
Configure(config map[string]interface{}) error
IsConfigured() bool
Close() error
}
MonitoringProvider interface for monitoring backends