Debugging with Stream

When implementing analytics, it can be helpful to see exactly what events your application sends to your analytics destinations. The Itly SDK helps you do just that! When running in development, the SDK sends copies of all tracked events to your Iteratively account so you can inspect them and make sure everything works as expected.

The Stream page is like a debugger for your analytics. It helps build confidence in your instrumentation during development by letting you see the event's name and type, the version that was sent, which app sent it, and when. If an event fails validation against your tracking plan, the Stream page will also explain why.

Debugging in Production

The Itly SDK can help you debug and inspect events sent in production as well. Contact us to enable this feature in your account.

Stream is on by default when the Itly SDK loads with environment set to development.

This guide assumes you have:

Coming Soon

🚨 Sources with .NET — C# and Ruby runtimes do not yet support Stream.

Viewing Events#

When you log into Iteratively and navigate to the Stream page, you'll see the 100 most recent events your applications sent over the last 3 days.

Event List

The Stream page will continuously append newly received events to the top of the list, up to 1000 events in total. Beyond that, the oldest events will be automatically truncated from the list.

Finding Events#

There are several tools available to help you find certain events of interest should the event list become difficult to navigate.

Filter by Environment#

The Development environment is selected by default. If you have Stream enabled in Production (contact us), you can switch to it here.

Filter by Source#

All sources is selected by default. To only show events sent by a specific source or sources, use the dropdown to select them.

Pausing and Resuming the Stream#

New events will be appended to the top of the event list automatically as they are received. Should the event list become difficult to navigate based on the number of incoming events, try pausing the Stream. This will allow you to coordinate your debugging efforts and resume the Stream once you're ready for a fresh set of events.

Searching for Events#

Only events with matching names will appear in the list.

Inspecting Events#

Once you've zero'd in on an interesting event, the Stream page displays some additional detail about it to facilitate debugging.

Status#

Events with a green checkmark icon passed validation against your tracking plan. This means their structure and contents match the schema (rules) you've defined for them.

Events with a red X icon did not. For example, if a property called ticket_lead_clicked is a Boolean property and the source sends an event with a ticket_lead_clicked property set to something other than true or false, the event will fail validation. You can examine the details of the error by expanding the event in the list.

Failed Validation

Expanding Details of an Event#

When you expand an event in the list, you'll be able to see the exact properties included in its payload.

Event Properties

The properties displayed on the Stream page are scoped to the event created by the Itly SDK. Any additional properties added to the event by your analytics destination's SDK (such as properties automatically added by Amplitude or Mixpanel) are not included.

Enabling & Disabling Stream#

The Iteratively Stream is enabled by default in development environments, and disabled by default in production. Every Iteratively SDK's load() method exposes an API to override these defaults and to further customize the SDK's Stream settings.

For example, in TypeScript/JavaScript SDKs, use the destinations option to configure settings for the Iteratively destination (the Iteratively destination powers the Stream feature):

itly.load({
destinations: {
iteratively: {
disabled: true
}
}
});