Upcoming Ensembl Platform Transition

This is the final release of its kind on this website.

In summer 2026, this site will bring you to the new Ensembl platform currently at beta.ensembl.org.
Please bookmark this archive to retain access to the current site, tools and functionality until they are available on the new platform -> jun2026.archive.ensembl.org

Debugging and profiling the Ensembl website

$SiteDefs::ENSEMBL_DEBUG_FLAGS

In your plugins you can set the value of the EnsEMBL debug flags so that you can control what messages appear in the error logs.

  ## Turn on Perl profiling output.
  $SiteDefs::ENSEMBL_DEBUG_FLAGS |= $SiteDefs::ENSEMBL_PERL_PROFILER;
  ## Turn off Long process warnings
  $SiteDefs::ENSEMBL_DEBUG_FLAGS &= ~$SiteDefs::ENSEMBL_DEBUG_LONG_PROCESS;

A full list of flags are:

$SiteDefs::ENSEMBL_DEBUG_JAVASCRIPT_DEBUG
Include a Debug div in the webpage in which errors warnings and timings are logged.
$SiteDefs::ENSEMBL_DEBUG_MAGIC_MESSAGES
EnsEMBL::Web::Magic module displays a textual description of each request if this flag is set.
$SiteDefs::ENSEMBL_DEBUG_REFERER
For debugging AJAX etc - print out the parsed web-request
$SiteDefs::ENSEMBL_DEBUG_TREE_DUMPS
Textual dump of the image configuration trees.
$SiteDefs::ENSEMBL_DEBUG_TIMESTAMPED_LOGS
If set log files are stamped with the time the server is started.
$SiteDefs::ENSEMBL_DEBUG_PERL_PROFILER
At various points in the code there are in built profiling statements - set this flag to dump them to the logs at the end of the request.
$SiteDefs::ENSEMBL_DEBUG_LONG_PROCESS
Display information about requests that last more than a certain number of seconds.
$SiteDefs::ENSEMBL_DEBUG_HANDLER_ERRORS
Include some detailed error messages while the server is routing the request.
$SiteDefs::ENSEMBL_DEBUG_SD_AUTOLOADER
Various shouts in the EnsEMBL::Web::SpeciesDefs AUTOLOAD function.
$SiteDefs::ENSEMBL_DEBUG_DRAWING_CODE
Informational messages from the drawing code.
$SiteDefs::ENSEMBL_DEBUG_GENERAL_ERRORS
Show some general error messages

Profiling the code - EnsEMBL::Web::Timer