aboutsummaryrefslogblamecommitdiff
path: root/kamon-statsd/src/main/resources/reference.conf
blob: a8941b49c8d3f595908112038da081ca352edb21 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                        
                                        



                                        
 


                                                                                                              
               

                                                                                                   
                                         
                               
 

                                                                                                           
                   









                                
                                

     



                                                                                                                         
                                 
 


                                                                                                               
                           
 



                                                                                                                
 

                                                                                                                    










                                                                                                                    
     













                                                                                                             


                                                                                 

                                                     




                                                                                   
   


                  
                           

                                             

     
 
# ==================================== #
# 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"
    }
  }
}