Documentation forSolarWinds Observability

Profiler

If you are monitoring databases with SolarWinds Observability, you can use the Profiler to display useful information like the most time-consuming and frequently executed queries in your database. The Profiler allows you to organize queries for your monitored database through a variety of options.

Using the Profiler

Click Analyze from the side navigation menu and then click Profiler to open the Profiler.

You can also open the Profiler from the Databases area overview. Click Databases and then click Profiler to open the Profiler. See Area overviews for more information.

By default, the Profiler displays the Top 10 queries by Total Time for the last hour of monitored data. This helps you find the queries that are consuming the most execution time, which is a useful way to identify the queries that are adding load to your server.

To change the data that is being displayed, click the category drop-down menu(s) at the top of the page and make a selection. Click Apply to display your selection.

Click the Hide Internal Queries checkbox to hide queries executed by SolarWinds Observability for database monitoring. Click the ellipsis to open the Choose Columns window. Click the columns you want to add to the Profiler display and then select Apply to save your changes.

Ranking by query tags

Use the Profiler to rank your recorded queries by query tag. Click Query Tags from the drop-down menu and click Apply to display your selection by query tags. You can get even more granular results by entering a Tag Name, or Tag Value, to search for specific results.

Ranking by query tags can help you to identify the queries that are affecting the load across your database. For example, consider the following scenario. You have tagged your queries with their app name, and have recorded those queries with SolarWinds Observability. You then use the Profiler to rank the queries across your environment by the top 10 query tags by total time, and filter by that tag name. In this scenario, you can see all the queries with the given app name and how they rank by total time to determine which queries are consuming more of your database's resources.

Comparing profiler data

Click Compare to 7 days before to compare the currently displayed profiling query data and the query data that was recorded 7 days before the selected time range.

For example, if you are profiling the top 10 queries by total time for the last day, clicking Compare to 7 days before will also display the top 10 queries by total time for the previous 7 days, allowing you to easily compare the data, and any changes over time. The numbered query represents the query from the currently selected time range, and the query beneath the numbered query represents the query 7 days before the selected time range.

Clicking the Compare to 7 days before toggle will always display the currently selected time range data, and data 7 days before the selected time range.

Category and ranking options

The Profiler allows you to rank your top 10 to 200 queries through a variety of ranking options for the selected time period. The following ranking options are available:

Option Description
Affected Rows Ranks the selected number of queries by the number of rows that were affected during query execution.
Block Read Time Ranks the selected number of queries by the amount of time it took to read a block during query execution.
Block Write Time Ranks the selected number of queries by the amount of time it took to write a block during query execution.
Created Temp Disk Tables Ranks the selected number of queries by the number of created temp disk tables during query execution.
Created Temp Tables Ranks the selected number of queries by the number of created temp tables during query execution.
Failed Rules Ranks the selected number of queries by the number of rules that failed during query execution.
Local Blocks Dirtied Ranks the selected number of queries by the number of unmodified blocks that were changed during query execution.
Local Blocks Hit Ranks the selected number of queries by the number of local blocks hit during query execution.

Local Blocks Read

Ranks the selected number of queries by the number of local blocks read during query execution.
Local Blocks Written Ranks the selected number of queries by the number of local blocks written during query execution.
Lock Time Ranks the selected number of queries by the time each query waited to get the lock that was required to execute.
Missing Indexes Ranks the selected number of queries by the number of missing indexes during query execution.
Select Full Join Ranks the selected number of queries by the number of Full_Joins during query execution.
Select Scan Ranks the selected number of queries by the number of table scans or index scans that took place during query execution.
Slow Queries Ranks the selected number of queries by their execution time.
Shared Blocks Dirtied Ranks the selected number of queries by the number of blocks from tables and indexes that took place during query execution.
Shared Blocks Read Ranks the selected number of queries by the number of blocks from tables and indexes read from the disk during query execution.
Shared Blocks Written Ranks the selected number of queries by the number of blocks that were removed from the cache during query execution.
Sort Rows Ranks the selected number of queries by the number of rows sorted during query execution.
Sort Scan Ranks the selected number of queries by the number of rows scanned during query execution.
Temp Blocks Read Ranks the selected number of queries by the number of temp block reads during query execution.
Temp Blocks Written Ranks the selected number of queries by the number of temp block writes during query execution.
Total Time Ranks the selected number of queries by their total execution time for the selected time period. Total execution is represented as a percentage of the selected time period.
Errors Ranks the selected number of queries by their total errors for the selected time period.
Rows Examined Ranks the selected number of queries by the total rows examined for the selected time period.
Rows Sent Ranks the selected number of queries by the total rows sent during their execution for the selected time period.
Count Ranks the selected number of queries by their total execution count for the selected time period.
Warnings Ranks the selected number of queries by their total warnings during execution for the selected time period.

Additional columns

The following columns are available through the Column Chooser:

Column Description
Action Displays the number of actions executed for each of the top selected queries.
Affected Rows Displays the number of rows that were affected during query execution for each of the top selected queries.
Avg. Frequency Displays the average query frequency for each of the top selected queries.
Avg. Latency Displays the average query latency for each of the top selected queries.
Block Read Time Displays the amount of time it took to read a block during query execution for each of the top selected queries.
Block Write Time Displays the amount of time it took to write a block during query execution for each of the top selected queries.
Change Displays the number of changes for each of the top selected queries.
Count Displays the amount of times the query executed for each of the top selected queries.
Created Temp Disk Tables Displays the number of created temp disk tables during query execution for each of the top selected queries.
Created Temp Tables Displays the number of created temp tables during query execution for each of the top selected queries.
Errors Displays the number of errors for each of the top selected queries.
Failed Rules Displays the number of rules that failed during query execution for each of the top selected queries.
First Seen Displays the time when the query was first recorded by the SolarWinds Observability Agent.
Local Blocks Dirtied Displays the number of unmodified blocks that were changed during query execution for each of the top selected queries.
Local Blocks Hit Displays the number of local blocks hit during query execution for each of the top selected queries.
Local Blocks Read Displays the number of local blocks read during query execution for each of the top selected queries.
Local Blocks Written Displays the number of local blocks written during query execution for each of the top selected queries.
Lock Time Displays the time each query waited to get the lock that was required to execute for each of the top selected queries.
Latency p99 Displays the amount of query latency in the 99th percentile value for each of the top selected queries.
Missing Indexes Displays the number of missing indexes during query execution for each of the top selected queries.
Notifications Displays the number of associated notifications for each of the top selected queries.
Rows Examined Displays the number of rows examined for each of the top selected queries.
Rows Sent Displays the number of rows sent for each of the top selected queries.
Shared Blocks Dirtied Displays the number of shared dirtied blocks that took place during query execution for each of the top selected queries.
Shared Blocks Hit Displays the number of blocks from tables and indexes for each of the top selected queries.
Shared Blocks Read Displays the number of blocks from tables and indexes that took place during query execution for each of the top selected queries.
Sort Rows Displays the number of rows sorted during query execution for each of the top selected queries.
Sort Scan Displays the number of rows scanned during query execution for each of the top selected queries.
Temp Blocks Read Displays the number of temp block reads during query execution for each of the top selected queries.
Temp Blocks Written Displays the number of temp block writes during query execution for each of the top selected queries.
Total Time Displays the total execution time for the selected time period for each of the top selected queries.
Warnings Displays the number of associated warnings for each of the top selected queries.