Observability Overview

Observability is a suite of diagnostic tools that give account administrators granular visibility into how data flows through the mParticle platform: from the sources where your data originates, through mParticle’s various internal systems, and finally to your connected third-party outputs.

Whether you want to monitor the ingestion of batches containing thousands of events or you need to track down a modification to a single user profile, Observability provides the ability to configure and browse detailed traces of all of your data flows so you can troubleshoot issues with confidence.

As an example, consider you have an ecommerce business and you use the mParticle SDK to ingest real-time website traffic into mParticle. Now imagine that you began to notice intermittent dips in traffic volume at certain times of day – you would want to identify the cause. Are the dips in traffic due to changes in user behavior, or are they just the result of a poorly configured filter or another processing anomaly?

By analyzing traces of your data as it flows through mParticle during the impacted timeframes, you can look for any errors or warnings triggered during processing that could explain a bottleneck or anomaly causing your traffic dips.

Observability can be used to help detect and troubleshoot a range of issues, including:

  • Delays in real-time forwarding between mParticle and one of your connected outputs
  • Unexpected discrepancies between the volume of data ingested into, or forwarded from, mParticle
  • Data not accepted by a forwarder
  • Data not being ingested by mParticle
  • A data plan violation that you may want to fix

Tracing

The foundation of Observability is tracing. As data flows through mParticle, it is ingested, processed, and routed to various services or forwarders in discrete steps.

A trace in mParticle’s Observability is a detailed record that connects all of these steps on through a single timeline. Think of a trace as a trip report for your data: it shows where it came from, where it went, and any stops it made along the way.

Tracing is provided by default for all data flowing in your development environment. For production data tracing, Observability lets you configure what data is traced through customizable Trace Configurations. When Observability is used in conjunction with tools like System Alerts and Live Stream, it can help you diagnose and troubleshoot issues with your data pipelines.

How does tracing work?

All data sent through your mParticle development environment is traced by default, and can be viewed on the Trace Activity page. If you want to trace production data, you can do so by creating a custom trace configuration to gain specific insights.

If a data flow has an active trace configuration, a call made to one of the supported mParticle services initiates a unique trace. Each trace is identified by a Trace ID, which you can use to find and view specific details about the data’s journey in the Observability tool.

Traces record information such as which input the data originated from, which outputs the data will be sent to after processing, any rules or filters applied to the data, any user MPID’s related to the trace, the types of events included in the data, error codes, and any data plans that will be used to process the data.

In addition to these details, the trace details page presents a graphic display of any of the following stages, known as “spans”, that your data happen to flow through:

  • Data ingest: the initial step of receiving data from one of the mParticle SDKs or a feed.
  • Processing: the stage in which event batches are received and routed to the next stage.
  • Transformations: the process of applying rules to your data. This stage is executed both when data is ingested into mParticle and when it is forwarded to an output.
  • Identity Resolution: the process of identifying or creating user profiles to attribute user data with.
  • Payload Delivery: the stage in which outbound data is collected and forwarded to one of your connected outputs.

What data can be traced?

By default, all data in your development environment is automatically traced. You don’t need to configure anything, and you can immediately begin reviewing dev data trace details from Live Stream or on the Observability page in the Oversight suite.

Tracing is also supported for production data, but you must first create a trace configuration that specifies which data you want traced.

Tracing is available for data processed by the following APIs:

  • Events API
  • IDSync API (Identity Resolution)

How long are traces available?

Traces for development and production data are accessible for up to 14 days.

How do I configure traces for my production data?

To learn how to view traces and configure traces for your production data, continue reading the Observability User Guide.

Was this page helpful?