# Functions
MustTagKey creates a new `tag.Key` from a string, panic if the key is not a valid.
NewController returns a new metrics controller.
RecordWithTags records a metric value and tags.
RegisterPrometheusExporter register a prometheus exporter to OpenCensus with a given prometheus metric registry.
RegisterStackdriverExporter register a Stackdriver exporter to OpenCensus.
SetReportingPeriod set appropriate reporting period which depends on exporters we are going to use.
SetupMetrics initializes metrics reporting with the provided configuration.
# Constants
GameServersStateCount is the size of LRU cache and should contain all gameservers state changes Upper bound could be estimated as 10_000 of gameservers in total each moment, 10 state changes per each gameserver and about 10 minutes for a game session, and 6 gameservers per hour.
# Variables
MetricResyncPeriod is the interval to re-synchronize metrics based on indexed cache.
# Structs
Config holds configuration for metrics reporting.
Controller is a metrics controller collecting Agones state metrics
nolint:govet // ignore fieldalignment, singleton.
# Type aliases
GameServerCount is the count of gameserver per current state and per fleet name.