Debug Inspector

The debug inspector allows you to inspect your data records and transformations made to your data throughout the event stream.

Who can use this feature?

Users with this profile:

  • Data Engineer

Not sure if you have this feature or capability? Reach out to your administrator.

The debug inspector is an important step in the data troubleshooting process. Use the debug inspector if you see unexpected data in your solution. Information in the debug inspector relates to at least one subject attribute, such as Employee ID or Organization Hierarchy ID.

Note: To use the debug inspector, the job that generated unexpected data must have been run with Generate debugging info enabled. For more information, see Schedule a Job.

The debug inspector answers many of your initial questions to accelerate data debugging, including:

  • Was data from a particular file ever loaded? This indicates whether the data that you're troubleshooting was correct during a previous data load.
  • At what stage in the loading process did a particular value change? Information about the stage can provide more insight about why the value changed, such as by a business rule.
  • When did a value change and is that change valid? You can compare the values that were extracted against your own file to determine the validity of a change.
  • Why is this person showing as "Unknown" in a group by? You can investigate the data for individual subjects to understand why you’re seeing an unexpected value in visualizations.
  • How did these system hire events or system termination events get here? You can look further into any system events that are unfamiliar to you.
  • Is this business rule doing what I expect it to do? The debug inspector displays each stage of the event stream which allows you to validate that your business rules are working as expected.

Event stream stages

The event stream has two event streams—main and auxiliary—each of which are made up of stages.

  • The main event stream finds values throughout the entire process of loading and transforming data in your solution. A majority of your troubleshooting questions will be answered by the main event stream.
  • The auxiliary event stream finds values from lookup mappings, and in some cases you will need to switch back to the main event stream to find additional information.

Tip: Always check the Normalizer stage first! It contains a lot of important information and may provide an answer to your question quickly.

Main event stream

Stage Description
Normalizer The data most closely resembles what is present in the original data transfer. Only extraction rules and override behavior are applied at this stage. You can correct errors in the data in this stage. For more information, see Correct Records Using the Debug Inspector.

If your data is temporal, profile conception events and profile termination events are generated.

Corrections This stage behaves like the Normalizer stage. This is the last stage before any special logic is applied. If your solution doesn’t contain correction mappings, nothing happens during this stage.

The Corrections stage is a good place to look at relatively unchanged extraction data that is entering into business rules.

Business Rules Each of the specified business rules are applied sequentially in this stage. After each rule, an ambiguity check is performed and any new ambiguity is resolved.

You can step through each business rule in turn to see what is modified. Search for a business rule by using its object name, not display name. Any lookup mappings in the list display one stage per property.

If you know something has changed, you can:

  1. In a project, navigate to Data > Jobs > Schedule.
  2. Click Schedule job.
  3. Under Advanced > Generate debugging info, select For stages, records, and rules.
  4. Click Schedule.

    Result: A data version is generated that includes a list of all business rules, system rules, and multi-subject rules. This causes a very long run time; For stages, records, and rules is only used for debugging.

System Rules System rules cannot be changed manually; however, you can change the settings of a system rule to modify its behavior. If events are inexplicably moving around or profiles are starting or ending, look at the system rules stage. In this stage, you can investigate:
  • Unanticipated changes to your system hire and termination counts. This stage shows profiles that are unexpectedly opened or closed.
  • The cause of the NonActive property being set and unset. System rules change this property to be consistent with conceptions and terminations. For example, your data may not have the NonActive property for Employee mapped, but the system rules will change the NonActive Employee value to correctly maintain the headcount value.
  • Profile changes for conception and termination events. System rules may change a profile’s value in Valid Range column to the termination event value if a profile change event occurred, but the valid range was not updated.
Multi-Subject Rules This is the final stage in the data loading process. The final result should match the values seen in your solution. If you find values here don't match what you see in your solution, you can investigate other rooms in the studio experience. For more information, see Data Validation.

Several default validation rules are applied, even if no multi-subject rules are created. If your tenant doesn't have any multi-subject rules defined, you can still view multi-subject validation rules in this stage.

If you know something has changed, you can:

  1. In a project, navigate to Data > Jobs > Schedule.
  2. Click Schedule job.
  3. Under Advanced > Generate debugging info, select For stages, records, and rules.
  4. Click Schedule.

    Result: A data version is generated that includes a list of all business rules, system rules, and multi-subject rules. This causes a very long run time; For stages, records, and rules is only used for debugging.

Auxiliary event stream

Stream name Description
The object name of a lookup mapping The auxiliary stream contains lookup mapping values.

Use the auxiliary event stream to check a value. If the value exists, the mapping key is correct, so the issue comes from something else, such as the business rule. For example, if you have a lookup mapping with a “null” value in the event stream, you may want to investigate the business rule, lookup, or lookup key.

Debug inspector columns

Column name Description
Event Type The type of event that occurred. Event types include:
  • Regular events are events that happen to a subject instance.
  • Profile change events indicate a change in an attribute.
  • Profile conceptions and profile terminations indicate when a record appears and disappears in a regular mapping.
  • Conceptions and terminations are special regular events indicating the start or end of a subject instance.
Data Source The source of the event. This is based on the type description or a target group of mappings. Sources are split between auxiliary and primary sources. Auxiliary sources affect the properties that are set in the source.
Valid Range System rules use the validity range to determine what the limits are for adjusting event dates based on conception and termination events during the period. This is set automatically for temporal mappings and is blank for transactional mappings.

The Valid Range column can be very important when looking for causes of system hires and terminations.

Last Modified By This indicates what last modified the event. It’s most useful in the Normalizer and Business Rules stages.

When an event is deleted, indicated by a red background, this column has not been updated by the rule that deleted it. It won’t show the object name of the deletion rule, but the latest rule ahead of the deletion rule that modified the property.