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:
- Navigate to the domain that you’d like to force events into MetaRouter. Confirm that your Analytics.js file loaded successfully.
- Open your Developer Tools
- Navigate to the Console tab.
- Fire the
Analytics.tracing()
function with a flag oftrue
. It should look like this:Analytics.tracing(true)
. - Fire the desired event.
- 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.
Updated 8 months ago