Documentation
¶
Overview ¶
Package observability provides a metrics extension for Ledger that records lifecycle event counts via go-utils MetricFactory.
Index ¶
- type Counter
- type Histogram
- type MetricFactory
- type MetricsExtension
- func (m *MetricsExtension) Name() string
- func (m *MetricsExtension) OnEntitlementChecked(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnInit(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnInvoiceFinalized(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnInvoiceGenerated(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnInvoicePaid(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnInvoicePastDue(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnPlanArchived(_ context.Context, _ string) error
- func (m *MetricsExtension) OnPlanCreated(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnPlanUpdated(_ context.Context, _, _ interface{}) error
- func (m *MetricsExtension) OnProviderSync(_ context.Context, _ string, success bool, _ error) error
- func (m *MetricsExtension) OnQuotaExceeded(_ context.Context, _, _ string, _, _ int64) error
- func (m *MetricsExtension) OnSubscriptionCancelScheduled(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnSubscriptionCanceled(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnSubscriptionChanged(_ context.Context, _, _, _ interface{}) error
- func (m *MetricsExtension) OnSubscriptionCreated(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnSubscriptionExpired(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnSubscriptionRenewed(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnSubscriptionTrialEnded(_ context.Context, _ interface{}) error
- func (m *MetricsExtension) OnUsageFlushed(_ context.Context, _ int, elapsed time.Duration) error
- func (m *MetricsExtension) OnUsageIngested(_ context.Context, events []interface{}) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Histogram ¶
type Histogram interface {
Observe(float64)
}
Histogram interface for metric histograms.
type MetricFactory ¶
MetricFactory creates metrics.
type MetricsExtension ¶
type MetricsExtension struct {
// Plan metrics
PlanCreated Counter
PlanUpdated Counter
PlanArchived Counter
// Subscription metrics
SubscriptionCreated Counter
SubscriptionUpgraded Counter
SubscriptionDowngraded Counter
SubscriptionCanceled Counter
SubscriptionExpired Counter
// The lifecycle clock's transitions, and scheduled cancels, which
// SubscriptionCanceled no longer counts: it counts cancels that took
// effect.
SubscriptionRenewed Counter
SubscriptionTrialEnded Counter
SubscriptionCancelScheduled Counter
// Usage metrics
UsageEventsIngested Counter
UsageBatchSize Histogram
UsageFlushLatency Histogram
// Entitlement metrics
EntitlementChecks Counter
EntitlementCacheHits Counter
EntitlementCacheMisses Counter
EntitlementDenied Counter
EntitlementLatency Histogram
// Invoice metrics
InvoiceGenerated Counter
InvoiceFinalized Counter
InvoicePaid Counter
InvoiceVoided Counter
InvoicePastDue Counter
InvoiceTotal Histogram
// Provider metrics
ProviderSyncSuccess Counter
ProviderSyncFailure Counter
WebhookReceived Counter
WebhookProcessed Counter
// Error metrics
StoreErrors Counter
PluginErrors Counter
// contains filtered or unexported fields
}
MetricsExtension records system-wide lifecycle metrics. Register it as a Ledger plugin to automatically track billing metrics.
func NewMetricsExtension ¶
func NewMetricsExtension(factory MetricFactory) *MetricsExtension
NewMetricsExtension creates a MetricsExtension with the provided MetricFactory. Use app.Metrics() in forge extensions.
func (*MetricsExtension) Name ¶
func (m *MetricsExtension) Name() string
Name implements plugin.Plugin.
func (*MetricsExtension) OnEntitlementChecked ¶
func (m *MetricsExtension) OnEntitlementChecked(_ context.Context, _ interface{}) error
OnEntitlementChecked implements plugin.OnEntitlementChecked.
func (*MetricsExtension) OnInit ¶
func (m *MetricsExtension) OnInit(_ context.Context, _ interface{}) error
OnInit implements plugin.OnInit.
func (*MetricsExtension) OnInvoiceFinalized ¶
func (m *MetricsExtension) OnInvoiceFinalized(_ context.Context, _ interface{}) error
OnInvoiceFinalized implements plugin.OnInvoiceFinalized.
func (*MetricsExtension) OnInvoiceGenerated ¶
func (m *MetricsExtension) OnInvoiceGenerated(_ context.Context, _ interface{}) error
OnInvoiceGenerated implements plugin.OnInvoiceGenerated.
func (*MetricsExtension) OnInvoicePaid ¶
func (m *MetricsExtension) OnInvoicePaid(_ context.Context, _ interface{}) error
OnInvoicePaid implements plugin.OnInvoicePaid.
func (*MetricsExtension) OnInvoicePastDue ¶
func (m *MetricsExtension) OnInvoicePastDue(_ context.Context, _ interface{}) error
OnInvoicePastDue implements plugin.OnInvoicePastDue.
func (*MetricsExtension) OnPlanArchived ¶
func (m *MetricsExtension) OnPlanArchived(_ context.Context, _ string) error
OnPlanArchived implements plugin.OnPlanArchived.
func (*MetricsExtension) OnPlanCreated ¶
func (m *MetricsExtension) OnPlanCreated(_ context.Context, _ interface{}) error
OnPlanCreated implements plugin.OnPlanCreated.
func (*MetricsExtension) OnPlanUpdated ¶
func (m *MetricsExtension) OnPlanUpdated(_ context.Context, _, _ interface{}) error
OnPlanUpdated implements plugin.OnPlanUpdated.
func (*MetricsExtension) OnProviderSync ¶
OnProviderSync implements plugin.OnProviderSync.
func (*MetricsExtension) OnQuotaExceeded ¶
OnQuotaExceeded implements plugin.OnQuotaExceeded.
func (*MetricsExtension) OnSubscriptionCancelScheduled ¶
func (m *MetricsExtension) OnSubscriptionCancelScheduled(_ context.Context, _ interface{}) error
OnSubscriptionCancelScheduled implements plugin.OnSubscriptionCancelScheduled.
func (*MetricsExtension) OnSubscriptionCanceled ¶
func (m *MetricsExtension) OnSubscriptionCanceled(_ context.Context, _ interface{}) error
OnSubscriptionCanceled implements plugin.OnSubscriptionCanceled.
func (*MetricsExtension) OnSubscriptionChanged ¶
func (m *MetricsExtension) OnSubscriptionChanged(_ context.Context, _, _, _ interface{}) error
OnSubscriptionChanged implements plugin.OnSubscriptionChanged.
func (*MetricsExtension) OnSubscriptionCreated ¶
func (m *MetricsExtension) OnSubscriptionCreated(_ context.Context, _ interface{}) error
OnSubscriptionCreated implements plugin.OnSubscriptionCreated.
func (*MetricsExtension) OnSubscriptionExpired ¶
func (m *MetricsExtension) OnSubscriptionExpired(_ context.Context, _ interface{}) error
OnSubscriptionExpired implements plugin.OnSubscriptionExpired.
func (*MetricsExtension) OnSubscriptionRenewed ¶
func (m *MetricsExtension) OnSubscriptionRenewed(_ context.Context, _ interface{}) error
OnSubscriptionRenewed implements plugin.OnSubscriptionRenewed: one count per move, however many periods it ended.
func (*MetricsExtension) OnSubscriptionTrialEnded ¶
func (m *MetricsExtension) OnSubscriptionTrialEnded(_ context.Context, _ interface{}) error
OnSubscriptionTrialEnded implements plugin.OnSubscriptionTrialEnded.
func (*MetricsExtension) OnUsageFlushed ¶
OnUsageFlushed implements plugin.OnUsageFlushed.
func (*MetricsExtension) OnUsageIngested ¶
func (m *MetricsExtension) OnUsageIngested(_ context.Context, events []interface{}) error
OnUsageIngested implements plugin.OnUsageIngested.