observability

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: May 13, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateID added in v0.2.2

func GenerateID() string

GenerateID generates a unique identifier for operations

func GetCorrelationID added in v0.2.2

func GetCorrelationID(ctx context.Context) string

GetCorrelationID retrieves the correlation ID from context

func GetCorrelationIDKey added in v0.2.2

func GetCorrelationIDKey() contextKey

GetCorrelationIDKey returns the context key for correlation ID

func GetOperationNameKey added in v0.2.2

func GetOperationNameKey() contextKey

GetOperationNameKey returns the context key for operation name

func GetOperationStartKey added in v0.2.2

func GetOperationStartKey() contextKey

GetOperationStartKey returns the context key for operation start time

Types

type HostInfo

type HostInfo struct {
	Hostname     string
	OS           string
	Architecture string
	CPUCount     int
	GoVersion    string
}

HostInfo contains information about the host environment

type MetricsManager

type MetricsManager struct {
	// contains filtered or unexported fields
}

MetricsManager handles metrics collection

func NewMetricsManager

func NewMetricsManager(enabled bool, namespace string) *MetricsManager

NewMetricsManager creates a new metrics manager

func (*MetricsManager) Close

func (m *MetricsManager) Close() error

Close releases resources associated with metrics manager

func (*MetricsManager) CreateCounter

func (m *MetricsManager) CreateCounter(name, help string, labels []string)

CreateCounter creates a new counter metric

func (*MetricsManager) CreateGauge

func (m *MetricsManager) CreateGauge(name, help string, labels []string)

CreateGauge creates a new gauge metric

func (*MetricsManager) CreateHistogram

func (m *MetricsManager) CreateHistogram(name, help string, labels []string, buckets []float64)

CreateHistogram creates a new histogram metric

func (*MetricsManager) CreateSummary

func (m *MetricsManager) CreateSummary(name, help string, labels []string, objectives map[float64]float64)

CreateSummary creates a new summary metric

func (*MetricsManager) IncrementCounter

func (m *MetricsManager) IncrementCounter(name string, value float64, labelValues ...string)

IncrementCounter increments a counter metric

func (*MetricsManager) ObserveHistogram

func (m *MetricsManager) ObserveHistogram(name string, value float64, labelValues ...string)

ObserveHistogram adds an observation to a histogram

func (*MetricsManager) ObserveSummary

func (m *MetricsManager) ObserveSummary(name string, value float64, labelValues ...string)

ObserveSummary adds an observation to a summary

func (*MetricsManager) RecordOperationDuration

func (m *MetricsManager) RecordOperationDuration(operationName string, duration time.Duration)

RecordOperationDuration records the duration of an operation

func (*MetricsManager) RecordSyncOperation

func (m *MetricsManager) RecordSyncOperation(source, target, status string)

RecordSyncOperation records a sync operation

func (*MetricsManager) SetGauge

func (m *MetricsManager) SetGauge(name string, value float64, labelValues ...string)

SetGauge sets a gauge metric

func (*MetricsManager) StartServer

func (m *MetricsManager) StartServer(addr string) error

StartServer starts the metrics HTTP server

func (*MetricsManager) StopServer

func (m *MetricsManager) StopServer(ctx context.Context) error

StopServer stops the metrics HTTP server

type TelemetryManager

type TelemetryManager struct {
	// contains filtered or unexported fields
}

TelemetryManager handles telemetry for the application

func NewTelemetryManager

func NewTelemetryManager(enabled bool, serviceName, serviceVersion, environment string) *TelemetryManager

NewTelemetryManager creates a new telemetry manager

func (*TelemetryManager) End

func (t *TelemetryManager) End(ctx context.Context, err error)

End records the end of an operation

func (*TelemetryManager) GetCorrelationID

func (t *TelemetryManager) GetCorrelationID(operationName string) string

GetCorrelationID gets a correlation ID for an operation

func (*TelemetryManager) GetUptime

func (t *TelemetryManager) GetUptime() time.Duration

GetUptime returns the application uptime

func (*TelemetryManager) LogApplicationInfo

func (t *TelemetryManager) LogApplicationInfo()

LogApplicationInfo logs information about the application at startup

func (*TelemetryManager) LogCliCommand added in v0.2.2

func (t *TelemetryManager) LogCliCommand(c *cli.Context)

LogCliCommand logs a CLI command execution

func (*TelemetryManager) RecordDependency

func (t *TelemetryManager) RecordDependency(ctx context.Context, dependencyType, dependencyName string, startTime time.Time, success bool, err error)

RecordDependency records a dependency call

func (*TelemetryManager) RecordEvent

func (t *TelemetryManager) RecordEvent(ctx context.Context, eventName string, properties map[string]interface{})

RecordEvent records a telemetry event

func (*TelemetryManager) RecordMetric

func (t *TelemetryManager) RecordMetric(ctx context.Context, name string, value float64, properties map[string]interface{})

RecordMetric records a custom metric

func (*TelemetryManager) Start

func (t *TelemetryManager) Start(ctx context.Context, operationName string, correlationID string) context.Context

Start records the start of an operation

Jump to

Keyboard shortcuts

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