Get More Information When Long-Running Concurrent Apex Requests Are Terminated

The Concurrent Long Running Apex Limit event type in the EventLogFile object captures information about long-running concurrent Apex requests in your org that Salesforce terminated after reaching the concurrency limit. For example, you can monitor log counts to get a benchmark or plot a count by hour. You can then use the log data to identify where a limit was exceeded. Also, you can identify the URI of the request that was terminated.

Where: This change applies to Enterprise, Performance, Unlimited, and Developer editions. This event is available in the API but not in the Event Monitoring Analytics app.

Who: Available to customers who purchased Salesforce Shield or Salesforce Event Monitoring add-on subscriptions.

Why: Requests with an established Apex context that execute for 5 seconds are counted toward your org’s limit of concurrent long-running requests. (Asynchronous requests don’t count toward the limit.) When you have more than 10 long-running requests, which is the default org limit, additional long-running requests are terminated.

How: If you’re an Event Monitoring customer, you automatically receive Concurrent Long Running Apex Limit event log data when your org exceeds the limit of concurrent Apex requests that are taking longer than the limit of overall request run time.

To identify where a limit was exceeded, see the REQUEST_URI field. You can cross-reference this data with Apex Execution event data where the average RUN_TIME exceeds 5 seconds.

To identify synchronous requests only, cross-reference event data with the QUIDDITY field in Apex Execution event data. For example, QUIDDITY NOT IN (A,BA,F,Q,S) and CALLOUT_TIME (>5000).

Note

Note

To change the default long-running request limit, contact Salesforce Customer Support.