Самое простое, самое надежное, что нужно сделать:
- Добавить
DB::enable_profile
и DB::disable_profile
вызовов в вашу библиотеку (вы можете проверить, определены ли сначала подпрограммы, чтобы избежать поломоккогда NYTProf не загружен). - Запустите perl с -d: NYTProf и
NYTPROF=start=no
в среде.
Все это довольно четко объяснено в Devel :: NYTProf docs .
Вы можете попробовать загрузить библиотеку NYTProf условно, но дело здесь в том, что только материал, скомпилированный после загрузки NYTProf, получает любые точки трассировки.Это может звучать совершенно нормально, поскольку вы хотите только профилировать свою библиотеку, но не ясно, что произойдет, если ваша библиотека вызовет (или перезвонит) любой другой код, и я не проверял это.Наверное, намного проще сделать простую версию make do:)