eclipse-cdt-cloud / theia-trace-extension

Eclipse Theia trace viewer extension using the Trace Server Protocol (TSP), through the tsp-typescript-client. Also the home for reusable JavaScript libraries: traceviewer-base, traceviewer-react-components
MIT License
49 stars 60 forks source link

Create a convincing "hello world" trace analysis example #270

Open ebugden opened 3 years ago

ebugden commented 3 years ago

When a new user opens the tool they should be greeted with a convincing simple trace analysis example that demonstrates communicates the tool's core goals (ex. important features). This helps new users quickly answer the question "Is this tool right for my use case?"

The current Gitpod demo is insufficient because it does not guide a new user directly to a demonstration of the tool's value and core use case. To leave a good first impression, it's important that users don't feel confused about what to do next when they open the tool.

What value should be demonstrated?

Do show users the analytical power of this specific tool. Show users powerful analytical features (ex. being able to merge and synchronize several traces and analyze them as one (experiments), critical path analysis, etc.). Show why Trace Compass users should switch to this tool.

Don't focus on convincing users that trace analysis is valuable (Don't focus on convincing them that there is useful insight that only tracing can provide). At this point in development, the current user base is mostly Trace Compass users so we can assume they're already convinced of the importance of trace analysis.

In the future, if this tool is advertised as a way for newbies to get into tracing, then demonstrating the value of trace analysis will be more important. For now this question can be avoided since it's probably difficult to answer concisely; the true value of tracing becomes apparent when it's the only tool that can solve a problem (ex. complicated timing-based issues).

What could a trace analysis "hello world" look like?

Prerequisite: Choose a simple example trace that shows the unique strengths of both trace analysis and of the trace viewer (ex. Critical path analysis on the ubuntu package manager to find useless idle loop. I remember Michel Dagenais showing this in a presentation a couple years back and found it cool.)

Option 1: Guided pop-up demo (ideal)

Similar to a game tutorial, a series of pop-ups guides the user through analysis of a simple trace. The user is taught the core trace viewer "mechanics" (ex. selecting an analysis, trace navigation, filtering, etc.) and basic analysis steps. At the end of the demo the user discovers a piece of information in the trace (ex. The root cause of a latency).

image

Option 2: Introductory example layout (simpler)

A prebuilt layout automatically opens the first time the user tries the tool. It shows core analyses that the user can explore and interact with. Maybe a pop-up encourages the user to look for the root of the latency issue in the loaded trace example.

image


CC: @ssmagula

MatthewKhouzam commented 2 years ago

@arfio I think you were working on something like this.. is this the case?

arfio commented 2 years ago

Kind of, I had spoken about getting user to tracing with a tool that was already installed on most distros. ftrace was mentioned but that is all. Now that Trace Compass supports ftrace, it would be interesting to either add a tutorial on tracevizlab and/or linking this video https://www.youtube.com/watch?v=ujLGKdgKBC4