# ==================================== # # Kamon-StatsD Reference Configuration # # ==================================== # kamon { statsd { # Hostname and port in which your StatsD is running. Remember that StatsD packets are sent using UDP and # setting unreachable hosts and/or not open ports wont be warned by the Kamon, your data wont go anywhere. hostname = "127.0.0.1" port = 8125 # Interval between metrics data flushes to StatsD. It's value must be equal or greater than the # kamon.metric.tick-interval setting. flush-interval = 10 seconds # Subscription patterns used to select which metrics will be pushed to StatsD. Note that first, metrics # collection for your desired entities must be activated under the kamon.metrics.filters settings. subscriptions { histogram = [ "**" ] min-max-counter = [ "**" ] gauge = [ "**" ] counter = [ "**" ] trace = [ "**" ] trace-segment = [ "**" ] akka-actor = [ "**" ] akka-dispatcher = [ "**" ] akka-router = [ "**" ] system-metric = [ "**" ] http-server = [ "**" ] } # FQCN of the implementation of `kamon.statsd.MetricKeyGenerator` to be instantiated and used for assigning # metric names. The implementation must have a single parameter constructor accepting a `com.typesafe.config.Config`. metric-key-generator = kamon.statsd.SimpleMetricKeyGenerator simple-metric-key-generator { # Application prefix for all metrics pushed to StatsD. The default namespacing scheme for metrics follows # this pattern: # application.host.entity.entity-name.metric-name application = "kamon" # Includes the name of the hostname in the generated metric. When set to false, the scheme for the metrics # will look as follows: # application.entity.entity-name.metric-name include-hostname = true # Allow users to override the name of the hostname reported by kamon. When changed, the scheme for the metrics # will have the following pattern: # application.hostname-override-value.entity.entity-name.metric-name hostname-override = none # When the sections that make up the metric names have special characters like dots (very common in dispatcher # names) or forward slashes (all actor metrics) we need to sanitize those values before sending them to StatsD # with one of the following strategies: # - normalize: changes ': ' to '-' and ' ', '/' and '.' to '_'. # - percent-encode: percent encode the section on the metric name. Please note that StatsD doesn't support # percent encoded metric names, this option is only useful if using our docker image which has a patched # version of StatsD or if you are running your own, customized version of StatsD that supports this. metric-name-normalization-strategy = normalize } # FQCN of the implementation of `kamon.statsd.StatsDMetricsSenderFactory` to be instantiated and use for # creating StatsD sender. Provided implementations are: # - `kamon.statsd.BatchStatsDMetricsSender`. Sends a UDP packet every "kamon.statsd.flush-interval" or # as long as "kamon.statsd.batch-metric-sender.max-packet-size" is reached. Default one. # - `kamon.statsd.SimpleStatsDMetricsSender`. Sends a UDP packet for each piece of data it receives. metric-sender-factory = kamon.statsd.BatchStatsDMetricsSender # Settings for `kamon.statsd.BatchStatsDMetricsSender`. # Used only if kamon.statsd.metric-sender-factory is set to `kamon.statsd.BatchStatsDMetricsSender` batch-metric-sender { # Max packet size for UDP metrics data sent to StatsD. max-packet-size = 1024 bytes } # All time values are collected in nanoseconds, # to scale before sending to StatsD set "time-units" to "s" or "ms" or "µs". # Value "n" is equivalent to omitting the setting # time-units = "n" # All memory values are collected in bytes, # to scale before sending to StatsD set "memory-units" to "gb" or "mb" or "kb". # Value "b" is equivalent to omitting the setting # memory-units = "b" } modules { kamon-statsd { requires-aspectj = no auto-start = yes extension-class = "kamon.statsd.StatsD" } } }