The performance sampling feature can detect the time consumption at various points in the Dubbo processing chain. When a timeout occurs ( usageTime / timeout > profilerWarnPercent * 100 )
, the call duration is logged.
This feature is divided into two modes: simple profiler
and detail profiler
. The simple profiler
mode is enabled by default, while the detail profiler
mode is disabled by default. The detail profiler
collects additional information such as processing time for each filter and specific time consumption on protocols, compared to the simple profiler
. If long processing times are found within the Dubbo framework while in simple profiler
, the detail profiler
can be enabled for better issue diagnosis.
Enable simple profiler
mode, enabled by default
dubbo>enableSimpleProfiler
OK
dubbo>
Disable simple profiler
mode, which will also disable detail profiler
dubbo>disableSimpleProfiler
OK
dubbo>
Enable detail profiler
mode, disabled by default. It will only be truly enabled when simple profiler
is on
dubbo>enableDetailProfiler
OK. This will cause performance degradation, please be careful!
dubbo>
Disable detail profiler
mode, which does not affect simple profiler
dubbo>disableDetailProfiler
OK
dubbo>
Set the warning percentage for timeout
Command: setProfilerWarnPercent {profilerWarnPercent}
profilerWarnPercent: The warning percentage for timeout, range 0.0 ~ 1.0, default is 0.75
dubbo>setProfilerWarnPercent 0.75
OK
dubbo>