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



                                      
       

                                                                                          
                                               
 
           
 
                                                                                               

                            
                                                                  

                                               
 









                                                                                                   





                                                                                                   

                 

                                                         
 

                                                                   


     







                                                





                                                
               
                            



                       






                                             
               

















                                               
             


                                                                                   
       
 




                                                                                
             

                                                                             
       


















                                             



         
 


                                                                                                                      

                             
























                                                                              
 
# ================================== #
# Kamon-Core Reference Configuration #
# ================================== #

kamon {

  # Default dispatcher for all Kamon components, unless a more specific one is configured.
  default-dispatcher = "kamon.kamon-dispatcher"

  metrics {

    # Time interval for collecting all metrics and send the snapshots to all subscribed actors.
    tick-interval = 1 second

    # Time interval for recording values on all registered gauges.
    gauge-recording-interval = 100 milliseconds


    # Default size for the LongBuffer that gets allocated for metrics collection and merge. The
    # value should correspond to the highest number of different buckets with values that might
    # exist in a single histogram during a metrics collection. The default value of 33792 is a
    # very conservative value and its equal to the total number of buckets required to cover values
    # from 1 nanosecond to 1 hour with 0.1% precision (3 significant value digits). That means
    # that would need to have at least one measurement on every bucket of a single histogram to
    # fully utilize this buffer, which is *really* unlikely to ever happen. Since the buffer should
    # be allocated once and reused it shouldn't impose a memory footprint issue.
    default-collection-context-buffer-size = 33792

    # Disables a big error message that will be typically logged if your application wasn't started
    # with the -javaagent:/path-to-aspectj-weaver.jar option. If you are only using KamonStandalone
    # it might be ok for you to turn this error off.
    disable-aspectj-weaver-missing-error = false


    dispatchers {

      # Dispatcher for periodical gauge value recordings.
      gauge-recordings = ${kamon.default-dispatcher}

      # Dispatcher for subscriptions and metrics collection actors.
      metric-subscriptions = ${kamon.default-dispatcher}
    }


    filters = [
      {
        actor {
          includes = []
          excludes = [ "system/*", "user/IO-*" ]
        }
      },
      {
        router {
          includes = []
          excludes = [ "system/*", "user/IO-*" ]
        }
      },
      {
        trace {
          includes = [ "*" ]
          excludes = []
        }
      },
      {
        dispatcher {
          includes = [ "default-dispatcher" ]
          excludes = []
        }
      }
    ]

    precision {
      default-histogram-precision {
        highest-trackable-value = 3600000000000
        significant-value-digits = 2
      }

      default-min-max-counter-precision {
        refresh-interval = 100 milliseconds
        highest-trackable-value = 999999999
        significant-value-digits = 2
      }

      default-gauge-precision {
        refresh-interval = 100 milliseconds
        highest-trackable-value = 999999999
        significant-value-digits = 2
      }


      actor {
        processing-time = ${kamon.metrics.precision.default-histogram-precision}
        time-in-mailbox = ${kamon.metrics.precision.default-histogram-precision}
        mailbox-size = ${kamon.metrics.precision.default-min-max-counter-precision}
      }

      router {
        processing-time = ${kamon.metrics.precision.default-histogram-precision}
        time-in-mailbox = ${kamon.metrics.precision.default-histogram-precision}
      }

      trace {
        elapsed-time = ${kamon.metrics.precision.default-histogram-precision}
        segment = ${kamon.metrics.precision.default-histogram-precision}
      }

      dispatcher {
        maximum-pool-size {
          highest-trackable-value = 999999999
          significant-value-digits = 2
        }
        running-thread-count {
          highest-trackable-value = 999999999
          significant-value-digits = 2
        }
        queued-task-count {
          highest-trackable-value = 999999999
          significant-value-digits = 2
        }
        pool-size {
          highest-trackable-value = 999999999
          significant-value-digits = 2
        }
      }
    }
  }

  trace {

    # If ask-pattern-tracing is enabled, a WARN level log message will be generated if a future generated by the `ask`
    # pattern fails with a `AskTimeoutException` and the log message will contain a stack trace captured at the moment
    # the future was created.
    ask-pattern-tracing = off
  }

  kamon-dispatcher {
    # Dispatcher is the name of the event-based dispatcher
    type = Dispatcher
    # What kind of ExecutionService to use
    executor = "fork-join-executor"
    # Configuration for the fork join pool
    fork-join-executor {
      # Min number of threads to cap factor-based parallelism number to
      parallelism-min = 2

      # The parallelism factor is used to determine thread pool size using the
      # following formula: ceil(available processors * factor). Resulting size
      # is then bounded by the parallelism-min and parallelism-max values.
      parallelism-factor = 2.0

      # Max number of threads to cap factor-based parallelism number to
      parallelism-max = 10
    }

    # Throughput defines the maximum number of messages to be
    # processed per actor before the thread jumps to the next actor.
    # Set to 1 for as fair as possible.
    throughput = 3
  }
}