Enable profiling
With Commerce profiling, you can:
-
Enable a built-in profiler.
You can use a built-in profiler with Commerce to perform tasks such as analyzing performance. The nature of profiling depends on the analytical tools that you use. We support multiple formats, including HTML. When you enable the profiler, a
var/profiler.flag
file generates indicating the profiler is enabled and configurations. When disabled, this file is deleted. -
Display dependency graphs on a Commerce page.
A dependency graph is a list of object dependencies and all of their dependencies, and all the dependencies for those dependencies, and so on.
You should be particularly interested in the list of unused dependencies, which are objects that were created because they were requested in some constructor, but were never used (that is, none of their methods were called). As a result, processor time and memory spent to create these dependencies are wasted.
Commerce provides the base functionality in Magento\Framework\Profiler
.
You can enable and configure the profiler using a MAGE_PROFILER variable or the command line.
Set MAGE_PROFILER
You can set the value of MAGE_PROFILER
in any of the ways discussed in Set the value of bootstrap parameters.
MAGE_PROFILER
supports the following values:
-
1
to enable a specific profiler’s output.You can use one of the following values to enable a specific profiler:
csvfile
which usesMagento\Framework\Profiler\Driver\Standard\Output\Csvfile
- Any other value (except
2
), including an empty value, which usesMagento\Framework\Profiler\Driver\Standard\Output\Html
-
2
to enable dependency graphs.Dependency graphs typically display at the bottom of a page. The following figure shows portion of the output:
CLI commands
You can enable or disable the profiler using CLI commands:
dev:profiler:enable <type>
enables the profiler withtype
ofhtml
(default) orcsvfile
. When enabled, a flagfilevar/profiler.flag
is created.dev:profiler:disable
disables the profiler. When disabled, the flagfilevar/profiler.flag
is removed.
To enable dependency graphs, use the variable option.
To enable or disable the profiler:
-
Log in to your Commerce server.
-
Change to your Commerce installation directory.
-
As the file system owner, enable the profiler:
To enable the profiler using type
html
and create a flagfile:code language-bash bin/magento dev:profiler:enable html
To enable the profiler using type
csvfile
and create a flagfile:code language-bash bin/magento dev:profiler:enable csvfile
The output is saved to
<project-root>/var/log/profiler.csv
. Theprofiler.csv
is overridden on each page refresh.To disable the profiler and remove the flagfile:
code language-bash bin/magento dev:profiler:disable