# io.Connect Legacy Metrics vs. io.Insights (OpenTelemetry) comparison

**URL:** <https://community.interop.io/t/io-connect-legacy-metrics-vs-io-insights-opentelemetry-comparison/624>\
**Category:** io.Insights\
**Tags:** FAQs, OTEL, iocd-10, iocd-9, metrics\
**Created:** [July 20, 2026, 7:27am UTC](https://community.interop.io/t/io-connect-legacy-metrics-vs-io-insights-opentelemetry-comparison/624 "2026-07-20T07:27:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![toni.petrov](https://yyz2.discourse-cdn.com/flex028/user_avatar/community.interop.io/toni.petrov/32/17_2.png) [@toni.petrov](https://community.interop.io/u/toni.petrov)\
**Post date:** [July 20, 2026, 7:27am UTC](https://community.interop.io/t/io-connect-legacy-metrics-vs-io-insights-opentelemetry-comparison/624/1 "2026-07-20T07:27:30Z")

</div>

When setting up telemetry in io.Connect Desktop, you may come across two different configuration styles:

- A `"metrics"` configuration that lists `publishers`, a `rest` endpoint, and `filters` (whitelist/blacklist).

- An `"otel"` configuration with an `enabled` flag and `metrics`, `traces`, and `logs` sections.

This article explains the difference and which one to use.

* * *

## What is the difference between the “metrics” configuration and the “otel” configuration?

- The `"metrics"` configuration belongs to the **legacy** observability product. Apps publish to it through the legacy Metrics API (the `io.metrics` object).

- The `"otel"` configuration belongs to **io.Insights** , the current OpenTelemetry-based solution.

> io.Insights is a light-weight and agile solution for publishing signals (metrics, traces, and logs) based on the widely adopted OpenTelemetry standard. It is implemented as a configurable built-in feature of io.Connect Desktop and io.Connect Browser.
> 
> See: [io.Insights Documentation - General Overview](https://docs.interop.io/insights/general-overview/index.html)

## Which one should I use?

Use **io.Insights** (the OpenTelemetry-based product). It is the recommended approach for new telemetry setups.

The legacy Metrics API (accessed through the `io.metrics` object) is still available and can still be used, but it is considered a legacy product. If you are currently using it, migrating to io.Insights is recommended.

See: [Legacy io.Insights - Overview](https://docs.interop.io/insights/legacy-insights/overview/index.html)

## Are there differences between the two in terms of metrics reporting?

The main difference is that io.Insights is an OpenTelemetry-based, lightweight and modern solution that can be enabled with minumum configuration. Its metrics are published as standard OpenTelemetry metrics payloads, so they can be consumed by OpenTelemetry-compatible tooling like Grafana, Prometheus, etc. io.Insights succeeds the legacy Metrics observability product.

See: [Signals - Metrics](https://docs.interop.io/insights/signals/metrics/index.html)

## Does the configuration differ between Windows and macOS?

No. The io.Insights configuration is identical on Windows and macOS.

io.Insights is enabled and configured through the `"otel"` top-level key in the `system.json` system configuration file. The same configuration applies on both Windows and macOS.

In **io.Connect Desktop 10.1** , io.Insights added publishing of OpenTelemetry traces and logs and support for publishing custom metrics.

## How do I enable io.Insights?

Publishing of telemetry data is off by default. You enable and configure io.Insights through the `"otel"` top-level key in the `system.json` system configuration file:

- Set the top-level `enabled` flag to turn on telemetry publishing.

- Enable each signal type you want to publish (for example, `metrics`, `traces`, and `logs`) with its own `enabled` flag.

All of these flags default to `false`. For the exact property semantics, defaults, and configuration examples, see the official configuration reference: [io.Insights Configuration - io.Connect Desktop](https://docs.interop.io/insights/configuration/io-connect-desktop/index.html)
