Создать новый .Net Profiler Api - PullRequest
       9

Создать новый .Net Profiler Api

1 голос
/ 08 апреля 2010

я новый программист в .Net Profiler и Visual C ++,

Я прочитал много форумов и блогов для .Net Profiling, и у меня возник этот вопрос.

мое приложение Profiler должно быть неуправляемым кодомили я могу использовать какой-то класс в .Net в моем приложении?и какой тип проекта я должен создать ATL с MFC или ..?

другой вопрос, как я могу зарегистрировать мой файл dll профилировщика, чтобы каждое приложение моего компьютера использовало этот профилировщик?

гделучшая ситуация для перезаписи IL метода (введите метод профилировщика или JITCompilationStarted)?

как я могу получить входные переменные старого метода и отправить в новый метод?

как я могу изменитьIL свойства или целого класса?

Я хочу изменить весь формат даты-времени моих dll, и я думаю, что я должен найти имя этого метода в JITCompilationStarted и затем переписать эти методы. У вас есть что-нибудь лучше?решение?Большое спасибо.

1 Ответ

0 голосов
/ 08 апреля 2010

Хорошо, что ты хочешь попробовать это. Я бы посоветовал вам ознакомиться с некоторыми старыми идеями о профилировании, которые менее чем полезны , и попытаться улучшить их.

Я бы предложил, чтобы основное внимание уделялось строкам кода, а не функциям, и что наиболее полезная статистика для каждой строки - это процент времени, за который она отвечает (т.е. в стеке вызовов). (Преимущество получения процента состоит в том, что вам не нужно заботиться о том, сколько времени занимает процесс, сколько раз он вызывается или конкурирует ли он с другими процессами.)

Я думаю, что лучший способ получить эту информацию с помощью стековых выборок, взятых в случайные часы настенного времени. Не исключайте сэмплы только потому, что они возникают, когда программа заблокирована, если только вы не хотите быть слепым к ненужному вводу / выводу. Хороший подход состоит в том, чтобы позволить пользователю включать / выключать сэмплирование, чтобы вы не брали много сэмплов во время ожидания ввода данных пользователем.

Пример хорошего профилировщика, который использует этот подход: RotateRight / Zoom . Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...