示例#1
0
 /// <summary>Load configuration from a list of files until the first successful load</summary>
 /// <param name="conf">the configuration object</param>
 /// <param name="files">the list of filenames to try</param>
 /// <returns>the configuration object</returns>
 internal static Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig LoadFirst(string prefix
                                                                         , params string[] fileNames)
 {
     foreach (string fname in fileNames)
     {
         try
         {
             Org.Apache.Commons.Configuration.Configuration cf = new PropertiesConfiguration(fname
                                                                                             ).InterpolatedConfiguration();
             Log.Info("loaded properties from " + fname);
             Log.Debug(ToString(cf));
             Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig mc = new Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig
                                                                    (cf, prefix);
             Log.Debug(mc);
             return(mc);
         }
         catch (ConfigurationException e)
         {
             if (e.Message.StartsWith("Cannot locate configuration"))
             {
                 continue;
             }
             throw new MetricsConfigException(e);
         }
     }
     Log.Warn("Cannot locate configuration: tried " + Joiner.On(",").Join(fileNames));
     // default to an empty configuration
     return(new Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig(new PropertiesConfiguration
                                                                  (), prefix));
 }
示例#2
0
        // pluginLoader.close(); // jdk7 is saner
        internal virtual MetricsFilter GetFilter(string prefix)
        {
            // don't create filter instances without out options
            Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig conf = ((Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig
                                                                   )Subset(prefix));
            if (conf.IsEmpty())
            {
                return(null);
            }
            MetricsFilter filter = GetPlugin(prefix);

            if (filter != null)
            {
                return(filter);
            }
            // glob filter is assumed if pattern is specified but class is not.
            filter = new GlobFilter();
            filter.Init(conf);
            return(filter);
        }
示例#3
0
                                      > GetInstanceConfigs(string type)
        {
            IDictionary <string, Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig> map = Maps.NewHashMap
                                                                                          ();

            Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig sub = ((Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig
                                                                  )Subset(type));
            foreach (string key in sub.Keys())
            {
                Matcher matcher = InstanceRegex.Matcher(key);
                if (matcher.Matches())
                {
                    string instance = matcher.Group(1);
                    if (!map.Contains(instance))
                    {
                        map[instance] = ((Org.Apache.Hadoop.Metrics2.Impl.MetricsConfig)sub.Subset(instance
                                                                                                   ));
                    }
                }
            }
            return(map);
        }