Class ManagedLedgerMetrics

java.lang.Object
org.apache.pulsar.broker.stats.metrics.ManagedLedgerMetrics

public class ManagedLedgerMetrics extends Object
  • Field Details

    • METRICS_VERSION_SUFFIX

      protected static final String METRICS_VERSION_SUFFIX
      See Also:
    • V2_LEDGER_NAME_PATTERN

      protected static final Pattern V2_LEDGER_NAME_PATTERN
    • ENTRY_LATENCY_BUCKETS_MS

      protected static final double[] ENTRY_LATENCY_BUCKETS_MS
    • ENTRY_SIZE_BUCKETS_BYTES

      protected static final double[] ENTRY_SIZE_BUCKETS_BYTES
    • pulsar

      protected final PulsarService pulsar
  • Constructor Details

    • ManagedLedgerMetrics

      public ManagedLedgerMetrics(PulsarService pulsar)
  • Method Details

    • generate

      public List<org.apache.pulsar.common.stats.Metrics> generate()
    • createMetrics

      protected org.apache.pulsar.common.stats.Metrics createMetrics()
      Creates a metrics with empty immutable dimension.

      Use this for metrics that doesn't need any dimension - i.e global metrics

      Returns:
    • createMetrics

      protected org.apache.pulsar.common.stats.Metrics createMetrics(Map<String,String> dimensionMap)
    • getManagedLedgerCacheStats

      protected org.apache.bookkeeper.mledger.ManagedLedgerFactoryMXBean getManagedLedgerCacheStats()
      Returns the managed ledger cache statistics from ML factory.
      Returns:
    • getManagedLedgers

      protected Map<String,org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl> getManagedLedgers()
      Returns managed ledgers map from ML factory.
      Returns:
    • getLocalClusterName

      protected String getLocalClusterName()
    • average

      protected double average(List<Double> values)
    • sum

      protected double sum(List<Double> values)
    • parseNamespaceFromLedgerName

      protected String parseNamespaceFromLedgerName(String ledgerName)
    • createMetricsByDimension

      protected org.apache.pulsar.common.stats.Metrics createMetricsByDimension(String namespace)
      Creates a dimension key for metrics.
      Parameters:
      namespace - Namespace of metric
      Returns:
    • createMetricsByDimension

      protected org.apache.pulsar.common.stats.Metrics createMetricsByDimension(String namespace, String fromClusterName, String toClusterName)
      Creates a dimension key for replication metrics.
      Parameters:
      namespace -
      fromClusterName -
      toClusterName -
      Returns:
    • populateAggregationMap

      protected void populateAggregationMap(Map<String,List<Double>> map, String mkey, double value)
    • populateAggregationMapWithSum

      protected void populateAggregationMapWithSum(Map<String,Double> map, String mkey, double value)
    • populateMaxMap

      protected void populateMaxMap(Map<String,Long> map, String mkey, long value)
    • populateDimensionMap

      protected void populateDimensionMap(Map<org.apache.pulsar.common.stats.Metrics,List<org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl>> ledgersByDimensionMap, org.apache.pulsar.common.stats.Metrics metrics, org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl ledger)
      Helper to manage populating topics map.
      Parameters:
      ledgersByDimensionMap -
      metrics -
      ledger -
    • populateDimensionMap

      protected void populateDimensionMap(Map<org.apache.pulsar.common.stats.Metrics,List<org.apache.pulsar.common.policies.data.TopicStats>> topicsStatsByDimensionMap, org.apache.pulsar.common.stats.Metrics metrics, org.apache.pulsar.common.policies.data.TopicStats destStats)