Documentation
¶
Overview ¶
Package metrics provides authentication-specific metrics collection
Package metrics provides business-specific metrics collection
Index ¶
- type AuthMetrics
- func (m *AuthMetrics) RecordLoginAttempt(ctx context.Context, username string, success bool, duration time.Duration, ...)
- func (m *AuthMetrics) RecordMFAAttempt(ctx context.Context, userID int32, success bool, duration time.Duration, ...)
- func (m *AuthMetrics) RecordPasswordResetRequest(ctx context.Context, email string)
- func (m *AuthMetrics) RecordPasswordResetResult(ctx context.Context, success bool, reason string)
- func (m *AuthMetrics) RecordSessionEnd(ctx context.Context, userID int32, duration time.Duration, reason string)
- func (m *AuthMetrics) RecordSessionStart(ctx context.Context, userID int32)
- func (m *AuthMetrics) RecordTokenGenerated(ctx context.Context, userID int32, tokenType string)
- func (m *AuthMetrics) RecordTokenRefreshed(ctx context.Context, userID int32, success bool)
- func (m *AuthMetrics) RecordTokenRevoked(ctx context.Context, userID int32, reason string)
- func (m *AuthMetrics) RecordTokenValidation(ctx context.Context, success bool, reason string)
- type AuthMetricsConfig
- type BusinessMetrics
- func (m *BusinessMetrics) RecordAPIRequest(ctx context.Context, endpoint string, method string, userID int32, ...)
- func (m *BusinessMetrics) RecordActivationAttempt(ctx context.Context, username string, success bool, duration time.Duration, ...)
- func (m *BusinessMetrics) RecordActiveUser(ctx context.Context, _ int32, action string)
- func (m *BusinessMetrics) RecordBusinessMetric(ctx context.Context, operation string, duration time.Duration, success bool, ...)
- func (m *BusinessMetrics) RecordChannelMemberOperation(ctx context.Context, userID int32, channelID int32, targetUserID int32, ...)
- func (m *BusinessMetrics) RecordChannelOperationError(ctx context.Context, operation string, errorType string, channelID int32)
- func (m *BusinessMetrics) RecordChannelSearch(ctx context.Context, userID int32, query string, resultCount int, ...)
- func (m *BusinessMetrics) RecordChannelSettingsUpdate(ctx context.Context, userID int32, channelID int32, success bool, ...)
- func (m *BusinessMetrics) RecordChannelSettingsView(ctx context.Context, userID int32, channelID int32, accessLevel int)
- func (m *BusinessMetrics) RecordConversionFunnel(ctx context.Context, stage string, conversionRate float64)
- func (m *BusinessMetrics) RecordFeatureUsage(ctx context.Context, feature string, userID int32, ...)
- func (m *BusinessMetrics) RecordRegistrationAttempt(ctx context.Context, username, _ string, success bool, duration time.Duration, ...)
- func (m *BusinessMetrics) RecordRegistrationConversion(ctx context.Context, conversionRate float64)
- func (m *BusinessMetrics) RecordUserSession(ctx context.Context, userID int32, sessionType string, duration time.Duration)
- type BusinessMetricsConfig
- type SystemHealthMetrics
- func (m *SystemHealthMetrics) MeasureCronJobExecution(ctx context.Context, jobName string, f func() error) error
- func (m *SystemHealthMetrics) MeasureMailProcessing(ctx context.Context, recipient string, f func() error) error
- func (m *SystemHealthMetrics) RecordCronJobExecution(ctx context.Context, jobName string, duration time.Duration, err error)
- func (m *SystemHealthMetrics) RecordMailProcessing(ctx context.Context, _ string, duration time.Duration, err error)
- type SystemHealthMetricsConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthMetrics ¶
type AuthMetrics struct {
// contains filtered or unexported fields
}
AuthMetrics holds all authentication-related metric instruments
func NewAuthMetrics ¶
func NewAuthMetrics(config AuthMetricsConfig) (*AuthMetrics, error)
NewAuthMetrics creates a new authentication metrics collector
func (*AuthMetrics) RecordLoginAttempt ¶
func (m *AuthMetrics) RecordLoginAttempt(ctx context.Context, username string, success bool, duration time.Duration, reason string)
RecordLoginAttempt records a login attempt with the given result
func (*AuthMetrics) RecordMFAAttempt ¶
func (m *AuthMetrics) RecordMFAAttempt(ctx context.Context, userID int32, success bool, duration time.Duration, method string)
RecordMFAAttempt records an MFA verification attempt
func (*AuthMetrics) RecordPasswordResetRequest ¶
func (m *AuthMetrics) RecordPasswordResetRequest(ctx context.Context, email string)
RecordPasswordResetRequest records a password reset request
func (*AuthMetrics) RecordPasswordResetResult ¶
func (m *AuthMetrics) RecordPasswordResetResult(ctx context.Context, success bool, reason string)
RecordPasswordResetResult records the result of a password reset attempt
func (*AuthMetrics) RecordSessionEnd ¶
func (m *AuthMetrics) RecordSessionEnd(ctx context.Context, userID int32, duration time.Duration, reason string)
RecordSessionEnd records when a user session ends
func (*AuthMetrics) RecordSessionStart ¶
func (m *AuthMetrics) RecordSessionStart(ctx context.Context, userID int32)
RecordSessionStart records when a user session starts
func (*AuthMetrics) RecordTokenGenerated ¶
func (m *AuthMetrics) RecordTokenGenerated(ctx context.Context, userID int32, tokenType string)
RecordTokenGenerated records when a new token is generated
func (*AuthMetrics) RecordTokenRefreshed ¶
func (m *AuthMetrics) RecordTokenRefreshed(ctx context.Context, userID int32, success bool)
RecordTokenRefreshed records when a token is refreshed
func (*AuthMetrics) RecordTokenRevoked ¶
func (m *AuthMetrics) RecordTokenRevoked(ctx context.Context, userID int32, reason string)
RecordTokenRevoked records when a token is revoked
func (*AuthMetrics) RecordTokenValidation ¶
func (m *AuthMetrics) RecordTokenValidation(ctx context.Context, success bool, reason string)
RecordTokenValidation records token validation attempts
type AuthMetricsConfig ¶
AuthMetricsConfig holds configuration for authentication metrics
type BusinessMetrics ¶
type BusinessMetrics struct {
// contains filtered or unexported fields
}
BusinessMetrics holds all business-related metric instruments
func NewBusinessMetrics ¶
func NewBusinessMetrics(config BusinessMetricsConfig) (*BusinessMetrics, error)
NewBusinessMetrics creates a new business metrics collector
func (*BusinessMetrics) RecordAPIRequest ¶
func (m *BusinessMetrics) RecordAPIRequest(ctx context.Context, endpoint string, method string, userID int32, success bool)
RecordAPIRequest records API request metrics
func (*BusinessMetrics) RecordActivationAttempt ¶
func (m *BusinessMetrics) RecordActivationAttempt(ctx context.Context, username string, success bool, duration time.Duration, reason string)
RecordActivationAttempt records an account activation attempt
func (*BusinessMetrics) RecordActiveUser ¶
func (m *BusinessMetrics) RecordActiveUser(ctx context.Context, _ int32, action string)
RecordActiveUser records active user metrics
func (*BusinessMetrics) RecordBusinessMetric ¶
func (m *BusinessMetrics) RecordBusinessMetric(ctx context.Context, operation string, duration time.Duration, success bool, errorRate float64)
RecordBusinessMetric records general business health metrics
func (*BusinessMetrics) RecordChannelMemberOperation ¶
func (m *BusinessMetrics) RecordChannelMemberOperation(ctx context.Context, userID int32, channelID int32, targetUserID int32, operation string, success bool, accessLevel int)
RecordChannelMemberOperation records channel member add/remove operations
func (*BusinessMetrics) RecordChannelOperationError ¶
func (m *BusinessMetrics) RecordChannelOperationError(ctx context.Context, operation string, errorType string, channelID int32)
RecordChannelOperationError records channel operation errors
func (*BusinessMetrics) RecordChannelSearch ¶
func (m *BusinessMetrics) RecordChannelSearch(ctx context.Context, userID int32, query string, resultCount int, duration time.Duration, success bool)
RecordChannelSearch records a channel search operation
func (*BusinessMetrics) RecordChannelSettingsUpdate ¶
func (m *BusinessMetrics) RecordChannelSettingsUpdate(ctx context.Context, userID int32, channelID int32, success bool, fieldsUpdated []string)
RecordChannelSettingsUpdate records a channel settings update
func (*BusinessMetrics) RecordChannelSettingsView ¶
func (m *BusinessMetrics) RecordChannelSettingsView(ctx context.Context, userID int32, channelID int32, accessLevel int)
RecordChannelSettingsView records a channel settings view
func (*BusinessMetrics) RecordConversionFunnel ¶
func (m *BusinessMetrics) RecordConversionFunnel(ctx context.Context, stage string, conversionRate float64)
RecordConversionFunnel records conversion funnel metrics
func (*BusinessMetrics) RecordFeatureUsage ¶
func (m *BusinessMetrics) RecordFeatureUsage(ctx context.Context, feature string, userID int32, contextInfo map[string]string)
RecordFeatureUsage records feature usage metrics
func (*BusinessMetrics) RecordRegistrationAttempt ¶
func (m *BusinessMetrics) RecordRegistrationAttempt(ctx context.Context, username, _ string, success bool, duration time.Duration, reason string)
RecordRegistrationAttempt records a user registration attempt
func (*BusinessMetrics) RecordRegistrationConversion ¶
func (m *BusinessMetrics) RecordRegistrationConversion(ctx context.Context, conversionRate float64)
RecordRegistrationConversion records registration to activation conversion rate
func (*BusinessMetrics) RecordUserSession ¶
func (m *BusinessMetrics) RecordUserSession(ctx context.Context, userID int32, sessionType string, duration time.Duration)
RecordUserSession records user session metrics
type BusinessMetricsConfig ¶
BusinessMetricsConfig holds configuration for business metrics
type SystemHealthMetrics ¶
type SystemHealthMetrics struct {
// contains filtered or unexported fields
}
SystemHealthMetrics provides comprehensive metrics for system health monitoring
func NewSystemHealthMetrics ¶
func NewSystemHealthMetrics(config SystemHealthMetricsConfig) (*SystemHealthMetrics, error)
NewSystemHealthMetrics creates a new system health metrics collector
func (*SystemHealthMetrics) MeasureCronJobExecution ¶
func (m *SystemHealthMetrics) MeasureCronJobExecution(ctx context.Context, jobName string, f func() error) error
MeasureCronJobExecution wraps a cron job function with metrics collection
func (*SystemHealthMetrics) MeasureMailProcessing ¶
func (m *SystemHealthMetrics) MeasureMailProcessing(ctx context.Context, recipient string, f func() error) error
MeasureMailProcessing wraps a mail processing function with metrics collection
func (*SystemHealthMetrics) RecordCronJobExecution ¶
func (m *SystemHealthMetrics) RecordCronJobExecution(ctx context.Context, jobName string, duration time.Duration, err error)
RecordCronJobExecution records metrics for cron job execution
func (*SystemHealthMetrics) RecordMailProcessing ¶
func (m *SystemHealthMetrics) RecordMailProcessing(ctx context.Context, _ string, duration time.Duration, err error)
RecordMailProcessing records metrics for mail processing operations
type SystemHealthMetricsConfig ¶
type SystemHealthMetricsConfig struct { Meter metric.Meter ServiceName string // Callback functions for dynamic metrics GetMailQueueDepth func() int64 // Function to get current mail queue depth GetWorkerCount func() int64 // Function to get current worker count GetSystemStatus func() int64 // Function to get system health status (1=healthy, 0=unhealthy) }
SystemHealthMetricsConfig holds configuration for system health metrics