I worked around with transform and matrix grouping following this solution.
I tried using statetimeline, status history, and the discontinued
Gantt
Query & transform & table view:
Result:
State timeline:
Problem?
First, absence of data not represented anymore i.e. ‘Login’ and ‘Logout’ shouldn’t span that wide?
(sometimes it does, like the second row; sometimes it doesn’t, like the first row in the graph. Or in like this example: there is one click at 09:50, and nothing until a phone at 10:30. The click should be one event aka one small line. Instead it appears as if the clicks happen for 40 minutes.)
I believe it’s a bug that’s addressed and existed several time , see [State Timeline] Absence of data not represented anymore (part 3) · Issue #46805 · grafana/grafana · GitHub

Second, state timeline still merge same-values together (Merge equal consecutive values is off)
So, it’s buggy and not reliable.
Status history:
Looks good.
Problem? The width doesn’t show the duration. So it fails my specific use case since I’d want know how long a phone call lasts , when it starts, when it ends.
This explains why I still consider Gantt Chart as status history doesn’t show duration, and state timeline is buggy.
Gantt:

Gantt does what State timeline doesn’t do well: shows the duration. However, it’s not close to what I want to achieve in the original question.
I think some Transformation should do the work, but I’m not sure how.
Also, a new requirement arises: Overlapping logs aren’t shown (e.g.: many clicks during a call)
After some try, maybe it’s actually not achievable at all, although I have a feelings that my use case is basic: demonstrating all the logs per person (or all statuses of an object), when the logs start & stops (i.e. the width of the event), overlapping logs are shown (maybe by tooltips or darker colors).
To sum up:
- What’s wrong with the state timeline?
- Is my use case not achievable with Grafana, at least at this point? Probably we need some feature requests or there are other plugins I haven’t tried?
- Of course, if there are some suggestion for other technology or solutions with Grafana, it’d be great!
Thanks