/// <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)); }
// 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); }
> 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); }