Я пытаюсь создать счетчик производительности, который может отслеживать время выполнения приложений, одним из которых является Google Chrome. Тем не менее, я замечаю, что время, которое я получаю для Chrome, неестественно мало - я заглядываю в диспетчер задач, чтобы понять, что у меня в Chrome несколько процессов, работающих под одним и тем же именем, но у каждого процесса свой размер рабочего набора и, таким образом (как я полагаю), разные времена процессора. Я пытался сделать это:
// get all processes running under the same name, and make a performance counter
// for each one.
Process[] toImport = Process.GetProcessesByName("chrome");
instances = new PerformanceCounter[toImport.Length];
for (int i = 0; i < instances.Length; i++)
{
PerformanceCounter toPopulate = new PerformanceCounter
("Process", "% Processor Time",
toImport[i].ProcessName,
true);
//Console.WriteLine(toImport[i].ProcessName + "#" + i);
instances[i] = toPopulate;
}
Но, похоже, это совсем не работает - я просто отслеживаю один и тот же процесс несколько раз. Может кто-нибудь сказать мне, как контролировать отдельные процессы с одинаковыми именами?