Sage X3
Session log
enhancement
Changes in 2020 R1
Table of Contents
Introduction............................................................................................................................................. 2
Global nested view of Syracuse / X3 sessions ..................................................................................... 3
Global view of X3 sessions................................................................................................................... 4
Unknown X3 sessions .......................................................................................................................... 5
Web services session views ................................................................................................................. 6
Conclusion ............................................................................................................................................... 7
Introduction
The connection to X3 is done through different types of sessions. All these sessions connect
through the Syracuse server, and opens various processes to display data for interactive pages
or get data in service mode:
- A Syracuse session is the session opened on the node.js web server. This type of
session connects on an administration endpoint; Syracuse uses mongoDB database
and can manage administration pages. Such sessions can run interactively or in
background (to control batch tasks or web services pools).
- An X3 session corresponds to an instance of a adonix.exe process. This process
executes 4GL code and connects on the database server. An X3 session is always
linked to a Syracuse session, but a Syracuse session can be connected to several X3
sessions.
The X3 sessions can have several types, depending the service they provide. The most
important ones are the following:
- A web page X3 session is created when a user first connects on an endpoint. It
delivers data to the portal in a stateless way.
- A classic page session is created when an X3 page developed with classic
technology is used. This includes all the functions not located in the Administration
menu and not linked to a class and a representation.
- A batch session is created for every batch task in execution.
- A web service session is created for every pool entry to manage web service
execution.
Other sessions exist (when the engine is launched from Eclipse, from the console for
example), but the most important are listed above.
Before 2021 R1, we had a function that allowed to list the Syracuse sessions, and a function
that allowed to list the X3 sessions. But the link between both was difficult to follow because
we had two different pages.
The release 2021 R1 brings a new and better presentation of the sessions.
Global nested view of Syracuse / X3 sessions
The new page displays in a list all the Syracuse sessions ( Standard being interactive sessions, and Batch being batch controlling sessions). From a line, you
can directly unfold the line to get the detailed list of the X3 sessions associated to the Syracuse session. You know at a glance how the sessions are linked:
- The second standard Syracuse session is associated to a first Web page X3 session (that populates the portal), and 2 classic pages opened in two
different browser tabs (one associated to the function called AREQUETE, the second one associated to the function GESATB)
- The batch controlling Syracuse session is associated to 2 batch X3 sessions.
This page is automatically refreshed every 10 seconds (before, it was only refreshed when refreshing the browser page) so you can really have a real time
view of the session that run.
On every X3 session, we can also see the creation date time, the last access date time and the expiration date time in GMT format. Hovering over such a
date displays it in the time zone of your browser.
This allows you to identify classic pages functions that remains opened until expiration date time even if no function is opened (there is an optimization to
keep these sessions as reusable for other classic pages).by clicking on the three vertical dots icons:
You can notably manage different actions (all of them might not be available depending on the type of session). The most
important are the following ones:
- close a session
- access to logs when they are relevant
- jump from one view to the other
- display Unknown X3 sessions (see below).
Global view of X3 sessions
The global view of all the X3 sessions can also be displayed through the X3 sessions link (available also globally on the right action panel.:
Unknown X3 sessions
It might rarely happen that an X3 session remains running without having a Syracuse session attached to it. This happens in some very particular cases (VT
terminals for instance) and can also happen if your session is in an endless loop (usually linked to a bad written function). These type of X3 sessions are
displayed by using the Unknown X3 session present on every pop-up link in the different pages, and on the right panel:
In the example below, there is no unknown session present on the server
Even if this doesn’t happen frequently, having this additional feature allows to identify sessions that might uselessly consume CPU. The page allows to kill
these sessions.
Web services session views
The same hierarchized view can also be directly displayed in real time for the sessions associated the web services. In this page, additional information has
been added to allow to control how the web services are running:
- the number of web services waiting in queue for execution, and the total calls executed since the pool started are displayed.
- The number of web service calls executed by every X3 session are also displayed.
Conclusion
The new features available in Sage X3 from the 2021 R1 release will streamline and simplify the
follow-up of sessions especially on servers that might manage several thousands of sessions:
- It identifies clearly the links between the sessions
- It gives a global overview of all the types of sessions
- It gives a better view on the reusable sessions
- It displays statistics about web service execution
We will continue to improve the troubleshooting tools in the future releases to simplify the support
and simplify the management of the performance on customers who continue to grow and scale up.