Class ManagedLedgerMetrics


  • public class ManagedLedgerMetrics
    extends java.lang.Object
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected double average​(java.util.List<java.lang.Double> values)  
      protected org.apache.pulsar.common.stats.Metrics createMetrics()
      Creates a metrics with empty immutable dimension.
      protected org.apache.pulsar.common.stats.Metrics createMetrics​(java.util.Map<java.lang.String,​java.lang.String> dimensionMap)  
      protected org.apache.pulsar.common.stats.Metrics createMetricsByDimension​(java.lang.String namespace)
      Creates a dimension key for metrics.
      protected org.apache.pulsar.common.stats.Metrics createMetricsByDimension​(java.lang.String namespace, java.lang.String fromClusterName, java.lang.String toClusterName)
      Creates a dimension key for replication metrics.
      java.util.List<org.apache.pulsar.common.stats.Metrics> generate()  
      protected java.lang.String getLocalClusterName()  
      protected org.apache.bookkeeper.mledger.ManagedLedgerFactoryMXBean getManagedLedgerCacheStats()
      Returns the managed ledger cache statistics from ML factory.
      protected java.util.Map<java.lang.String,​org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl> getManagedLedgers()
      Returns managed ledgers map from ML factory.
      protected java.lang.String parseNamespaceFromLedgerName​(java.lang.String ledgerName)  
      protected void populateAggregationMap​(java.util.Map<java.lang.String,​java.util.List<java.lang.Double>> map, java.lang.String mkey, double value)  
      protected void populateAggregationMapWithSum​(java.util.Map<java.lang.String,​java.lang.Double> map, java.lang.String mkey, double value)  
      protected void populateDimensionMap​(java.util.Map<org.apache.pulsar.common.stats.Metrics,​java.util.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.
      protected void populateDimensionMap​(java.util.Map<org.apache.pulsar.common.stats.Metrics,​java.util.List<org.apache.pulsar.common.policies.data.TopicStats>> topicsStatsByDimensionMap, org.apache.pulsar.common.stats.Metrics metrics, org.apache.pulsar.common.policies.data.TopicStats destStats)  
      protected void populateMaxMap​(java.util.Map<java.lang.String,​java.lang.Long> map, java.lang.String mkey, long value)  
      protected double sum​(java.util.List<java.lang.Double> values)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • METRICS_VERSION_SUFFIX

        protected static final java.lang.String METRICS_VERSION_SUFFIX
        See Also:
        Constant Field Values
      • V2_LEDGER_NAME_PATTERN

        protected static final java.util.regex.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
    • Constructor Detail

      • ManagedLedgerMetrics

        public ManagedLedgerMetrics​(PulsarService pulsar)
    • Method Detail

      • generate

        public java.util.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​(java.util.Map<java.lang.String,​java.lang.String> dimensionMap)
      • getManagedLedgerCacheStats

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

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

        protected java.lang.String getLocalClusterName()
      • average

        protected double average​(java.util.List<java.lang.Double> values)
      • sum

        protected double sum​(java.util.List<java.lang.Double> values)
      • parseNamespaceFromLedgerName

        protected java.lang.String parseNamespaceFromLedgerName​(java.lang.String ledgerName)
      • createMetricsByDimension

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

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

        protected void populateAggregationMap​(java.util.Map<java.lang.String,​java.util.List<java.lang.Double>> map,
                                              java.lang.String mkey,
                                              double value)
      • populateAggregationMapWithSum

        protected void populateAggregationMapWithSum​(java.util.Map<java.lang.String,​java.lang.Double> map,
                                                     java.lang.String mkey,
                                                     double value)
      • populateMaxMap

        protected void populateMaxMap​(java.util.Map<java.lang.String,​java.lang.Long> map,
                                      java.lang.String mkey,
                                      long value)
      • populateDimensionMap

        protected void populateDimensionMap​(java.util.Map<org.apache.pulsar.common.stats.Metrics,​java.util.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​(java.util.Map<org.apache.pulsar.common.stats.Metrics,​java.util.List<org.apache.pulsar.common.policies.data.TopicStats>> topicsStatsByDimensionMap,
                                            org.apache.pulsar.common.stats.Metrics metrics,
                                            org.apache.pulsar.common.policies.data.TopicStats destStats)