On this page
profile
On this page
Definition
- profile
- 
     Enables, disables, or configures the Database Profiler. The profiler captures and records data on the performance of write operations, cursors, and database commands on a running mongodinstance.The profiler is off by default. Important 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. The profilecommand has the following syntax:{ profile: <level>, slowms: <threshold>, sampleRate: <rate> }Field Type Description profileint Default: 0 Specifies which operations should be profiled.The following profiler levels are available:Level Description -1Returns the current profiler level, but does not change it. 0Turns the profiler off so that it does not collect any data. This is the default profiler level. 1Sets the profiler to collect data for operations that take longer than the value of slowms.2Sets the profiler to collect data for all operations. slowmsint Optional. Default: 100 The slow operation time threshold, in milliseconds. Operations that run for longer than this threshold are considered slow. When logLevelis set to0, MongoDB records slow operations to the diagnostic log at a rate determined byslowOpSampleRate. 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 logLevelsettings, 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 thelogLeveldoes not log all oplog entries.Note This argument affects the same setting as the configuration option slowOpThresholdMs.sampleRatedouble Optional. Default: 1.0 The fraction of slow operations that should be profiled.sampleRateaccepts values between 0 and 1, inclusive.Note This argument affects the same setting as the configuration option slowOpSampleRateand does not affect the slow oplog entry log messages on secondaries (available starting in version 3.6.11 for MongoDB 3.6 deployments).New in version 3.6. 
The db.getProfilingStatus() and db.setProfilingLevel() shell methods provide wrappers around the profile command.