Documentation ¶
Index ¶
Constants ¶
View Source
const ( FlagPort = "port" FlagLogFormat = "log-format" FlagLogLevel = "log-level" FlagLogTags = "log-tags" FlagStatsDSN = "stats-dsn" FlagStatsPrefix = "stats-prefix" FlagStatsTags = "stats-tags" FlagProfiler = "profiler" FlagProfilerPort = "profiler-port" FlagKafkaConsumerBrokers = "kafka-consumer-brokers" FlagKafkaConsumerGroupID = "kafka-consumer-group-id" FlagKafkaConsumerTopic = "kafka-consumer-topic" FlagKafkaProducerBrokers = "kafka-producer-brokers" FlagKafkaProducerTopic = "kafka-producer-topic" FlagRedisDSN = "redis-dsn" )
Variables ¶
View Source
var CommonFlags = Flags{ cli.StringFlag{ Name: FlagLogFormat, Value: Defaults.LogFormat, Usage: "Specify the format of logs. Supported formats: 'terminal', 'json'", EnvVar: "LOG_FORMAT", }, cli.StringFlag{ Name: FlagLogLevel, Value: Defaults.LogLevel, Usage: "Specify the log level. E.g. 'debug', 'warning'.", EnvVar: "LOG_LEVEL", }, cli.StringSliceFlag{ Name: FlagLogTags, Usage: "A list of tags appended to every log. Format: key=value.", EnvVar: "LOG_TAGS", }, cli.StringFlag{ Name: FlagStatsDSN, Usage: "The URL of a stats backend.", EnvVar: "STATS_DSN", }, cli.StringFlag{ Name: FlagStatsPrefix, Usage: "The prefix of the measurements names.", EnvVar: "STATS_PREFIX", }, cli.StringSliceFlag{ Name: FlagStatsTags, Usage: "A list of tags appended to every measurement. Format: key=value.", EnvVar: "STATS_TAGS", }, }
View Source
var Defaults = defaults{
Port: "80",
LogFormat: "json",
LogLevel: "info",
ProfilerPort: "8081",
}
View Source
var KafkaConsumerFlags = Flags{ cli.StringSliceFlag{ Name: FlagKafkaConsumerBrokers, Usage: "Kafka consumer brokers.", EnvVar: "KAFKA_CONSUMER_BROKERS", }, cli.StringFlag{ Name: FlagKafkaConsumerGroupID, Usage: "Kafka consumer group id.", EnvVar: "KAFKA_CONSUMER_GROUP_ID", }, cli.StringFlag{ Name: FlagKafkaConsumerTopic, Usage: "Kafka topic to consume from.", EnvVar: "KAFKA_CONSUMER_TOPIC", }, }
View Source
var KafkaProducerFlags = Flags{ cli.StringSliceFlag{ Name: FlagKafkaProducerBrokers, Usage: "Kafka producer brokers.", EnvVar: "KAFKA_PRODUCER_BROKERS", }, cli.StringFlag{ Name: FlagKafkaProducerTopic, Usage: "Kafka topic to produce into.", EnvVar: "KAFKA_PRODUCER_TOPIC", }, }
View Source
var ProfilerFlags = Flags{ cli.BoolFlag{ Name: FlagProfiler, Usage: "Enable profiler server.", EnvVar: "PROFILER", }, cli.StringFlag{ Name: FlagProfilerPort, Value: Defaults.ProfilerPort, Usage: "Port for the profiler to listen on.", EnvVar: "PROFILER_PORT", }, }
View Source
var ProfilerServer = &http.Server{ ReadTimeout: time.Minute, WriteTimeout: time.Minute, }
View Source
var RedisFlags = Flags{ cli.StringFlag{ Name: FlagRedisDSN, Usage: "The DSN of Redis.", EnvVar: "REDIS_DSN", }, }
View Source
var ServerFlags = Flags{ cli.StringFlag{ Name: FlagPort, Value: Defaults.Port, Usage: "Port for HTTP server to listen on", EnvVar: "PORT", }, }
Functions ¶
func RunProfiler ¶
Types ¶
type Context ¶
func NewContext ¶
func NewContext(c *cli.Context, opts ...CtxOptionFunc) (*Context, error)
type CtxOptionFunc ¶
type CtxOptionFunc func(ctx *Context)
func Logger ¶
func Logger(l log.Logger) CtxOptionFunc
func Stats ¶
func Stats(s stats.Stats) CtxOptionFunc
Click to show internal directories.
Click to hide internal directories.