This version of the documentation is archived and no longer supported.


On this page


db.setProfilingLevel(level, options)

Configures the database profiler. This method provides a wrapper around the profile command.

Parameter Type Description
level integer

Configures the profiler level. The following profiler levels are available:

Level Description
0 The profiler is off and does not collect any data. This is the default profiler level.
1 The profiler collects data for operations that take longer than the value of slowms.
2 The profiler collects data for all operations.
options document or integer

Optional. Accepts an integer or an options document. If an integer value is passed as the options argument instead of a document, the value is assigned to slowms. The following options are available:

Default: 100
Type: integer

The slow operation time threshold, in milliseconds. Operations that run for longer than this threshold are considered slow.

When logLevel is set to 0, MongoDB records slow operations to the diagnostic log at a rate determined by slowOpSampleRate. For MongoDB 3.6 deployments, starting in version 3.6.11, the secondaries of replica sets log all oplog entry messages that take longer than the slow operation threshold to apply regardless of the sample rate.

At higher logLevel settings, all operations appear in the diagnostic log regardless of their latency with the following exception: the logging of slow oplog entry messages by the secondaries. The secondaries log only the slow oplog entries; increasing the logLevel does not log all oplog entries.


This argument affects the same setting as the configuration file option slowOpThresholdMs.

Default: 1.0
Type: double

The fraction of slow operations that should be profiled. sampleRate accepts values between 0 and 1, inclusive.


This argument affects the same setting as the configuration option slowOpSampleRate.


Profiling can impact performance and shares settings with the system log. Carefully consider any performance and security implications before configuring and enabling the profiler on a production deployment.

See Profiler Overhead for more information on potential performance degradation.