Class HdfsLocalityReporter

    • Constructor Detail

      • HdfsLocalityReporter

        public HdfsLocalityReporter()
    • Method Detail

      • setHost

        public void setHost​(String hostname)
        Set the host name to use when determining locality
        Parameters:
        hostname - The name of this host; should correspond to what HDFS Data Nodes think this is.
      • getName

        public String getName()
        Description copied from interface: SolrInfoBean
        Simple common usage name, e.g. BasicQueryHandler, or fully qualified class name.
        Specified by:
        getName in interface SolrInfoBean
      • getMetricNames

        public Set<String> getMetricNames()
        Description copied from interface: SolrInfoBean
        Modifiable set of metric names that this component reports (default is null, which means none). If not null then this set is used by SolrInfoBean.registerMetricName(String) to capture what metrics names are reported from this component.

        NOTE: this set has to allow iteration under modifications.

        Specified by:
        getMetricNames in interface SolrInfoBean
      • getMetricRegistry

        public com.codahale.metrics.MetricRegistry getMetricRegistry()
        Description copied from interface: SolrInfoBean
        An instance of MetricRegistry that this component uses for metrics reporting (default is null, which means no registry).
        Specified by:
        getMetricRegistry in interface SolrInfoBean
      • initializeMetrics

        public void initializeMetrics​(SolrMetricManager manager,
                                      String registryName,
                                      String tag,
                                      String scope)
        Provide statistics on HDFS block locality, both in terms of bytes and block counts.
        Specified by:
        initializeMetrics in interface SolrMetricProducer
        Parameters:
        manager - an instance of SolrMetricManager
        registryName - registry name where metrics are registered
        tag - symbolic tag that represents a group of related instances that have the same life-cycle. Parent component can use the tag when calling SolrMetricManager.unregisterGauges(String, String) to unregister metrics created by this instance of the producer.
        scope - scope of the metrics (eg. handler name) to separate metrics of instances of the same component executing in different contexts
      • registerDirectory

        public void registerDirectory​(HdfsDirectory dir)
        Add a directory for block locality reporting. This directory will continue to be checked until its close method has been called.
        Parameters:
        dir - The directory to keep metrics on.