metrics

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package metrics provides authentication-specific metrics collection

Package metrics provides business-specific metrics collection

Index

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

type AuthMetricsConfig struct {
	Meter       metric.Meter
	ServiceName string
}

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

type BusinessMetricsConfig struct {
	Meter       metric.Meter
	ServiceName string
}

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL