diff --git a/documentation/docs/images/MongoFiltersQAN.png b/documentation/docs/images/MongoFiltersQAN.png new file mode 100644 index 0000000000..e6b64f3ac8 Binary files /dev/null and b/documentation/docs/images/MongoFiltersQAN.png differ diff --git a/documentation/docs/images/PMM_MongoDB_Cluster_Summary.jpg b/documentation/docs/images/PMM_MongoDB_Cluster_Summary.jpg index 59eb3499e6..49cf07664b 100644 Binary files a/documentation/docs/images/PMM_MongoDB_Cluster_Summary.jpg and b/documentation/docs/images/PMM_MongoDB_Cluster_Summary.jpg differ diff --git a/documentation/docs/images/PMM_Query_Analytics.jpg b/documentation/docs/images/PMM_Query_Analytics.jpg index 37307e3397..6631fdd00a 100644 Binary files a/documentation/docs/images/PMM_Query_Analytics.jpg and b/documentation/docs/images/PMM_Query_Analytics.jpg differ diff --git a/documentation/docs/release-notes/3.1.0.md b/documentation/docs/release-notes/3.1.0.md index e4c167eebb..64aa4bcb63 100644 --- a/documentation/docs/release-notes/3.1.0.md +++ b/documentation/docs/release-notes/3.1.0.md @@ -63,6 +63,36 @@ We've improved the filtering experience on the [MongoDB Instances Compare](../re These additional filters make it easier to navigate and compare MongoDB instances in larger environments, allowing you to quickly narrow down the specific instances you want to monitor without relying solely on service names. +### Extended metrics and labels for MongoDB Query Analytics (QAN) + +We've added new metrics and filters to the [QAN dashboard](../use/qan/index.md) that expose important query execution details to highlight inefficient execution paths and provide detailed lock and storage metrics. With the new filters, you can easily identify problematic queries by application, client, user or even plan summary: + +#### Additional MongoDB QAN metrics +The **Query Details** section of the QAN dashboard now includes these additional metrics: + +- **Docs Examined**: number of examined documents during query execution +- **Keys Examined**: number of index keys scanned during query execution +- **Docs Returned**: number of returned documents by the query +- **Response Length**: size of the response in bytes +- **Locks Global Acquire Count Read Shared**: number of times a global read lock was acquired during query execution +- **Locks Global Acquire Count Write Shared**: number of times a global write lock was acquired during query execution +- **Locks Database Acquire Count Read Shared**: number of times a read lock was acquired at the database level during query execution +- **Locks Database Acquire Wait Count Read Shared**: number of times a read lock at the database level was requested but had to wait before being granted +- **Locks Database Time Acquiring Micros Read Shared**: indicates the time spent acquiring a read lock at the database level during an operation +- **Locks Collection Acquire Count Read Shared**: number of times a read lock was acquired on a specific collection during operations +- **Storage Bytes Read**: total number of bytes read from storage during a specific operation +- **Storage Time Reading Micros**: indicates the time spent reading data from storage during an operation + +#### New MongoDB QAN filter categories + +The QAN dashboard now includes several additional MongoDB-specific filter options: + +- **Plan Summary**: filters queries by execution plan type (COLLSCAN, IXSCAN, etc.) to easily identify inefficient full collection scans +- **Application Name**: filters queries by the application name that executed them +- **User**: filters queries by the database user who executed the query +- **Database**: filters queries by specific database + +![New Mongo filters](../images/MongoFiltersQAN.png) #### Enhanced MongoDB dashboard visualizations Based on community feedback, we've improved the monitoring experience in both the [MongoDB ReplicaSet Summary](../reference/dashboards/dashboard-mongodb-replset-summary.md) and the [MongoDB Sharded Cluster Summary](../reference/dashboards/dashboard-mongodb-cluster-summary.md) dashboards. These improvements deliver more accurate and actionable insights: diff --git a/documentation/docs/use/qan/panels/filters.md b/documentation/docs/use/qan/panels/filters.md index 9f2672e54c..fc55a45c1b 100644 --- a/documentation/docs/use/qan/panels/filters.md +++ b/documentation/docs/use/qan/panels/filters.md @@ -1,8 +1,13 @@ -# Filters Panel +# QAN Filters panel + +The Filters panel on the left hand side of the [QAN dashboard](../../qan/index.md) helps you narrow down query data to focus on specific metrics, database instances, or performance issues. + ![!image](../../../images/PMM_Query_Analytics_Panels_Filters.jpg) -- The **Filter** panel on the left hand side of the dashboard lists the filters grouped by category. It also shows the percentage of the main metrics (explained below). If you select a different metric, the percentages on the left panel will change as per this metric. When you select a metric, it reduces the overview list as per the matching filter. +## Understanding filters + +- The **Filter** panel lists the filters grouped by category. It also shows the percentage of the main metrics (explained below). If you select a different metric, the percentages on the left panel will change as per this metric. When you select a metric, it reduces the overview list as per the matching filter. - The first five of each category are shown. If there are more, the list is expanded by clicking **Show all** beside the category name, and collapsed again with **Show top 5**. - Applying a filter may make other filters inapplicable. These become grayed out and inactive. - Click the chart symbol to navigate directly to an item's associated dashboard. @@ -10,6 +15,38 @@ ![!image](../../../images/PMM_Query_Analytics_Time_Range.jpg) +## Available filter groups +The available filter groups depend on the database type you're monitoring. + +### Common filter groups +These filter groups are available for all database types: + +- **Environment** +- **Cluster** +- **Replication Set** +- **Database** +- **Schema** +- **Node Name** +- **Service Name** +- **Client Host** +- **Username** +- **Service Type** +- **Node Type** + +### MySQL-specific filter groups +- **Command Class**: filters by SQL command class (SELECT, INSERT, UPDATE, etc.) +- **Fingerprint**: Filters by normalized query pattern + +### MongoDB-specific filter groups +- **Plan Summary**: filters queries by execution plan type (COLLSCAN, IXSCAN, etc.) to easily identify inefficient full collection scans +- **Client Application Name**: filters queries by the application name that generated them + +### PostgreSQL-specific filter groups +- **Application** +- **Command Type** +- **Tables** +- **Client Application Name** + ## Custom filter groups @@ -51,7 +88,7 @@ In the output, you can see another custom group in the `OperationSystem` filter. ### Enabling custom filter groups -- **CLI**: While adding a service through CLI use the flag `comments-parsing`. Possible values are `on/off`. +- **via CLI**: While adding a service through CLI use the flag `comments-parsing`. Possible values are `on/off`. Example for adding MySQL with comments parsing on: @@ -59,7 +96,7 @@ In the output, you can see another custom group in the `OperationSystem` filter. pmm-admin add mysql --username=root --password=root-password --comments-parsing="on" ``` -- **UI**: While adding a service through the UI you will see new checkbox to `enable/disable` comments parsing for current service. +- **via UI**: While adding a service through the UI you will see new checkbox to `enable/disable` comments parsing for current service. ![!image](../../../images/PMM_QAN_Parsing.png)