First, find an AppMap associated with one of the core functions of the application that you are interested in reviewing.
Then use the AppLand AppMap view to see
how the code actually executes and follow along with the code.
In the case of Discourse, we know that posts
represent a key web service because Discourse is an app for online discussions.
We can assume that requests to GET /posts/:id
will give us a representative flow of retrieving a post, and illustrate all the
checks, calls, and business logic associated with this type of activity. So, starting at the Application profile view for Discourse,
filter the Component diagram to show PostsController #create
, then choose an AppMap such as
"PostsController #show succeeds".
This is the AppLand visualization of that AppMap:
The AppMap view consists of a sequence-style diagram illustrating key function calls and I/O performed during this test case.
The bottom of the view provides a timeline display of the code execution path.
You can use the arrow buttons to navigate back and forth along the control flow. In stepping through this AppMap you can see, in detail, the
series of checks that a post request is subjected to.
The flow view and timeline will navigate synchronously through the execution flow, so you can see where you are in either trace.
Here we see one point where a post request performs a permission check, to ensure that the user is allowed to see the post.
Here we see, in detail, how user authentication tokens are looked up to login a user for the current request. We can report on this key
functionality for the project due to the fact that it is used for a core component of the security of the system.
To quickly open a GitHub page with source code for a selected call, right-click on the call and select the View source option.