public static Counters NewCounters() { Counters hc = new Counters(); foreach (JobCounter c in JobCounter.Values()) { hc.FindCounter(c).SetValue((long)(Math.Random() * 1000)); } foreach (TaskCounter c_1 in TaskCounter.Values()) { hc.FindCounter(c_1).SetValue((long)(Math.Random() * 1000)); } int nc = FileSystemCounter.Values().Length * 4; for (int i = 0; i < nc; ++i) { foreach (FileSystemCounter c_2 in FileSystemCounter.Values()) { hc.FindCounter(FsSchemes.Next(), c_2).SetValue((long)(Math.Random() * Dt)); } } for (int i_1 = 0; i_1 < 2 * 3; ++i_1) { hc.FindCounter(UserCounterGroups.Next(), UserCounters.Next()).SetValue((long)(Math .Random() * 100000)); } return(hc); }
/// <exception cref="System.IO.IOException"/> public virtual void ReadFields(DataInput @in) { int numSchemes = WritableUtils.ReadVInt(@in); // #scheme FileSystemCounter[] enums = FileSystemCounter.Values(); for (int i = 0; i < numSchemes; ++i) { string scheme = WritableUtils.ReadString(@in); // scheme int numCounters = WritableUtils.ReadVInt(@in); // #counter for (int j = 0; j < numCounters; ++j) { FindCounter(scheme, enums[WritableUtils.ReadVInt(@in)]).SetValue(WritableUtils.ReadVLong (@in)); } } }
public virtual C FindCounter(string scheme, FileSystemCounter key) { lock (this) { string canonicalScheme = CheckScheme(scheme); object[] counters = map[canonicalScheme]; int ord = (int)(key); if (counters == null) { counters = new object[FileSystemCounter.Values().Length]; map[canonicalScheme] = counters; counters[ord] = NewCounter(canonicalScheme, key); } else { if (counters[ord] == null) { counters[ord] = NewCounter(canonicalScheme, key); } } return((C)counters[ord]); } }