Skip to main content
Version: 8.3 Beta 🚧

Metrics Dashboard

The Metrics Dashboard allows users to visualize a variety of metrics on their own customizable dashboards. Users may browse and search for any registered metric and add it to a dashboard, expanding the diagnostic capabilities available in the Diagnostics section.

Diagnostics - Metrics Dashboard

info

Some Gateway pages will have an Open Metrics Dashboard option. Clicking on it will take you to a predefined set of metrics related to the Gateway resource page. These metrics are not saved, but you can save them as a new dashboard.

User Interface​

User Interface

The table below describes the Metric Dashboard page's user interface.

AttributeDescription
Add MetricSelect from a list of available metrics to drag and drop onto the dashboard grid.
Grid SizeControl the number of rows and columns on the grid.
ResetClear all metrics tiles from the current dashboard.
Dashboard DropdownSwitch between saved dashboards.
Save DashboardSave the current dashboard as an option. changes, rename a saved dashboard, or delete the current dashboard.
Three Dots Menu Allows users to rename the dashboard, save the current dashboard as new, clear the current dashboard, or delete the current dashboard.
note

You can create multiple dashboards by using the Save as New option in the three dots menu. To switch between them, use the Dashboard Dropdown on the top right of the page.

Types of Metrics​

Gauge​

Gauges can be any kind of instant-read measurement, such as the number of megabytes of memory consumed, the count of faulted database connections, or the length of a pending task queue. Gauges are used to display a dynamic number.

Gauge

PropertyDescription
valueA numeric value.

X/Y​

An X/Y metric is a pair of gauges that can be interpreted as a ratio. This is an instant-read gauge on a value that has a maximum, such as heap size or a fixed-size thread pool.

XY

PropertyDescription
valueA numeric value.
maxThe maximum value.

Meter​

A meter measures the rate at which something occurs, such as the number of messages sent per second. Users can select the units as well as which of the moving average rates to display.

Meter

PropertyDescription
countThe number of events seen.
meanRateThe mean rate, overall.
oneMinuteRateThe one-minute moving average rate.
fiveMinuteRateThe five-minute moving average rate.
fifteenMinuteRateThe fifteen-minute moving average rate.

Histogram​

A histogram measures the statistical distribution of values in a stream of data. Hovering over a quantile reveals the value at that quantile.

Histogram

PropertyDescription
countThe number of values or events seen.
minThe minimum value (in milliseconds).
maxThe maximum value (in milliseconds).
meanThe mean value (in milliseconds).
stdDevThe standard deviation (in milliseconds).
medianThe median value (in milliseconds).

Timer​

A timer is used to understand both the frequency of and duration of events. It is a combination of a meter (rate of occurrence) and a histogram (distribution of duration). A timer combines the functions and properties of both a meter and a histogram.

Timer

Available Metrics​

All metrics currently available are described below. When adding a metric, the described metric types will be available in the Add Metric popup. Use the dropdowns to expand all metric options.

authTokenRecords​

There are authTokenRecords for both the Client and Designer.

changeEventDistributionOperationAccumulator​

MetricDescriptionSizeType
batchProcessDurationThe amount of time that the ChangeEventDistributionOperationAccumulator takes to process a batch.4x2Timer
changeEventDistributions
  • batchSize - Number of ChangeEvent Distributions in the ChangeEventDistributionOperationAccumulator batch.
    • Size: 1x1
    • Type: Gauge
  • dispatchedThroughput - The throughput of ChangeEvent Distributions dispatched to the Execution task for batch processing.
    • Size: 2x2
    • Type: Meter
  • queuedThroughput - The throughput of ChangeEvent Distributions added to the batch.
    • Size: 2x2
    • Type: Meter
------
changeEventListenersMutations
  • batchSize - Number of ChangeEvent Listener Mutations in the batch.
    • Size: 1x1
    • Type: Gauge
  • dispatchedThroughput - The throughput of ChangeEvent Listener Mutations dispatched to the Execution task for batch processing.
    • Size: 2x2
    • Type: Meter
  • queuedThroughput - The throughput of ChangeEvent Listener Mutations added to the batch.
    • Size: 2x2
    • Type: Meter
------

changeEventListeners.count​

The number of ChangeEvent Listeners registered with the system.

  • Size: 1x1
  • Type: Gauge

changeEventPersistenceOperationAccumulator​

