Event Debugger

Overview

The Event Debugger is a CLI-based feature that offers full transparency into data as it is collected, processed and forwarded to downstream destinations. The data shown in the Debugger represents live data and may therefore contain sensitive user information such as email address, names, or other data that you are collecting with MetaRouter.

Key Benefits

  • Troubleshoot issues regarding how specific events have already been transformed within the platform.
  • Determine whether events are being successfully sent to vendors.

Prerequisites

  • Install the MetaRouter CLI.
  • Ensure that events are being processed by MetaRouter. If events are not being sent successfully to MetaRouter, then no events will show in the Debugger.

Using the Event Debugger

In order to use the Event Debugger, first follow the CLI login steps [link], which also covers basic CLI usage. Once you are successfully logged in, continue on.

Get Events Commands

Run the control get events command within the CLI. This will activate the Event Debugger and show the last 10 events that entered the platform. You can also run the following commands to filter for specific events, which will return the last 10 events that meet the specified criteria by default. You may combine these conditions to find events that meet specific criteria.

  • To look for events sent to a particular vendor, type control get events --integration [integration name]
  • To look for events that have a specific name, type control get events --event-name [event name]
  • To look for an event that has a particular Event ID (or Message ID), type control get events --event-id [event id]
  • To look for events that contain a particular writekey, type control get events --writekey [writekey]
  • To look for events that were filtered out due to a pipeline filter, type control get events --reason PIPELINE_LUA_FILTER
  • To look for events that were successfully delivered, type control get events --delivered
  • To look for events that produced an error when it was forwarded to an integration, type control get events --error
  • To look for events that that were filtered out utilizing the filter functionality within playbooks, type control get events --filtered
  • To maximize the number of events that are made available in the Debugger, type control get events --limit [desired number of events] . You can request up to 1000 events, although the Debugger may fail depending on the size of event payloads.

Forcing Events into the Event Debugger

Oftentimes, you may want to inspect a specific event or event type. There is no way to do this with events that other users produce on your website, but you can force events that you produce on your browser to show in the Event Debugger. To do this:

  1. Navigate to the domain that you’d like to force events into MetaRouter. Confirm that your Analytics.js file loaded successfully.
  2. Open your Developer Tools
  3. Navigate to the Console tab.
  4. Fire the Analytics.tracing() function with a flag of true. It should look like this: Analytics.tracing(true).
  5. Fire the desired event.
  6. To check if Event Tracing is activated, navigate to the Network tab and find the event you fired. Look at the header of the event and find the trace:true header. If this is present, then Event Tracing is active.

Now, you should be able to search for events with the commands above to find the event you fired.

Navigating the Event Debugger

When you run one of the control get events commands, you will see a list of additional commands that will help you navigate within the Event Debugger:

The d command is particularly useful, which allows you to download events as a CSV file. Event data can be used to debug collection and transformation issues, and provide real event data for testing playbooks with Forge.

❗️

Downloading events will download all contents, including PII and other sensitive data.

Check with your organization’s policy regarding sensitive data retention prior to using the Event Debugger.

Event Metadata

This includes top-level data about an event including the writekey, timestamp, Event ID, Integration, and event name.

Data Display

Input

This section provides information about the event payload that entered MetaRouter. The data contained here will be transformed according to the Playbook settings that are contained within the Pipeline that will handle the event.

Output

The Output section provides the input event with transformations, mappings, enrichments and other configurations applied. This is the information that will be sent to the vendor.

Request

This is the exact API request MetaRouter makes to a vendor including the header of the request as well as the body, which should resemble the output event.

Response

The Response section includes the information returned back from the vendor that indicates whether the event was successfully accepted by the vendor.