> For the complete documentation index, see [llms.txt](https://docs.apica.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apica.io/flow/opentelemetry-ingest/opentelemetry-metrics.md).

# OpenTelemetry Metrics

{% hint style="info" %}
Apica Flow exclusively supports telemetry pipelines through the OTLP metrics endpoints. You can confidently utilize the OTLP-compatible endpoint hosted at **/v1/metrics**.
{% endhint %}

### Turning on OpenTelemetry compatible metrics in the telemetry pipeline

Navigate to **Settings -> Admin Settings -> Ingest Configuration** and enable the metrics ingest into the pipeline. You can also disable the metrics going to the Ascent Prometheus storage backed by InstaStore, but if you want to view metrics in the Apica Ascent UI, keep this option disabled. This setup allows you to send metrics to the telemetry pipeline and visualize them in the Ascent UI seamlessly.

* Enable the **`METRICS_TO_PIPELINE_EVENTS`** toggle to activate metrics flow in the telemetry pipeline. This feature is initially turned off
* `METRICS_STORE_DISABLE` - Enable this option to skip storing metrics in InstaStore. By default, it is off. Activate this when the telemetry pipeline forwards metrics to an external forwarder

<figure><img src="/files/Y4g41nn174mTKgFKuwsm" alt=""><figcaption><p>Apica Ascent Settings page for Ingest configuration</p></figcaption></figure>

<figure><img src="/files/wRmzywlsAgwsXIERFHdT" alt=""><figcaption><p>OpenTelemetry Metrics settings for telemetry pipeline</p></figcaption></figure>

***

## OpenTelemetry to Ascent Ingest Configuration

Below are examples of how to configure processors for OTLP exporters while exporting to Ascent. These help ensure that events are correctly tagged with the desired `namespace` and `app_name` attributes.\
\
This ensures that your metrics land up in your own respective `namespace` and `app_name`.

### Example: Inserting Namespace and App Name

```
processors:
  resource/info:
    attributes:
      - key: namespace
        value: mymetrics
        action: insert
      - key: app_name
        value: myapp
        action: insert
```

This processor configuration ensures that:

* If `namespace` and `app_name` attributes are not present in incoming events, they will be inserted with values `mymetrics` and `myapp`, respectively.
* If the attributes are already present, they will remain unchanged.
* If no such processor is configured, the metrics/logs/traces will fall back to `default_namespace` and `default_app` in Ascent.

***

### When to Use

Use this pattern when you want to ensure your forwarded OTLP data is always tagged correctly with the appropriate metadata, even if the source does not provide it explicitly.

This is especially useful for:

* Testing environments
* Ingesting raw OTLP data from third-party agents
* Normalizing inputs before routing

Make sure this processor is configured upstream (e.g., in OpenTelemetry Collector).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apica.io/flow/opentelemetry-ingest/opentelemetry-metrics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