MetricDescriptionSizeType
batchProcessDurationThe amount of time that the ChangeEventPersistenceOperationAccumulator takes to process a batch.4x2Timer
batchSizeThe number of ChangeEvent Contexts in the ChangeEventPersistenceOperationAccumulator batch.1x1Gauge
dispatchedThroughputThe throughput of ChangeEvent Contexts dispatched to the Execution task for batch processing.2x2Meter
queuedThroughputThe throughput of ChangeEvent Contexts added to the batch.2x2Meter
synchronizerDurationThe amount of time that the File Synchronizer takes to synchronize files with memory.4x2Timer

maintenance​

MetricDescriptionSizeType
cleaner.durationThe amount of time that the Cleaner takes.2x4Timer
pruner.durationThe amount of time that the Pruner takes.2x4Timer
reaper.durationThe amount of time that the Reaper takes.2x4Timer

records.count​

The number of AuthTokenRecords in the system.

  • Size: 1x1
  • Type: Gauge

touchEventAccumulator​

Using the metrics below, you can identify that a system is processing the incoming volume of touch events efficiently if the dispatchedThroughput keeps up with the queuedThroughput minus the collisionThroughput.

MetricDescriptionSizeType
batchProcessDurationThe amount of time that the TouchEventAccumulator takes to process a batch.4x2Timer
batchSizeThe number of touch events in the TouchEventAccumulator batch.1x1Gauge
collisionThroughputThe throughput of touch events added to the batch resulting in a collision.2x2Meter
dispatchedThroughputThe throughput of touch events dispatched to the Execution task for batch processing.2x2Meter
queuedThroughputThe throughput of touch events added to the batch.2x2Meter

ClockDriftDetector​

MetricDescriptionSizeType
driftGaugeThe most recent clock drift, in milliseconds.1x1Gauge
driftTimerA timer that tracks the distribution of the duration of clock drifts.4x2Timer

configuration​

MetricDescriptionSizeType
disk-scanThe number of scans to a resource's config.json file for configuration changes to resources.4x2Timer
notification-handlersThe number of notifications for a resource's configuration changes.4x2Timer
notification-queueThe current number of queued changes to a resource's configuration.1x1Gauge
pushThe number of writes or changes to a resource's configuration.4x2Timer

databases​

MetricDescriptionSizeType
connection-{dbName}Each connected database will have the following associated metrics:
  • active-connections - Count of active connections.
    • Size: 1x1
    • Type: Gauge
  • queries - Measures the rate and distribution of query execution.
    • Size: 4x2
    • Type: Timer
  • rows - Measures how many rows the queries being executed against the given database connection are returning.
    • Size: 2x2
    • Type: Meter
  • throughput - Throughput of queries per second.
    • Size: 1x1
    • Type: Gauge
------
queriesMeasures the rate and distribution of query execution on all database connections.4x2Timer

eventStream​

Metrics for event streams will only appear if an event stream is configured. Each event stream stage will have their own set of metrics from the table below.

MetricDescriptionSizeType
errorsThe number of errors that have occurred in the parent stage.1x1Meter
processTimeNsThe average amount of time it takes the parent stage to process an event.4x2Timer
receivedThe average number of events per unit of time received by the parent stage.2x2Meter
queue.eventCountThe number of events currently waiting to be processed by the parent stage.1x1Gauge
forwardedThe number of events that passed through the filter stage.1x1Meter

gateway-network​

MetricDescriptionSizeType
activeMsgCountAllTotal count of all active messages currently being sent over the Gateway Network.1x1Gauge
IncomingBytesSecAllAccumulation of the number of bytes received per second across all Gateways.1x1Gauge
IncomingMsgsPerSecAllAccumulation of messages received per second across all Gateways.1x1Gauge
nonProtobufSerializedMsgsThe number of Java serializations performed on messages sent over a connection to an 8.1 remote Gateway.1x1Gauge
OutgoingBytesSecAllAccumulation of the number of bytes sent per second to all Gateways.1x1Gauge
OutgoingMsgsPerSecAllAccumulation of messages sent per second to all Gateways.1x1Gauge
pendingAcksExpiredIndicates how many pending acknowledgements were purged during the last cleanup execution. This metric is relevant for outgoing connections.

