-
KX Dashboards – Non Intuitive Document Graph ; Cannot spot deadlock with viewstate connections
Hello KX Community,
Is it possible to spot a deadlock with a viewstate (or several viewstates) by observing the Document Graph of a Dashboard? Are there hidden connections not shown in the Document Graph?
————————–
I am currently working on a superbly complex Dashboard with several queries, viewstates, virtual queries and everything in between. I have connections between them which are not necessarily one-to-one or one-to-many and their type can vary based on other conditions or other viewstates.
As you can assume the document graph can get very complicated very quickly if there is a significant amount of connections.
Reason/Background for Problem:
My problem at the moment, is that I have some sort of deadlock somewhere in my viewstate connections. A viewstate is populated from a dropdown selection, but can also be populated from a Data Grid selection. In order to generate a table from which a user can select an entry and thus populate that viewstate from the Data Grid, that same viewstate needs to not be empty (which will never be as its initially populated by a forced selected value from that dropdown).
Speculated Solution:
The only way of fixing it I thought would be to observe the document graph, see exactly what goes in/out of the data sources responsible for altering that viewstate and what goes in/out of that viewstate itself so I can backtrack it from there.
Document Graph:
As you can see in the screenshot attached, there is absolutely no way of distinguishing between the different connections in a clear way, simply because of how many things there are.
Problem:
- Is there a way to split all of the connections such that they are not aligned and they can be clearly seen? Such that there are no overlayed elements (in both hierarchical and non-hierarchical view).
- Is there a search functionality which would highlight the element (viewstate/query) I am looking for? It can be a very non-time efficient zooming in/out and dragging elements around looking for the element(s) I want.
- Assume there is a solution for #1 and #2, is there a way of seeing an exhaustive list of all types of connections for the element I am observing? So far I can only see 3 things, what goes in the element, what comes out of the element and the number of mappings it has. So for example my viewstate mentioned above in my example will only show the Data Source mapping to it, but what if its a selection from a dropdown? or from a data grid’s SELECTION & ROUTING? Those are abstracted/hidden from the developer. The only solution to this I can see is going to every single configurable widget in the dashboard and see if there is a mapping from it (thru selection and routing or any other relevant section of the right-hand side menu for that widget) to that viewstate in order to debug – which would take several hours, if not days to do…
I hope this is not too much to read through. I would appreciate it if someone could shine some light on this as I cannot see any other way to do this right now.
Many thanks,
SK
Log in to reply.