... MoSKito producers: their definition and working principle, the way they are displayed in WebUI and their configurations.
What is a journey?
Journeys allow recording user actions in the form of actual calls/steps that occur inside a web application.
Journeys show producers that a user triggers while using the monitored application, listed step-by-step as they are called, with exact timestamp (when the call occurred and how much time it took).
In simple words, a journey is a translation of any user action into a developer's or app admin's language.
When do I need journeys?
Let's suppose a certain user action (login, adding to shopping cart, etc.) is taking too much time. This mean a certain class/method/service takes extra time.
A recorded journey shows how much time is spent on every triggered producer.
This info is a roadmap for further improvement and optimisation.
Record journeys
Steps in recording journeys:
- Start recording.
- Perform user actions.
- Finish recording.
Instructions to start and finish recording journeys are right at the top of the Journeys tab.
Start recording
You may record journeys in 2 ways:
- via Journeys tab,
- with URL parameter (command prefix in browser's address line).
Start recording from Journeys tab:
- Go to Journeys tab.
- In the field near the Start button, enter the name for your new journey.
- Click Start .
After record start, the browser will automatically load the starting page of your web application in a new tab.
Start recording with URL parameter:
- Go to a page on your website, from which you'd like to start recording a user action (like the homepage).
- In the address bar of your browser, add the prefix below and press Enter on your keyboard:
?mskJourney=start&mskJourneyName=JOURNEY_NAME
JOURNEY_NAME = name for new journey.
Do not forget
to add "?" symbol before the prefix, as with any URL parameter.
For example:
http://yourwebsite.com/home.html?mskJourney=start&mskJourneyName=Journey1
This method is convenient because:
- you don't have to go to Journeys tab,
- you may start recording instantly, from any place on your website.
Recording in progress
After record start, act like a user: open a page, add items to your shopping cart, whatever.
Know status of journey recording:
- Go to Journeys tab.
- Refresh the page.
- Find your current journey in the list and check the Active column:
- true = journey is active = journey recording is in progress,
- false = journey is not active = recording is over.
Finish recording
Make sure you stop recording at the right moment, otherwise you will have unneeded steps.
Finish recording from Journeys tab:
- Go to Journeys tab.
- Refresh the page.
- Find your current journey and click the stop link (Active column).
Finish recording with URL parameter:
After last user step, in the address bar of your browser, add the prefix below and press Enter on your keyboard:
?mskJourney=stop&mskJourneyName=JOURNEY_NAME
JOURNEY_NAME = name for your current journey.
For example:
http://yourwebsite.com/order.html?mskJourney=stop&mskJourneyName=Journey1
View recorded journeys
See all recorded journeys:
Go to Journeys tab and see the list.
Journey structure
A journey consists of traced calls to system resources. Traced calls are made of steps.
Traced calls are URL parameters that call methods in the monitored application.
Steps are mostly Java methods, triggered by traced calls.
View traced calls and steps in a journey:
- Go to Journeys tab.
- See traced call: select a journey and click its name (Journey column).
- See steps: select a traced call and click its URL link (URL column)
Traced calls
A page with traced calls displays:
- name,
- overview:
- name,
- timestamp:
- started (C),
- last action (LA),
- number of calls (NC),
- active/non-active (A).
- call list:
- call's number,
- URL,
- timestamp,
- number of steps in the call.
Calls
A page with calls displays:
- name,
- overview:
- ID,
- timestamp,
- step list:
- step's number,
- call (called method),
- gross duration (time taken by this step + all of its sub-steps),
- net duration (time taken by this step only),
- aborted/non-aborted.
The Aborted column displays a symbol in case an exception occurs with a step. It instantly shows the point of failure.
Expand lines in step list:
- Click the Expand button (expands all steps), or
- click the small triangle near parent steps (expands steps under one parent step) .
Duplicate calls
Duplicate calls are the calls, repeated during a system call. Knowing them may explain unwanted time delays in your application.
Journeys detect duplicate calls and display them in a structured way: in groups, with important info:
- name of the duplicate call (Duplicate column),
- how many times the call has been initiated (repeated) (Calls column),
- position (line) of the duplicate call in a call (Positions column),
- time/duration of the duplicate call (Time / Duration column).
SCREENSHOT
See the duplicate call's position:
Click a position link in the duplicate call list (Positions column)
Highlight duplicate call:
Select the duplicate call's checkbox (column under Reset button).
Deselect the call's checkbox to remove highlighting.
Zero call duration
Quite often, the call duration (either gross or net) amounts to 0. That means it is too short and time units are too great for it.
To see the real call duration, shift the time units down (seconds -> milliseconds, milliseconds -> microseconds, microseconds -> nanoseconds)
For example:
The call duration is displayed as an integer, without decimals.
If the time units are set to milliseconds, all the calls having duration below 0 milliseconds (for example, 3, 33 or 333 microseconds) will (surely!) display the duration of 0 milliseconds.
In this case, we'll have to switch the producers' time units from milliseconds to microseconds.
Analyse
The Analyse page displays the producers, triggered by the journey calls (methods/functions).
In other words, the Analyse View is a reverse representation of all other views. Instead of showing calls/methods/functions, it lists the producers, through which all these calls passed while the journey was recorded.
Analyse journey:
- Go to Journeys tab.
- Select a journey and click its icon.
The producers, displayed in the Analyse View, are listed in the chart that has the following columns:
- ProducerId,
- Calls (number of calls that triggered/requested this producer),
- Duration (total time, spent for this producer).
This info is useful for identifying the most time- and resource-consuming parts of your application.