http://qs321.pair.com?node_id=11114191


in reply to Re^4: NYTProf line report failure
in thread NYTProf line report failure

I said that you must be using NYTProf completely wrong because I don't think a module like this can break so spectacularly. Again, a wild guess :)

What is the commandline you used, or are you using NYTProf via Apache (i.e. How to use Devel::NYTProf on Apache)? Does NYTProf work without these problems on a different file?

For the particular log you provided, line 175 of /Devel/NYTProf/Reader.pm sets my $fname = $fi->filename_without_inc; and most of the complaints you see are saying that $fname is undefined. Why is that? Well it has something to do with that ->inc I guess again, because $fi->filename_without_inc must be somehow related? So there is no filename, there is no profile!

I propose that you restore NYTProf to its previous state (remove what I provided) and then if you want to debug, you must slowly work your way inside nytprofhtml and the modules it's using, inserting a print statement here or there. But first let's double check that the commandline is correct and that no ENV var is messing things up. Also make sure that NYTProf is properly installed by profiling a simple script and checking you get valid output.

Replies are listed 'Best First'.
Re^6: NYTProf line report failure
by Anonymous Monk on Mar 13, 2020 at 19:05 UTC
    I use NYTProf often enough to have aliases set to maximize laziness:
    alias profile='perl -d:NYTProf'
    alias profileh='nytprofhtml --open'
    
    That's been working for a very long time. I don't know how to use NYTProf wrong. It works well for me except for this one big module that does things which would cause modern PerlMonks to hide their children, but under strict conditions with no warnings, so I don't see why it upsets NYTProf.

    I'm happy with the hack that gets me a report because I like to browse code as a website. Seeing it outside the comfort of my editor provides a different perspective. Maybe this thread will be useful to whoever adopts NYTProf and tries to improve filename handling of the profiler. Thanks for guessing :)

      I guess you cannot share the code, but maybe noting some of the, possibly egregious, coding practices it contains would help reproduce the problem?