Example #1
0
        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));
            }
        }
Example #3
0
    //<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);
        }
    }