Default Metrics
Overview
io.Insights publishes a wide array of default metrics that provide information about the system, platform and app performance, as well as data related to loading Workspaces and Global Layouts. It's possible to enable or disable all default metrics, and also to provide custom settings for each default metric individually.
For details on configuring the default metrics in io.Connect Desktop and io.Connect Browser, see the Configuration section.
Default Metrics
⚠️ Note that some of the metrics aren't supported in io.Connect Browser due to limitations of modern browsers.
The following example demonstrates the basic structure of a metrics payload:
{
"resourceMetrics": [
{
"resource": {
"attributes": [
// Attributes describing the resource publishing the metrics -
// e.g., `"service.name"`, `"service.instance.id"`, and other standard OpenTelemetry attributes.
]
},
"scopeMetrics": [
{
"scope": {
"name": "io.Connect Desktop",
"version": ""
},
"metrics": [
// List of objects describing the published metrics.
]
}
]
}
]
}
The following is an example metrics object in the "metrics"
array. The example uses the "app_startup"
metric:
{
"metrics": [
{
"name": "app_startup",
"description": "Time to load an application",
"unit": "ms",
// Type of the metrics point - e.g., `"sum"`, `"gauge"`, `"histogram"`.
"histogram": {
"aggregationTemporality": 2,
// Metric data points.
"dataPoints": [
{
// Metrics attributes.
"attributes": [
{
"key": "api",
"value": {
"stringValue": "6.6.0"
}
},
{
"key": "user",
"value": {
"stringValue": "user_42"
}
},
{
"key": "platformVersion",
"value": {
"stringValue": "9.4.0.34"
}
},
{
"key": "application",
"value": {
"stringValue": "my-app"
}
}
],
"bucketCounts": [
0,
1,
0,
0,
0,
0
],
"explicitBounds": [
100,
1000,
10000,
30000,
60000
],
"count": 1,
"sum": 483,
"min": 483,
"max": 483,
"startTimeUnixNano": "1723555102580000000",
"timeUnixNano": "1723556246869000000"
}
]
}
}
]
}
All metrics payloads have the following attributes at the "resource"
level:
Attribute | Description |
---|---|
"service.instance.id" |
Instance ID of the platform (e.g., "7tNTxtrmRLp0Q3B8n36C" ). |
"service.name" |
Name of the platform (e.g., "io.Connect Desktop" ). |
All metrics data points have the following attributes:
Attribute | Description |
---|---|
"platformVersion" |
Version of the platform (e.g., "9.4.0.28" ). |
"user" |
Name of the user as registered in the platform (e.g., "user_42" ). |
The following sections describe all default metrics, the type of Instrument used for their implementation, and any additional attributes they may have in their data points.
System
The following table lists the available metrics related to system performance:
Metric | Instrument Type | Unit | Description |
---|---|---|---|
"system_cpu" |
Gauge |
percent | Current and average system CPU and average platform CPU. Not supported in io.Connect Browser. |
"system_memory" |
Gauge |
gigabytes | Free system memory, used system memory and used platform memory. Not supported in io.Connect Browser. |
The "system_cpu"
metric has the following additional attributes:
Attribute | Description |
---|---|
"type" |
Determines whether the metric value reflects the current system CPU usage, the average system CPU usage, or the average platform CPU usage. Possible values for this attribute are "current_system_cpu" , "average_system_cpu" and "average_platform_cpu" . |
The "system_memory"
metric has the following additional attributes:
Attribute | Description |
---|---|
"type" |
Determines whether the metric value reflects the free system memory, the used system memory, or the used platform memory. Possible values for this attribute are "free_system_memory" , "used_system_memory" and "used_platform_memory" . |
Platform
The following table lists the available metrics related to platform performance:
Metric | Instrument Type | Unit | Description |
---|---|---|---|
"platform_error" |
Counter |
number | Number of times a platform error was received during each platform session. |
"platform_startup" |
Gauge |
milliseconds | Time it took to load the platform. |
The "platform_startup"
metric has the following additional attributes:
Attribute | Description |
---|---|
"api" |
Version string of the @interopio/desktop or the @interopio/browser-platform library depending on whether the metric was published by the io.Connect Desktop or the io.Connect Browser platform. |
Apps
The following table lists the available metrics related to app performance:
Metric | Instrument Type | Unit | Description |
---|---|---|---|
"app_count" |
UpDownCounter |
number | Number of app instances during each platform session. |
"app_cpu " |
Gauge |
percent | Average percentage of CPU used for the last measured interval. Not supported in io.Connect Browser. |
"app_crash" |
Counter |
number | Number of times an app crashed during each platform session. This metric is published only for web apps. Not supported in io.Connect Browser. |
"app_duration" |
Histogram |
milliseconds | How long an app has been on focus during each platform session. |
"app_error" |
Counter |
number | Number of times an app error was received during each platform session. This metric reports only errors received in the handlers for the "error" and "unhandledrejection" events in web apps. |
"app_memory" |
Gauge |
kilobytes | Current app memory usage. Not supported in io.Connect Browser. |
"app_started" |
Counter |
number | Number of times an app has been started during each platform session. |
"app_startup" |
Histogram |
milliseconds | Time it took to load an app. An app is considered loaded when the io.Connect API in it has been initialized. |
"app_stopped" |
Counter |
number | Number of times an app has been stopped during each platform session. |
The "app_count"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_count" metric was published. |
The "app_cpu"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_cpu" metric was published. |
"applicationInstance" |
Unique ID of the app instance within the io.Connect framework. |
The "app_crash"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_crash" metric was published. |
"reason" |
Describes the reason for the app crash. |
The "app_duration"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_duration" metric was published. |
The "app_error"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_error" metric was published. |
The "app_memory"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_memory" metric was published. |
"applicationInstance" |
Unique ID of the app instance within the io.Connect framework. |
The "app_started"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_started" metric was published. |
The "app_startup"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_startup" metric was published. |
"api" |
Version string of the @interopio/desktop or the @interopio/browser library depending on whether the app is running within the io.Connect Desktop or the io.Connect Browser platform. |
The "app_stopped"
metric has the following additional attributes:
Attribute | Description |
---|---|
"application" |
Name of the app within the io.Connect framework for which the "app_stopped" metric was published. |
Workspaces
The following table lists the available metrics related to Workspaces performance:
Metric | Instrument Type | Unit | Description |
---|---|---|---|
"workspace_count" |
UpDownCounter |
number | Number of Workspaces running during each platform session. |
"workspace_startup" |
Histogram |
milliseconds | Time it took to load a Workspace. |
"workspace_stopped" |
Counter |
number | Number of times a Workspace has been stopped during each platform session. |
All metrics related to Workspaces have the following additional attributes:
Attribute | Description |
---|---|
"layout" |
Name of the Workspace for which the respective metric was published. |
Layouts
The following table lists the available metrics related to Global Layouts performance:
Metric | Instrument Type | Unit | Description |
---|---|---|---|
"layout_startup" |
Histogram |
milliseconds | Time it took to load a Global Layout. |
The "layout_startup"
metric has the following additional attributes:
Attribute | Description |
---|---|
"layout" |
Name of the Global Layout for which the "layout_startup" metric was published. |