Bug 8077 - Inconsistent load/session data presented on tlwebadm and tlctl
Summary: Inconsistent load/session data presented on tlwebadm and tlctl
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Web Administration (show other bugs)
Version: trunk
Hardware: Other Other
: P2 Normal
Target Milestone: 4.15.0
Assignee: Tobias
URL:
Keywords: frifl_tester, relnotes, samuel_tester
Depends on:
Blocks:
 
Reported: 2023-01-24 12:46 CET by Tobias
Modified: 2023-05-02 12:44 CEST (History)
3 users (show)

See Also:
Acceptance Criteria:
Presented data in tlwebmadm Status/Load and tlctl load should mirror each other as in * tlwebadm System/Load base page = tlctl load list * tlwebadm System/Load <AGENT> detailed view = tlctl load show <AGENT> Presented data in tlwebadm status/sessions and 'tlctl session list' should mirror each other: * They should have the same columns presented in the same order * The sessions should be sorted in the same way


Attachments

Description Tobias cendio 2023-01-24 12:46:11 CET
- The column Load in tlwebadm is the same as the CPU column in tlctl.
- Memory is presented as total and free in tlwebadm, while presented as % in tlctl.
- Memory 'free' is presented in tlwebadm while memory 'used' is presented in tlctl.
- Certain columns differ in displayed decimals.
Comment 1 Samuel Mannehed cendio 2023-02-04 14:50:22 CET
The same issue exists for the sessions page. Recent builds of Web Admin have the following columns:

 - Username
 - Display
 - Agent

While `tlctl session list` displays the following columns:

 - USER
 - DISPLAY
 - AGENT
 - STATUS
 - AGE
Comment 4 Linn cendio 2023-03-27 09:23:01 CEST
As part of bug 8083, the session page in Web Admin and tlctl have been synced in the following way:
  
 * Both tlctl and Web Admin have the same columns presented in the same order:
   - Username, Display, Agent, Status, Age

 * The sessions are sorted in the same way
   - First on username, then on display number

With that taken care of, the session data is consistent between tlctl and Web Admin.
Comment 5 Linn cendio 2023-03-27 09:24:54 CEST
Additionally, info about the age of a session was added to details info (in the popup) to get consistency in the data presented in Web Admin - all info in the overview table is also presented in the details table.

tlctl does not yet have a command for showing session details, but in the future we should aim for the same consistency between data in the overview table and in the details info.
Comment 6 Tobias cendio 2023-03-27 13:35:03 CEST
In tlwebadm we present Load in units of decimals (e.g. 0.25), while in tlctl we present it in percentage, which is preferable since decimals doesn't necessarily indicate 0.0-1.0 and percentage is easier to read.

Moreover, we use the label 'Load' in tlwebadm while we use 'CPU' in tlctl. In this case, the latter is preferable to use since the label 'Load' is occupied by the 1 min load average, which for e.g. 6 CPUs goes from 0.0 to 6.0. This particular Load data will also be included in tlwebadm.

Concerning memory, the base presentation in tlctl is in percentage of used memory, while in tlwebmadm it is in absolute units of free memory; here, the former case is preferred. For the detailed presentation, we opt for the tlctl way of presenting memory:
Memory (used RAM+Swap) : 40%
      RAM (used/total) : 7.9/15.5 GiB
     Swap (used/total) : 1.4/8.0 GiB
This is in part to condense the output a bit, and also to better reflect the fact that we present the total memory in terms of "used" memory.
Comment 8 Tobias cendio 2023-03-29 13:54:58 CEST
tlwebadm and tlctl presented data types, manner of expression, and order of appearance should be synced now.
Comment 9 Linn cendio 2023-03-30 10:09:36 CEST
Updated acceptance criteria to also include the presentation of sessions in webadmin and tlctl.
Comment 10 Tobias cendio 2023-03-31 11:22:52 CEST
This was reopened by mistake when correcting acceptance criteria.
Comment 12 Samuel Mannehed cendio 2023-04-03 15:41:48 CEST
Verified the following on Fedora 37 using server build 3176:

