Forum Discussion

adrian_hawryluk's avatar
adrian_hawryluk
Contributor
11 years ago

Generating a UML sequence diagram

Is it possible to generate a sequence diagram from the profiling results of AQtime?



This would be VERY convieniant.



Thanks,





A

9 Replies

  • AlexKaras's avatar
    AlexKaras
    Champion Level 3
    Hi Adrian,



    No, this is not possible. Profiling results provide you with the information about actual execution flow that happened during the given profiling session. This flow can be examined via the Call Tree results panel.



    There is a special Sequence Diagram Link profiler in AQtime that creates a UML-style diagram in either Visio or Word. This diagram shows all possible execution flows starting from the specified point and not all possible flow may be executed during runtime.

    I would recommend to read AQtime documentation for this profiler to be aware about its specifics / limitations.
  • That is nice but would be nicer if data could be collected realtime, also allowing resetting of the collected data so that unnecessary data could be dumped.



    Is there any possiblilty for this to become a real feature in AQtime?





    A
  • AlexKaras's avatar
    AlexKaras
    Champion Level 3
    You can export the contents of the Call Graph panel as a picture to get the structure of the calls for the given profiling run. Been exported as an UML this will present only a part of all possible calls and another profiling run may well end with a different diagram.

    Any good reason for the functionality you are asking for? (I am wondering, because SmartBear's Support may ask you the same question in order to have a valid user story that can be used as a reason for registering a new feature request in their database.)
  • I don't mean just who called who and how long, but also when and in what order.



    The reason for the functionality is to do a post mortem analysis of the code path between objects and threads.  This includes crashes or just for records so that reexecution of the code isn't necessary.  This is especially useful in old complex legacy code where documentation is scarce, but I'm sure would still be useful in non legacy applications too where interactions of an unexpected nature occur frequently or (even better) rarely and are difficult to track statically.



    Thanks,





    A
  • AlexKaras's avatar
    AlexKaras
    Champion Level 3
    > [...] a post mortem analysis of the code path between objects and threads.

    I'm probably missing something, but for me it still looks like that Call Graph results panel should work for you (especially if you increase the number of displayed parents and children in the Options dialog). Have you tried it? What functionality that you need does it miss?
  • Say you have 3 functions, x, y and z and you needed to know what order they were called in from function w. How would you be able to determine that from the function call graph results?

    It is that functionality that I'm looking for. From what I've seen, the call graph results only indicated how long it took to execute not when it was executed. (As a further complication , it only shows an average, and not how long each call took, but that's not relevant to the functionality in currently looking for, just an observation.)



    Do you see what I'm getting at Alex?

    A
  • Oh great, seems that mobile Chrome has the same problem as desktop IE on this forum where the forum doesn't recognize the CRs passed, making the post one long line.

    Who is to be contacted for that to be fixed? Super annoying! :-(

    A
  • TanyaYatskovska's avatar
    TanyaYatskovska
    SmartBear Alumni (Retired)

    Hi Adrian,


     


    mobile Chrome has the same problem as desktop IE on this forum where the forum doesn't recognize the CRs passed


    Thanks for reporting this. I've transferred the issue to our Web Team.