Class StateSet.Builder

Enclosing class:
StateSet

public static class StateSet.Builder extends MetricWithFixedMetadata.Builder<StateSet.Builder,StateSet>
  • Field Details

    • exemplarsEnabled

      @Nullable protected Boolean exemplarsEnabled
    • exemplarLabelsSupplier

      @Nullable protected Supplier<io.prometheus.metrics.model.snapshots.Labels> exemplarLabelsSupplier
  • Method Details

    • states

      public StateSet.Builder states(Class<? extends Enum<?>> enumClass)
      Declare the states that should be represented by this StateSet.
    • states

      public StateSet.Builder states(String... stateNames)
      Declare the states that should be represented by this StateSet.
    • build

      public StateSet build()
      Specified by:
      build in class MetricWithFixedMetadata.Builder<StateSet.Builder,StateSet>
    • self

      protected StateSet.Builder self()
      Specified by:
      self in class MetricWithFixedMetadata.Builder<StateSet.Builder,StateSet>
    • exemplarLabelsSupplier

      public StateSet.Builder exemplarLabelsSupplier(Supplier<io.prometheus.metrics.model.snapshots.Labels> supplier)
      Provide additional labels to be merged into every automatically-sampled exemplar of this metric. The supplier is called each time an exemplar is sampled, so it can return dynamic values (e.g. a request-scoped identifier from a thread-local). The supplier is only invoked when a valid, sampled span context is present; it has no effect when tracing is not active.

      For a global supplier that applies to all metrics (including metrics registered by third-party libraries you do not control), see ExemplarLabelsSupplier. When both are configured, this per-metric supplier takes precedence over the global one on a label-name collision, and the reserved trace_id/span_id labels always win over both. Labels that collide are silently dropped.

    • withExemplars

      public StateSet.Builder withExemplars()
      Allow Exemplars for this metric.
    • withoutExemplars

      public StateSet.Builder withoutExemplars()
      Turn off Exemplars for this metric.
    • toProperties

      protected io.prometheus.metrics.config.MetricsProperties toProperties()
      Override if there are more properties than just exemplars enabled.
    • getDefaultProperties

      public io.prometheus.metrics.config.MetricsProperties getDefaultProperties()
      Override if there are more properties than just exemplars enabled.