Configuring Singlestats in a Custom Dashboard | MuleSoft Documentation
# Configuring Singlestats in a Custom Dashboard
Anypoint Monitoring custom dashboards provide a way for you to configure singlestat charts for a single measure (such as a response time or heap usage) of your Mule app environment over a given time range.
## General Settings for Basic and Advanced Data Queries
**General** tab settings include basic and advanced queries (or modes) for configuring time-series data. Both configurations share fields for the title and a short description.
Basic and Advanced Mode Settings  
---  
Title to display in the UI. Defaults to Panel Title.  
Description | Short description to display in the UI when users hover over the information (`i`) icon.  
Other settings are specific to the setting mode (basic or advanced).
### Basic Mode
In the **General** configuration tab, a basic query selects a single metric for a resource (a deployed application or API) in a given environment.
Basic Mode Settings  
---  
Panel Type |  From the drop-down menu, select the type of panel to display for the resource — `Application Panel`, `API Panel`, or `API Analytics Panel` (deprecated).  
The drop-down menu includes these types of metrics:
  * Inbound response metrics and averages
  * JVM metrics
  * Outbound response metrics and averages

For a list of basic metrics, see Basic Mode Metrics  
Environment | The environment where your application or API is deployed.  
Resource | A deployed application. This option is available only if you selected `Application Panel` as your panel type.  
A deployed API. This option is available only if you selected `API Panel` or `API Analytics Panel` (deprecated) as your panel type.  
Version / Instance | The Mule version or instance on which your API is deployed. This option is available only if you selected `API Panel` or `API Analytics Panel` (deprecated) as your panel type.  
After you complete your configuration, click **Save Changes**.
To exit the configuration and return to the dashboard, click the **X**.
When you create an application panel using a JVM metric, the query that supports the panel uses only the worker-id for the app. When you modify the panel at a later time, the resource fields are populated with the query content. Because some apps share a worker-id, the resource that appears in the selector might appear to be a different resource from the resource you selected originally. However, all resources share the same worker, so the query has the correct information despite the selector displaying a different resource name.   
---  
### Advanced Mode
In the **General** configuration tab, advanced settings support one or more fine-tuned queries for your chart.
If you switch back to the basic configuration, some of the advanced configuration queries are removed.   
---  
Advanced Mode Settings for Applications  
---  
Lists JVM and Mule app properties (such as `jvm.memory` and `app_inbound_metric`) that you can add to your chart. This field provides matching suggestions when you type in a character. For example, `jvm.c` will produce a list of all values that contain those characters (such as `jvm.classloading` and `jvm.cpu.operatingsystem`). For a list of advanced metrics, see Advanced Mode Metrics  
Supports conditional logic for filtering the **From** data source you selected.
  * Select one or more filters tags (such as `app_id`, `env_id`, `org_id`, `worker_id`).
  * Available operators include:
    * `=` The value on the left matches the value on the right.
    * The value on the left is less than the value on the right.
    * The value on the left is greater than the value on the right.
  * You can also construct a query that contains multiple filtering expressions by using logical `AND` or `OR` operators between the expressions. Example:
  * `Where env_id = Sandbox`
  * `Where env_id = Sandbox AND app_id= app3`
  * `Where env_id = Sandbox OR env_id= Production`

Grouping `AND` or `OR` conditions within parentheses is _not allowed_. For example, `Where env_id = Sandbox AND (app_id= app3 OR app_id=app2)` isn’t allowed.  
Add one or more `field` settings to create a function that selects a field from the **From** data and applies an operation to it (such as the `mean` of the `heap_total`).  
Group By |  For grouping the data by a selected time interval (such as `$_interval`, `1s`, `10m`, `1h`), filter tag (such as `tag(env_id)`), and fill options (such as `none`, `null`, `0`, `previous`, `linear`). Valid values and arguments:
  * `time($_interval)` for the automated time interval setting, or you can specify time intervals of `1m`, `5m`, `10m`, `15m`, or `1h`.
  * `fill()` where valid values are `none`, `null`, `0`, `previous`, `linear`.
  * `LIMIT`: Numeric value (N) used to limit the result to the first N data points (combined series and timestamp values) returned by a query.
  * `SLIMIT`: Numeric value (N) used to return the all data points (combined series and timestamp values) from the first N series returned by the query.
  * `ORDER BY time DESC`: Returns results in descending time order.

  
