private void CreatePerformanceGraph(string instanceName, string counterName) { var perfData = new PerformanceData(new PerformanceCounter("Process", counterName, instanceName)); var filteredData = new FilteringDataSource<PerformanceInfo>(perfData, new MaxSizeFilter()); var dataSource = new EnumerableDataSource<PerformanceInfo>(filteredData); dataSource.SetXMapping(pi => (pi.Time.TimeOfDay.TotalSeconds - (_currentTotal == 0 ? _currentTotal = pi.Time.TimeOfDay.TotalSeconds : _currentTotal))); dataSource.SetYMapping(pi => Proc.GetCpuValue(pi.Value)); Plotter.AddLineGraph(dataSource, 0.8, string.Format("{0} - {1}", counterName, instanceName)); }
private LineGraph CreateFilteredPerformanceGraph(string categoryName, string counterName, string instanceName, IFilter<PerformanceInfo> filter) { PerformanceData data = new PerformanceData(new PerformanceCounter(categoryName, counterName, instanceName)); var filteredData = new FilteringDataSource<PerformanceInfo>(data, filter); var ds = new EnumerableDataSource<PerformanceInfo>(filteredData); ds.SetXMapping(pi => pi.Time.TimeOfDay.TotalSeconds); ds.SetYMapping(pi => pi.Value); LineGraph chart = plotter.AddLineGraph(ds, 2.0, String.Format("{0} - {1}", categoryName, counterName)); return chart; }