Note: Some messages create a pending acknowledgement object. When the message is uploaded to another Gateway and that Gateway acknowledges receiving the message, the pending acknowledgement object is cleared. If no acknowledgement is received, these objects can become orphaned. Orphaned pending message acknowledgements are regularly purged.
1x1Gauge
pendingMessagesExpiredRecords how many messages were purged during the last cleanup execution, giving an estimate of potentially lost messages. This metric is relevant for incoming connections. Messages that were dispatched, but not downloaded by the other Gateway are regularly purged.1x1Gauge
PendingMsgCountAllTotal count of all messages waiting to be sent over the Gateway Network.1x1Gauge
proxyMsgsPerSecThe number of messages per second that are forwarded through this Gateway. Only applies when this Gateway is configured as a proxy Gateway.2x2Meter
servicesincomingServiceCalls
  • Get Service State - Number of calls per second. This metric is queried by other Gateways to see if a specific service is available.
    • Size: 2x2
    • Type: Meter
  • Enumerate Services - Measures the rate and distribution of enumerate service calls.
    • Size: 2x2
    • Type: Meter
------

historian​

The following metrics will be available for any of Ignition's historian systems once a historian has been created.

{historian}.storage​

MetricDescriptionSizeType
storageThe number of storage calls happening per unit of time. This is different than the throughput as each call can contain batches of records, as opposed to individual records.4x2Timer
throughput.projectedThe projected or theoretical number of records stored to the historian per unit of time. This metric is based off what is currently happening in the Gateway.2x2Meter
throughput.actual
  • failure - The number of records that failed to store to the historian per unit of time.
    • Size: 2x2
    • Type: Meter
  • success - The number of records that stored successfully to the historian per unit of time.
    • Size: 2x2
    • Type: Meter
------

{historian}.query​

MetricDescriptionSizeType
queryThe number of query calls happening per unit of time. This is different than the throughput as each call can contain batches of records, as opposed to individual records.4x2Timer
throughput.projectedThe projected or theoretical number of records queried from the historian per unit of time. This metric is based off what is currently happening in the Gateway.2x2Meter
throughput.actualThe actual number of records queried from the historian per unit of time.2x2Meter

ignition​

MetricDescriptionSizeType
designer.requestsMeasures the rate and distribution of designer requests.4x2Timer
performance
  • committed-non-heap - Committed non-heap memory.
    • Size: 1x1
    • Type: Gauge
  • cpu - CPU usage as percent utilized.
    • Size: 1x1
    • Type: Gauge
  • disk - Disk used out of total space available.
    • Size: 1x1
    • Type: X/Y
  • heap - Heap memory used out of total memory available.
    • Size: 1x1
    • Type: X/Y
  • heap-max - Maximum heap memory.
    • Size: 1x1
    • Type: Gauge
  • heap-used - Current heap memory used.
    • Size: 1x1
    • Type: Gauge
  • non-heap - Current non-heap memory used.
    • Size: 1x1
    • Type: Gauge
  • non-heap-pct - Non-heap memory used out of total non-heap memory available.
    • Size: 1x1
    • Type: X/Y
------
uptimeTotal uptime.1x1Gauge

perspective​

MetricDescriptionSizeType
bindingsPerspective binding count.1x1Gauge
componentsPerspective components count.1x1Gauge
expressionsMeasures the rate and distribution of expressions.4x2Timer
fetchesMeasures the rate and distribution of fetches.4x2Timer
pagesPerspective pages count.1x1Gauge
property-changesMeasures the rate of property changes.2x2Meter
scriptsMeasures the rate and distribution of script executions4x2Timer
session-{sessionName}Each connected Perspective session will have the following associated metrics:
  • expressions - Measures the rate and distribution of expressions.
    • Size: 4x2
    • Type: Timer
  • fetches - Measures the rate and distribution of fetches.
    • Size: 4x2
    • Type: Timer
  • messages-received - Count of messages received.
    • Size: 2x2
    • Type: Counter
  • messages-sent - Count of messages sent.
    • Size: 2x2
    • Type: Counter
  • property-changes - Measures the rate of property changes.
    • Size: 2x2
    • Type: Meter
  • queue-length - Current length of queue.
    • Size: 1x1
    • Type: Gauge
  • queue-tasks - Measures the rate and distribution of queued tasks.
    • Size: 4x2
    • Type: Timer
  • reconnects - Count of reconnects.
    • Size: 2x2
    • Type: Counter
  • scripts - Measures the rate and distribution of script executions.
    • Size: 4x2
    • Type: Timer
  • uptime - Total uptime for the Perspective session.
    • Size: 1x1
    • Type: Gauge
------
sessionsCount of active sessions.1x1Gauge
viewsCount of views.1x1Gauge

projects​

