Class JvmMetricsBuilder

java.lang.Object
com.itrsgroup.collection.instr.jvm.JvmMetricsBuilder

public final class JvmMetricsBuilder extends Object
Builder for instances of JvmMetrics.
  • Constructor Details

    • JvmMetricsBuilder

      public JvmMetricsBuilder()
  • Method Details

    • client

      public JvmMetricsBuilder client(MetricsClient client)
      Configure the client.
      Parameters:
      client - client
      Returns:
      this
      Throws:
      NullPointerException - if client is null
    • collectMemoryMetrics

      public JvmMetricsBuilder collectMemoryMetrics()
      Enable collection of memory metrics.
      Returns:
      this
    • collectThreadMetrics

      public JvmMetricsBuilder collectThreadMetrics()
      Enable collection of thread metrics.
      Returns:
      this
    • collectRuntimeMetrics

      public JvmMetricsBuilder collectRuntimeMetrics()
      Enable collection of runtime metrics.
      Returns:
      this
    • collectOperatingSystemMetrics

      public JvmMetricsBuilder collectOperatingSystemMetrics()
      Enable collection of operating system metrics.
      Returns:
      this
    • addCollector

      public JvmMetricsBuilder addCollector(JvmMetricsCollector collector)
      Add a custom collector.
      Parameters:
      collector - collector
      Returns:
      this
    • reportingInterval

      public JvmMetricsBuilder reportingInterval(long reportingInterval, TimeUnit unit)
      Configure the reporting interval.
      Parameters:
      reportingInterval - reporting interval - must be 1 second or greater
      unit - reporting interval unit
      Returns:
      this
      Throws:
      IllegalArgumentException - if the reporting interval is less than one second
    • workerThreads

      public JvmMetricsBuilder workerThreads(int count)
      Configure the number of collection worker threads.
      Parameters:
      count - thread count, must be greater than zero
      Returns:
      this
      Throws:
      IllegalArgumentException - if count is less than 1
    • errorCallback

      public JvmMetricsBuilder errorCallback(Consumer<Throwable> callback)
      Configure the error callback (defaults to no-op).
      Parameters:
      callback - callback
      Returns:
      this
      Throws:
      NullPointerException - if the callback is null
    • build

      public JvmMetrics build()
      Build with the configured settings.
      Returns:
      the metrics collector
      Throws:
      IllegalArgumentException - if no client has been configured