# Overview

Source: https://docs.interop.io/insights/signals/overview/index.html

## Overview

**io.Insights** collects and publishes metrics, traces, and logs as OpenTelemetry signals.

The **io.Connect Desktop** platform uses **io.Insights** as a configurable built-in feature to publish OpenTelemetry metrics, traces, and logs.

> ℹ️ *For details on configuring **io.Insights** in **io.Connect Desktop** and **io.Connect Browser**, see the [Configuration](https://docs.interop.io/insights/configuration/io-connect-desktop/index.md) section.*

> ℹ️ *For details on the available default platform metrics and the provided trace instrumentation for **io.Connect Desktop**, see the [Metrics](https://docs.interop.io/insights/signals/metrics/index.md) and the [Traces > io.Connect Desktop > Platform](https://docs.interop.io/insights/signals/traces/io-connect-desktop/index.md#platform) sections respectively.*

Your interop-enabled apps can use the Insights API to publish OpenTelemetry metrics, traces, and logs.

> ℹ️ *For details on using the Insights API in your interop-enabled apps, see the [Insights API](https://docs.interop.io/insights/insights-api/overview/index.md) section.*

The [`@interopio/desktop`](https://www.npmjs.com/package/@interopio/desktop) library is extensively instrumented to publish traces related to using its APIs.

> ℹ️ *For details on the provided trace instrumentation for the `@interopio/desktop` library, see the [Traces > io.Connect Desktop > @interopio/desktop](https://docs.interop.io/insights/signals/traces/io-connect-desktop/index.md#interopiodesktop) section.*

Each signal is published as a [standard OpenTelemetry payload](https://github.com/open-telemetry/opentelemetry-proto/tree/main/examples) that contains a `"resource"` object describing the entity that produced the data (e.g., the **io.Connect Desktop** platform) and the respective scope array (e.g., `"scopeMetrics"` for metrics, `"scopeTraces"` for traces, `"scopeLogs"` for logs) containing the actual data points.

## Common Resource Attributes

All signals published by the **io.Connect Desktop** platform (metrics, traces, logs) and the `@interopio/desktop` library (traces) share the same OpenTelemetry resource-level attributes:

| Attribute | Description |
|-----------|-------------|
| `"advancedMode"` | Whether the platform is running in advanced mode (Boolean). |
| `"env"` | The platform environment as configured in the platform settings. |
| `"host"` | Identifies the host platform. For **io.Connect Desktop**, this is always `"iocd"`. |
| `"machine"` | The hostname of the machine running the platform (e.g., `"PW052B0C"`). |
| `"osUser"` | The OS-level username of the user running the process, as obtained from the operating system. This is always the raw OS identity, unaffected by authentication or the `userId` setting. |
| `"platformVersion"` | The version of the platform (e.g., `"10.1.0"`). Configurable via `platformVersion`. |
| `"region"` | The platform region as configured in the platform settings. |
| `"service.instance.id"` | The instance ID of the platform (e.g., `"hSzwWyE3TkdE5r-ZqmTq"`). Configurable via `serviceId`. |
| `"service.name"` | The name of the platform (e.g., `"io.Connect Desktop"`). Configurable via `serviceName`. |
| `"service.version"` | The version of the platform (e.g., `"10.1.0"`). Configurable via `serviceVersion`. |
| `"tracingAppInstance"` | The instance ID of the platform process publishing the signal (same value as `"service.instance.id"` for the platform process). |
| `"tracingAppName"` | The name of the platform process publishing the signal (e.g., `"io.Connect Desktop"` for the platform, `"io.Connect Gateway"` for the gateway). |
| `"user"` | The io.Connect user identity - the authenticated or configured user, falling back to the OS username (e.g., `"user_42"`). Configurable via `userId`. |
| `"user.id"` | Same value as `"user"`. This is the OpenTelemetry-conventional key; `"user"` is a convenience alias. |

All additional resource-level attributes provided via the platform configuration or dynamically via the Insights API will also be included. If the resource-level attributes are configured to be merged with the data point attributes, all resource-level attributes will also be included in every data point.

The common data point attributes for metrics, traces, and logs are described in the respective sections.
