Переданное имя экземпляра не было распознано как допустимое поставщиком данных WMI.

Я пытаюсь создать один счетчик производительности через "logman.exe" и пытаюсь прочитать через Microsoft Tx (LINQ to Logs and Traces), но я получаю ошибку ниже,

System.ComponentModel.Win32Exception: "Переданное имя экземпляра не было распознано как допустимое поставщиком данных WMI"

Process logman = Process.Start(
            "logman.exe",
            "create counter Test_Perf_log -c \"Processor(_Total)\"% Processor Time");
        logman.WaitForExit();

        IObservable<EtwNativeEvent> session = EtwObservable.FromSession("Test_Perf_log");
        using (session.Subscribe(e => Console.WriteLine("{0} {1}", e.TimeStamp, e.UserData)))
        {
            Console.ReadLine();
        }

Я подозреваю, что создание счетчика "Test_Perf_log" через "logman.exe" не правильно, пожалуйста, помогите по этому вопросу.

Спасибо,

1 ответ

Решение

Ваш текст не верен: это вывод

create counter Test_Perf_log -c "Processor(_Total)"% Processor Time

Формат показан logman /? это:

create counter perf_log -c "\Processor(_Total)\% Processor Time"

Чтобы достичь этого, вы должны использовать это:

"create counter perf_log -c \"\\Processor(_Total)\\% Processor Time\""
Другие вопросы по тегам