MetricDescriptionSizeType
(projectName).resourcesCount of resources per project.1x1Gauge
countCount of projects.1x1Gauge
disk-scanMeasures the frequency and duration of projects directory synchronization.4x2Timer
notification-handlersThe number of notifications from updates for the project system.4x2Timer
notification-queueThe current number of queued changes to the project system.1x1Gauge
savesMeasures the rate and distribution of project saves.4x2Timer

redundancy​

Each of the following redundancy sections are within the redundancy.runtime-updates tree.

config​

MetricDescriptionSizeType
pendingUpdatesThe number of master Gateway configuration changes that is yet to be synced to the backup Gateway. This value is typically zero, unless the sync process is falling behind, or the backup Gateway is no longer connected.1x1Gauge
dispatchedUpdatesPerSecThe rate at which master Gateway configuration changes are synced to the backup Gateway.2x2Meter
queuedUpdatesPerSecThe rate at which master Gateway configuration changes are queued and intended to be dispatched to the backup Gateway.2x2Meter

alarming​

MetricDescriptionSizeType
alarmShelf
  • pendingUpdates: The number of shelved alarms that is yet to be synced to the backup Gateway. This value is typically zero, unless the sync process is falling behind, or the backup Gateway is no longer connected.
    • Size: 1x1
    • Type: Gauge
  • queuedUpdatesPerSec: The rate at which shelved alarms are queued and intended to be dispatched to the backup Gateway.
    • Size: 2x2
    • Type: Meter
  • dispatchedUpdatesPerSec: The rate at which shelved alarms are synced to the backup Gateway.
    • Size: 2x2
    • Type: Meter
------
alarmEvents
  • pendingUpdates: The number of currently active alarms that is yet to be synced to the backup Gateway. This value is typically zero, unless the sync process is falling behind, or the backup Gateway is no longer connected.
    • Size: 1x1
    • Type: Gauge
  • queuedUpdatesPerSec: The rate at which currently active alarms are queued and intended to be dispatched to the backup Gateway.
    • Size: 2x2
    • Type: Meter
  • dispatchedUpdatesPerSec: The rate at which currently active alarms are synced to the backup Gateway.
    • Size: 2x2
    • Type: Meter
------

client-auth-token-runtime-provider​

Authentication tokens are used by both Vision Clients using an Identity Provider and Perspective Offline Mode.

MetricDescriptionSizeType
pendingUpdatesThe number of client authentication tokens that is yet to be synced to the backup Gateway. This value is typically zero, unless the sync process is falling behind, or the backup Gateway is no longer connected.1x1Gauge
dispatchedUpdatesPerSecThe rate at which client authentication tokens are synced to the backup Gateway.2x2Meter
queuedUpdatesPerSecThe rate at which client authentication tokens are queued and intended to be dispatched to the backup Gateway.2x2Meter

alarm-notification​

MetricDescriptionSizeType
pendingUpdatesThe number of alarm notification pipelines and their states that is yet to be synced to the backup Gateway. This value is typically zero, unless the sync process is falling behind, or the backup Gateway is no longer connected.1x1Gauge
dispatchedUpdatesPerSecThe rate at which alarm notification pipelines and their states are synced to the backup Gateway.2x2Meter
queuedUpdatesPerSecThe rate at which alarm notification pipelines and their states are queued and intended to be dispatched to the backup Gateway.2x2Meter

projects​

MetricDescriptionSizeType
pendingUpdatesThe number of project updates and project configuration changes that is yet to be synced to the backup Gateway. This value is typically zero, unless the sync process is falling behind, or the backup Gateway is no longer connected.1x1Gauge
dispatchedUpdatesPerSecThe rate at which project updates and project configuration changes are synced to the backup Gateway.2x2Meter
queuedUpdatesPerSecThe rate at which project updates and project configuration changes are queued and intended to be dispatched to the backup Gateway.2x2Meter

sfc​

MetricDescriptionSizeType
pendingUpdatesThe number of sequential function charts and their states that is yet to be synced to the backup Gateway. This value is typically zero, unless the sync process is falling behind, or the backup Gateway is no longer connected.1x1Gauge
dispatchedUpdatesPerSecThe rate at which sequential function charts and their states are synced to the backup Gateway.2x2Meter
queuedUpdatesPerSecThe rate at which sequential function charts and their states are queued and intended to be dispatched to the backup Gateway.2x2Meter

schedules​

