in reply to Devel::Profiler and dprofpp Garbled profile

More investigation seems to indicate that the problem is in the DBI/DBD calls. The DProf docs explain the tmon.out format. My quickndandy parser shows...

Indentation represents nested subroutines
+  enter sub
-  exit sub
*  goto sub

Perl code: my $row = $sth->fetchrow_hashref;

      +DBI::st::fetchrow_hashref
        *DBD::_::st::fetchrow_hashref
        *DBI::st::fetch
        *DBD::mysql::st::fetch
      -DBD::mysql::st::fetch   << this is the error
      *DBI::st::FETCH
      *DBD::mysql::st::FETCH
    -DBD::mysql::st::FETCH

I read this as:

  1. call DBI::st::fetchrow_hashref
  2. goto DBD::_::st::fetchrow_hashref
  3. goto DBI::st::fetch
  4. goto DBD::mysql::st::fetch
  5. return from DBD::mysql::st::fetch
  6. goto DBI::st::FETCH
  7. goto DBD::mysql::st::FETCH
  8. return from DBD::mysql::st::FETCH

There should only be one return for a call, so the first return for DBD::mysql::st::fetch upsets the profilers righteous sense of indentation!

So either

What should I do next?

Regards & thanks,

Jeff

  • Comment on Re: Devel::Profiler and dprofpp Garbled profile