Alias By | You can create a label for your metric using a literal string (such as `my string`) or supported variables (for example, `$tag_worker_id` or `$tag_env_id`).  
Advanced Mode Settings for APIs  
---  
`http_summary_metric` For a list of advanced metrics, see Advanced Mode Metrics  
Provides conditional logic for filtering the **From** data source you selected. You can select one or more filter tags (such as `api_id`, `org_id`, `api_version_id`, `method`, `status code`). Example: `Where status_code = 200`.  
For creating a function that selects a field (such as `request_size_average`,`response_time_max`, or `response_time_sum`) from the HTTP summary and applies an operation to it (such as the `mean` of the `response_time_average`). You can add one or more `field` settings.  
Group by |  For grouping the data by a selected time interval (such as `$_interval`, `1s`, `10m`, `1h`), filter tag (such as `tag(api_id)`), and fill options (such as `none`, `null`, `0`, `previous`, `linear`).  
Alias by |  You can create a label for your metric using a literal string (such as `my string`) or supported variables (for example, `$tag_api_id`). The alias must always begin with `$tag`. The syntax is `$tag_yourTagName`. To use your tag as an alias, the tag must be used to `group by` in the query.  
After you complete your configuration, click **Save Changes**.
To exit the configuration and return to the dashboard, click **X**.
## Time Range (Overrides, Time Shifts, Info Display)
Time range configurations provide a way to override _relative_ time ranges (such as the last 30 minutes) selected from the dashboard UI by end users.
Time Range Settings  
---  
Override Relative Time | The amount of time covered by the statistic, for example, the last hour (`1h`) or last thirty minutes (`30m`). Note that this setting only overrides _relative_ time ranges selected by end users from the dashboard UI. When these users select an _absolute time and date range_ for the dashboard, the configuration for the time range override will be disabled.  
Add Time Shift | How long ago the covered time period ended, for example, `1s` for one second ago.  
Hide Time Override Info | Indicates whether the singlestat or table will display information about its settings, such as `30 minutes, ending 1 second ago`.  
After you complete your configuration, you can click Save Changes. To exit the configuration and return to the dashboard, simply click the `X`.
## Options Tab
The **Options** tab includes settings for singlestat values, fonts, coloring, spark lines, and gauge icon settings.
### Value Settings for Singlestats
Configure values for your singlestat. Value settings include the type of value you want (such as an average), the unit of measure, and others.
The value displayed by the singlestat. Available Settings:
  * Min: Minimum of recorded values for the specified metric.
  * Max: Maximum of recorded values for the specified metric.
  * Average: Average of the recorded values for the specified metric.
  * Current: The current value for the specified metric.
  * Total: Sum of recorded values for the specified metric.
  * Name: Name of the metric (for example, `worker-0`).
  * First: The first recorded value for the specified metric.
  * Delta: The total incremental increase in the series.
  * Difference: The difference between the Current value (last value) and the First value.
  * Range: The difference between Min and Max.
  * Time of Last Point: Timestamp of the last reading.
---  
Prepends text to the singlestat value.  
Appends text to the singlestat value.  
Unit of measurement to display with the singlestat value (for example, `percent (0-100)`).  
Decimals | Overrides the automatic decimal precision for the legend and tooltips.  
Font size | Select the font size for the stat, prefix, and postfix.  
### Coloring and Thresholds
Add color-coded thresholds to a singlestat so that you can see whether it exceeds or stays within expected limits.
Background | Adds a background color determined by the **Thresholds** setting.  
---|---  
Applies a color for the current singlestat value that matches the color determined by the **Thresholds** setting.  
Thresholds | Sets a threshold using a numeric range such as `10,20` to distinguish values between the two numbers, below left-most number, and above the right-most number.  
Sets the colors for the values that are below, within, or above the **Thresholds** settings. You can invert the colors, as needed.  
### Spark Lines
Provide spark line settings for a singlestat to provide visual representation of the data.
Checkbox to show or hide the spark line.  
---  
Full Height | For covering the full height of the singlestat.  
Line Color | For selecting the color of the spark line.  
Fill Color | For selecting the color of the area below the spark line.  
### Gauge
Display an arc-like gauge that represents the value of the singlestat.
Checkbox for showing or hiding the gauge.  
---  
Sets a minimum value (such as `0` for a gauge that shows a percentage).  
Sets a maximum value (such as `100` for a gauge that shows a percentage).  
Threshold Labels | Checkbox for showing or hiding your Threshold settings.  
After you complete your configuration, you can click Save Changes. To exit the configuration and return to the dashboard, simply click **X**.
## Value Mappings
From the **Value Mappings** configuration tab, you can provide a human-readable label for a summary statistic.
Range to Text Settings  
---  
Value to Text | Maps a number to a textual description, for example: `0` → `Error`, `1` → `Success`  
Range to Text | Maps a numeric range to a textual description, for example: From `5` To `10` Text `Warning`  
After you complete your configuration, click **Save changes**.
To exit the configuration and return to the dashboard, click **X**.