# start_profile

> Start connection lock profiling.

> ### For an overview see page eXtremeSQL Functions

> ### Prototype

>         start_profile(rate_usec);

> ### Arguments

> `rate_usec` | The sampling period in microseconds

> ### Description

> > This function starts connection lock profiling. Every `rate_usec` microseconds the profiler thread (which is started by the `start_profile()` call) will poll the database connections' states to check whether they are waiting on some locks. Whenever this thread detects a connection waiting on a particular lock, it increases the corresponding lock counter. In other words, a lock counter shows how many times a connection (or connections) has been caught waiting on the corresponding lock. This approach will obviously miss any locks taken and released between the checks. However, the overall picture is good enough for the application performance analysis.

> ### Example

> See page Connection Lock Profiling for an example of usage showing the output generated by calling function `stop_profile()`.