Documentation
¶
Overview ¶
Package metrics implements Relay's integration with OpenCensus.
Index ¶
- Constants
- Variables
- func NewEnvironmentMetricUsage(relayID string, publisher events.EventPublisher, flushInterval time.Duration) *environmentMetricUsage
- func WithCount(ctx context.Context, userAgent string, f func(), measure Measure)
- func WithGauge(ctx context.Context, userAgent string, f func(), measure Measure)
- func WithRouteCount(ctx context.Context, userAgent, route, method string, f func(), ...)
- type EnvironmentManager
- type Manager
- func (m *Manager) AddEnvironment(envName string, publisher events.EventPublisher) (*EnvironmentManager, error)
- func (m *Manager) AddEnvironmentForUsage(envName string, publisher events.EventPublisher)
- func (m *Manager) Close()
- func (m *Manager) RemoveEnvironment(em *EnvironmentManager)
- func (m *Manager) RemoveEnvironmentForUsage(envName string)
- func (m *Manager) UsageActivityCountMessage(envName, userAgent, platformCategory, instanceID string)
- func (m *Manager) UsageActivityStreamConnected(envName, userAgent, platformCategory, instanceID string)
- func (m *Manager) UsageActivityStreamDisconnected(envName, userAgent, platformCategory, instanceID string)
- type Measure
- type UsageActivityKind
Constants ¶
const ( BrowserPlatformCategory = "browser" MobilePlatformCategory = "mobile" ServerPlatformCategory = "server" )
Variables ¶
var ( // BrowserConns is a Measure representing the current number of active stream connections from browsers. BrowserConns = Measure{/* contains filtered or unexported fields */} // MobileConns is a Measure representing the current number of active stream connections from mobile SDKs. MobileConns = Measure{/* contains filtered or unexported fields */} // ServerConns is a is a Measure representing the current number of active stream connections from server-side SDKs. ServerConns = Measure{/* contains filtered or unexported fields */} // NewBrowserConns is a Measure representing the cumulative number of stream connections from browsers. NewBrowserConns = Measure{/* contains filtered or unexported fields */} // NewMobileConns is a Measure representing the cumulative number of stream connections from mobile SDKs. NewMobileConns = Measure{/* contains filtered or unexported fields */} // NewServerConns is a Measure representing the cumulative number of stream connections from server-side SDKs. NewServerConns = Measure{/* contains filtered or unexported fields */} // BrowserRequests is a Measure representing the number of HTTP requests from browsers. BrowserRequests = Measure{/* contains filtered or unexported fields */} // MobileRequests is a Measure representing the number of HTTP requests from mobile SDKs. MobileRequests = Measure{/* contains filtered or unexported fields */} // ServerRequests is a Measure representing the number of HTTP requests from server-side SDKs. ServerRequests = Measure{/* contains filtered or unexported fields */} // PollingRequests is a Measure representing the total number of polling style requests received from server-side SDKs. PollingRequests = Measure{/* contains filtered or unexported fields */} )
Functions ¶
func NewEnvironmentMetricUsage ¶ added in v8.11.0
func NewEnvironmentMetricUsage(relayID string, publisher events.EventPublisher, flushInterval time.Duration) *environmentMetricUsage
func WithCount ¶
WithCount runs a function and records a single-unit increment for the specified metric.
Types ¶
type EnvironmentManager ¶
type EnvironmentManager struct {
// contains filtered or unexported fields
}
EnvironmentManager controls the metrics exporter activity for a specific LD environment.
func (*EnvironmentManager) FlushEventsExporter ¶
func (em *EnvironmentManager) FlushEventsExporter()
FlushEventsExporter is used in testing to trigger the events exporter to post data to the event publisher.
func (*EnvironmentManager) GetOpenCensusContext ¶
func (em *EnvironmentManager) GetOpenCensusContext() context.Context
GetOpenCensusContext returns the Context for this EnvironmentManager's OpenCensus operations.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is the top-level object that controls all of our metrics exporter activity. It should be created and retained by the Relay instance, and closed when the Relay instance is closed.
func NewManager ¶
func NewManager( metricsConfig config.MetricsConfig, flushInterval time.Duration, loggers ldlog.Loggers, ) (*Manager, error)
NewManager creates a Manager instance.
func (*Manager) AddEnvironment ¶
func (m *Manager) AddEnvironment(envName string, publisher events.EventPublisher) (*EnvironmentManager, error)
AddEnvironment creates a new EnvironmentManager with its own OpenCensus context that includes a tag for the environment name, and registers its exporter.
func (*Manager) AddEnvironmentForUsage ¶ added in v8.11.0
func (m *Manager) AddEnvironmentForUsage(envName string, publisher events.EventPublisher)
AddEnvironmentForUsage informs the Manager to start accepting and tracking usage metrics from our middleware.
func (*Manager) Close ¶
func (m *Manager) Close()
Close shuts down the Manager and all of its EnvironmentManager instances.
func (*Manager) RemoveEnvironment ¶
func (m *Manager) RemoveEnvironment(em *EnvironmentManager)
RemoveEnvironment shuts down this EnvironmentManager and removes it from the Manager.
func (*Manager) RemoveEnvironmentForUsage ¶ added in v8.11.0
RemoveEnvironmentForUsage informs the Manager to stop tracking usage metrics for a particular environment.
func (*Manager) UsageActivityCountMessage ¶ added in v8.11.0
func (*Manager) UsageActivityStreamConnected ¶ added in v8.11.0
func (*Manager) UsageActivityStreamDisconnected ¶ added in v8.11.0
type Measure ¶
type Measure struct {
// contains filtered or unexported fields
}
Measure represents one of the types of metrics that can be passed to WithCount, WithGauge, or WithRouteCount.
type UsageActivityKind ¶ added in v8.11.0
type UsageActivityKind string
const ( UsageActivityKindCount UsageActivityKind = "count" UsageActivityKindStreamConnected UsageActivityKind = "stream_connected" UsageActivityKindStreamDisconnected UsageActivityKind = "stream_disconnected" )