Hello,
this is an interesting question.
From what I can see, user sessions can be seen in Administration → User sessions, and there is Audit add-on that “provides the entity log mechanism for tracking changes in JPA entities”.
Additionally, you need a log of user actions that contains action user and time, and then one view to rule them all … ah, integrate them all, by filtering for user’s login for example, and from-to datetime filter.
One way to do the user action log is to make a persistent entity (database) table, and write into it, with a service. You can add into the button press event the service call.
That can be a lot of adding for each button, so at this point you need to know if you want all the buttons or just some - if its few only, this approach gives you the fine control.
If its the blanket approach, you can override jmix button implementation and add your service call, that’s fast, or, extend the button.
I also think that button clicks trigger a UI event, and you can have a listener that checks the list of buttons to call the logging service.
Kind regards,
Mladen