Debugging topology synchronization


StackState allows automating synchronization of topology, as described in default synchronization guide. When customizing a synchronization the result might not be as expected: this page explains several tools for debugging. For more info on individual synchronization concepts, see synchronization concepts.

Why are components/elements I expect not in my topology?

If no components appear after making changes in a synchronization, or the data is not as expected, a good starting point is the synchronization main screen:

https://<my instance>/#/settings/synchronizations

Based on the information you see here, different actions can be taken:

  • If there are errors be sure to check the synchronization logs
  • If there are no errors:
    • Make sure you ‘restarted’ your synchronization in the synchronization screen and sent in new data, this is because StackState does not retroactively apply changes
    • Make sure the components/relations you want synchronized has its type mapped in the synchronization configuration (more on that here)
    • Make sure data is ending up in StackState. The StackState CLI contains a way to see what data ends up on the synchronization topic.

Checking the synchronization logs

StackState stores logs about synchronization in the folllowing places


This directory contains two log files for each synchronization.

  • One of the form exttopo.<DataSource Name>.log. This one contains information about identity extraction and the building of an external topology. This will show:
    • If a relation is connected to a non-existing component.
    • When the synchronization is slow it will discard messages
    • When the idextractor has errors
  • Another of the form sync.<Synchronization Name>.log. This contains information about mapping, templates and merging. This will show:
    • Errors in template/mapping functions
    • Component types which have no mapping