Acceptance criteria
-------------------

> Presented data in tlwebmadm Status/Load and tlctl load should mirror each other as in
> 
> * tlwebadm System/Load base page = tlctl load list
> 
> * tlwebadm System/Load <AGENT> detailed view = tlctl load show <AGENT>
It does, and it looks good.

Both Web Admin and tlctl also show which subclusters an agent is part of, in case it is part of multiple subclusters.

> Presented data in tlwebadm status/sessions and 'tlctl session list' should mirror each other:
> 
> * They should have the same columns presented in the same order
> 
> * The sessions should be sorted in the same way
Yep, looks nice.

Commits
-------

 * Wrote a few minor comments on the commit-list.
 * The column “Number of users” is a bit wordy, Pierre suggested that we change it to “Users”. Most tables in Web Admin use short column headers. Not REOPENING for that, but you are welcome to change it if you agree.

Documentation
-------------
Documentation for the load page is missing:

https://www.cendio.com/resources/docs/tag-devel/html/tlwebadm_status.html

Bug 8128 was created for that. The fact that the “Users” column includes system users (not only ThinLinc users) is confusing, but we have bug 6124 for that.

Conclusion
----------
Looks good! The new UI is a giant improvement over the old status pages. I think there is a good consistency between Web Admin and tlctl now. I believe it will give a reassuring feeling to our users. Closing.
Comment 13 Tobias cendio 2023-04-25 14:26:14 CEST
Reopening to fix

* associated subclusters are not displayed if agent is down, even though that information is available

* CPU(%) order of appearance; should be first in the category of load, similar to memory(%)
Comment 16 Tobias cendio 2023-04-25 14:56:08 CEST
Comment 13 has been addressed -> resolved.
Comment 17 Frida Flodin cendio 2023-04-26 11:30:58 CEST
Comment 13 has indeed been fixed. Checked the code changes and they look good -> closing again.
Comment 18 Frida Flodin cendio 2023-04-26 13:01:26 CEST
I was a bit fast with closing this. I noticed some more differences between tlctl and webadm when the agent is down:

tlctl:
>                 Rating: DOWN
>         Penalty points: 0
>           Last updated: 4 s ago

tlwebadm:
> Rating	N/A
> Penalty points	N/A
> Last updated	N/A
Comment 21 Frida Flodin cendio 2023-04-26 15:00:34 CEST
(In reply to Frida from comment #18)
> I was a bit fast with closing this. I noticed some more differences between
> tlctl and webadm when the agent is down:
> 
> tlctl:
> >                 Rating: DOWN
> >         Penalty points: 0
> >           Last updated: 4 s ago
> 
> tlwebadm:
> > Rating	N/A
> > Penalty points	N/A
> > Last updated	N/A

This should now be fixed, I chose to show the same values in tlwebadm as tlctl does.
Comment 22 Tobias cendio 2023-04-28 16:16:32 CEST
Tested build #3225 on Fedora38 in Firefox 112.0.1.

Checked that the same values for a downed agent in tlwebadm and tlctl are displayed for the remaining attributes 'Rating', 'Penalty points', and 'Last updated' -- and indeed they are.
Comment 24 Tobias cendio 2023-04-28 16:22:53 CEST
A minor sync was made between tlwebadm and tlctl, primarily concerning tlctl, in that tlctl did not claim missing value for number of CPUs when agent is down, but rather presented an empty string.

This is harmonized now such that tlwebadm claims 'N/A' like the other missing tlwebadm values, while tlctl displays '-' like the other missing tlctl values.
Comment 25 Samuel Mannehed cendio 2023-05-02 12:44:24 CEST
The latest commits look good. I also did a quick verification that both views match each other. The load overview table values and columns match “tlctl load list” and the load details popup matches “tlctl load show <AGENT>”.

Note You need to log in before you can comment on or make changes to this bug.