public void Update(InstanceDataCollection id) { var data = new InstanceData[id.Count]; id.CopyTo(data, 0); Name.Value = id.CounterName; foreach (var v in data) { if (!valueDictionary.ContainsKey(v.InstanceName)) { valueDictionary.Add(v.InstanceName, new InstanceValueViewModel(v.InstanceName, Processor)); } valueDictionary[v.InstanceName].Update(v); } var ordered = valueDictionary.Values.OrderByDescending(v => v.Value.Value).ToList(); Name.Value += " (" + ordered.FirstOrDefault()?.Value.Value.ToString("#######0.##") + ")"; if (Selected.Value) { Values.Value = ordered; } }
public static void InstanceDataCollection_GetItem_ExistingCounter() { InstanceDataCollection idc = GetInstanceDataCollection(); InstanceData[] ids = new InstanceData[idc.Count]; idc.CopyTo(ids, 0); Assert.Equal("% User Time", idc.CounterName); for (int i = 0; i < idc.Count; i++) { string instanceName = ids[i].InstanceName; Assert.Equal(instanceName, idc[instanceName].InstanceName); Assert.Equal(ids[i].RawValue, idc[instanceName].RawValue); Assert.True(idc.Contains(instanceName)); } }
//<snippet4> // Display the contents of an InstanceDataCollection. public static void ProcessInstanceDataCollection(InstanceDataCollection idCol) { InstanceData[] instDataArray = new InstanceData[idCol.Count]; Console.WriteLine(" InstanceDataCollection for \"{0}\" " + "has {1} elements.", idCol.CounterName, idCol.Count); // Copy and process the InstanceData array. idCol.CopyTo(instDataArray, 0); int idX; for (idX = 0; idX < instDataArray.Length; idX++) { ProcessInstanceDataObject(instDataArray[idX].InstanceName, instDataArray[idX].Sample); } }