MetricDescriptionSizeType
Always.activeA boolean represented by 0 or 1 for if the Always alarm schedule is active. A value of 1 means the schedule is active.1x1Gauge
Example.activeA boolean represented by 0 or 1 for if the Example alarm schedule is active. A value of 1 means the schedule is active.1x1Gauge

scripts​

MetricDescriptionSizeType
gateway
  • compile - Measures the rate and distribution of script compiles.
    • Size: 4x2
    • Type: Timer
  • execute - Measures the rate and distribution of script executions.
    • Size: 4x2
    • Type: Timer
------
project-(projectName)
  • compile - Measures the rate and distribution of script compiles.
    • Size: 4x2
    • Type: Timer
  • execute - Measures the rate and distribution of script executions.
    • Size: 4x2
    • Type: Timer
------

storeforward​

MetricDescriptionSizeType
quarantinedThe current number of engines containing quarantined data.1x1Gauge

Each configured database connection will have its own set of metrics from the table below.

MetricDescriptionSizeType
dropped-throughputThe rate at which datapoints have been dropped by the specified engine.2x2Meter
forward-throughputThe rate at which datapoints are forwarded to the targeted database or Gateway.2x2Meter
store-throughputThe rate at which datapoints are stored to the engine.2x2Meter

storeforward Data Type Metrics​

There will be additional metrics for each connection if the database is being used to store historical data, depending on the type of data being stored. The metrics in the table below are used when storing historical data, regardless of what type of data is being stored. The following types of historical data can be stored:

  • Alarming
  • Auditing
  • Scripting
  • SECS/GEM
  • Tag history
  • Transaction Group
MetricDescriptionSizeType
forward-throughputThe rate at which datapoints are forwarded to the historian.2x2Meter
memory buffer.data-countThe current number of datapoints stored within the memory buffer.1x1Gauge
memory buffer.store-throughputThe rate at which datapoints are stored to the memory buffer.2x2Meter
memory buffer.take-throughputThe rate at which datapoints are forwarded from the memory buffer.2x2Meter
local cache.data-countThe current number of datapoints stored within the local disk cache.1x1Gauge
local cache.store-throughputThe rate at which datapoints are stored to the local disk cache.2x2Meter
local cache.take-throughputThe rate at which datapoints are forwarded from the local disk cache.2x2Meter
{data type}sink.store-throughputThe rate at which datapoints are stored to the historian engine.2x2Meter
note

The {data type} in the table above refers to the type of data being stored. Reference the data types from the bulleted list above.

tags​

There are tag metrics for System Tags, the default Tag Provider, and user-created Tag Providers.

batch.storage.valuePushTime​

The time it takes for Memory tag values to persist to the SQLite DB when the Value Persistence property is set to Database.

  • Size: 4x2
  • Type: Gauge

default.storage​

MetricDescriptionSizeType
deleteThe number of tag delete operations performed in the default Tag Provider.2x2Meter
moveThe time it takes to complete a tag move operation in the default Tag Provider.4x2Timer
configSaveThe number of tag configuration operations that have been performed in the default Tag Provider.2x2Meter
batch
  • configGenerateTime - The time it takes for the resource system to push the generated JSON to the file system.
    • Size: 4x2
    • Type: Timer
  • configPushTime - The time it takes for the resource system to generate the JSON for a configuration change in memory.
    • Size: 4x2
    • Type: Timer
------

System.storage​

MetricDescriptionSizeType
deleteThe number of tag delete operations performed in the System Tag Provider.2x2Meter
moveThe time it takes to complete a tag move operation in the System Tag Provider.4x2Timer
configSaveThe number of tag configuration operations that have been performed in the System Tag Provider.2x2Meter
batch
  • configGenerateTime - The time it takes for the resource system to push the generated JSON to the file system.
    • Size: 4x2
    • Type: Timer
  • configPushTime - The time it takes for the resource system to generate the JSON for a configuration change in memory.
    • Size: 4x2
    • Type: Timer
------

vision.requests​

Measures the rate and distribution of Vision requests.

Example - Adding Metrics to a Dashboard​

  1. Click Add Metric.

  2. Select a metric from the list and click Add.

  3. Hover over the grid to position the metric.

    Adding Metrics to a Dashboard Step 3

  4. Click to snap the metric to the dashboard. To reposition your metric, you can drag and drop it anywhere else on the grid.

    Adding Metrics to a Dashboard Step 4

  5. Click Save Dashboard on the top right when all desired metrics have been placed. If you are saving a new dashboard, you will be prompted to enter a name.