Где я могу найти документацию для публикации данных на perfmon в C ++? - PullRequest
2 голосов
/ 20 мая 2009

Несколько лет назад я написал некоторый код для «публикации» данных для использования perfmon. Использование этих счетчиков довольно хорошо задокументировано, но мне было сложно найти (в то время) хорошую документацию и пример кода для публикации данных для perfmon.

Кто-нибудь знает, где я могу получить эту документацию? Кажется, я также вспоминаю некоторые классные обертки, но могу ошибаться.


EDIT:

Я нашел это , и я буду продолжать искать "пользовательские счетчики производительности приложений".

Ответы [ 2 ]

2 голосов
/ 20 мая 2009

Ты возвращаешь старые воспоминания!

С 1998 года, Джеффри Рихтер написал статью в Microsoft Systems Journal, описывающую, как создавать собственные счетчики perfmon, это очень легко (после вырезания и вставки кода шаблона просто добавьте переменные общей памяти в dll и обновите их при необходимости).

1 голос
/ 20 мая 2009

Вы ищете управляемые или нативные оболочки? Ссылка, которую вы разместили, является управляемой, но ваш вопрос является родным (c ++). В управляемом мире довольно просто и просто публиковать счетчики с помощью PerformanceCounter и его родственников http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx. Для умеренных томов их также можно использовать для чтения счетчиков, для больших объемов, хотя вы должны использовать PDH.DLL в качестве накладные расходы на управляемые счетчики, считывающие по одному счетчику за раз, будут огромными в моем опыте. Лично я разработал преобразования XSLT для генерации всех счетчиков prfmon в своих приложениях, я написал об этом здесь: http://rusanu.com/2009/04/11/using-xslt-to-generate-performance-counters-code/, и у меня есть больше новых материалов для блога. Если ваш вопрос касается неуправляемого API, у меня нет под рукой какого-либо указателя, но лично я бы пошел по пути использования XSLT снова для генерации всего моего кода perfmon, так как большая его часть повторяется.

...