metrics

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2018 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ResponseTime reports the response time of handlers and rpc
	ResponseTime = "response_time_ns"
	// ConnectedClients represents the number of current connected clients in frontend servers
	ConnectedClients = "connected_clients"
	// CountServers counts the number of servers of different types
	CountServers = "count_servers"
	// ChannelCapacity represents the capacity of a channel (available slots)
	ChannelCapacity = "channel_capacity"
	// DroppedMessages reports the number of dropped messages in rpc server (messages that will not be handled)
	DroppedMessages = "dropped_messages"
	// ProcessDelay reports the message processing delay to handle the messages at the handler service
	ProcessDelay = "handler_delay_ns"
)

Functions

func ReportMessageProcessDelayFromCtx

func ReportMessageProcessDelayFromCtx(ctx context.Context, reporters []Reporter, typ string)

ReportMessageProcessDelayFromCtx reports the delay to process the messages

func ReportNumberOfConnectedClients

func ReportNumberOfConnectedClients(reporters []Reporter, number int64)

ReportNumberOfConnectedClients reports the number of connected clients

func ReportTimingFromCtx

func ReportTimingFromCtx(ctx context.Context, reporters []Reporter, typ string, errored bool)

ReportTimingFromCtx reports the latency from the context

Types

type Client

type Client interface {
	Count(name string, value int64, tags []string, rate float64) error
	Gauge(name string, value float64, tags []string, rate float64) error
	TimeInMilliseconds(name string, value float64, tags []string, rate float64) error
}

Client is the interface to required dogstatsd functions

type PrometheusReporter

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

PrometheusReporter reports metrics to prometheus

func GetPrometheusReporter

func GetPrometheusReporter(serverType string, game string, port int, constLabels map[string]string) *PrometheusReporter

GetPrometheusReporter gets the prometheus reporter singleton

func (*PrometheusReporter) ReportCount

func (p *PrometheusReporter) ReportCount(metric string, labels map[string]string, count float64) error

ReportCount reports a summary metric

func (*PrometheusReporter) ReportGauge

func (p *PrometheusReporter) ReportGauge(metric string, labels map[string]string, value float64) error

ReportGauge reports a gauge metric

func (*PrometheusReporter) ReportSummary

func (p *PrometheusReporter) ReportSummary(metric string, labels map[string]string, value float64) error

ReportSummary reports a summary metric

type Reporter

type Reporter interface {
	ReportCount(metric string, tags map[string]string, count float64) error
	ReportSummary(metric string, tags map[string]string, value float64) error
	ReportGauge(metric string, tags map[string]string, value float64) error
}

Reporter interface

type StatsdReporter

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

StatsdReporter sends application metrics to statsd

func NewStatsdReporter

func NewStatsdReporter(
	config *config.Config,
	serverType string,
	tagsMap map[string]string,
	clientOrNil ...Client,
) (*StatsdReporter, error)

NewStatsdReporter returns an instance of statsd reportar and an error if something fails

func (*StatsdReporter) ReportCount

func (s *StatsdReporter) ReportCount(metric string, tagsMap map[string]string, count float64) error

ReportCount sends count reports to statsd

func (*StatsdReporter) ReportGauge

func (s *StatsdReporter) ReportGauge(metric string, tagsMap map[string]string, value float64) error

ReportGauge sents the gauge value and reports to statsd

func (*StatsdReporter) ReportSummary

func (s *StatsdReporter) ReportSummary(metric string, tagsMap map[string]string, value float64) error

ReportSummary observes the summary value and reports to statsd

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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