Open ebugden opened 4 years ago
List of Trace Compass analyses for organizing (not exhaustive, but hopefully representative):
External analyses
Windows Performance Analyzer (WPA) categories:
Perfetto trace config, probe categories and contents (subset):
Hello all, Just a quick note to say what Erica outlined here makes a lot of sense to me. Grouping analyses (by "type" today and perhaps by "type of problem it solves" tomorrow?) will make analyses easier to discover, retrieve, and remember. This has to do with Miller's theory about short-term working memory ("we can recall 7 plus or minus 2"). Miller may have been a bit optimistic (see: https://www.nytimes.com/2013/09/10/science/seven-isnt-the-magic-number-for-short-term-memory.html) so anything we do to categorize, group, chunk information (while retaining power/optionality) will yield positive results.
I've been preoccupied with the winter storm in Austin week. We lost power, heat, and our house partly flooded. Now we have no water and neither do our neighbors. It's a mess. I hope to be back soon.
--Stefan
On Thu, Feb 18, 2021 at 6:07 PM ebugden notifications@github.com wrote:
Perfetto trace config, probe categories and contents (subset):
- CPU
- Coarse CPU usage counter
- Scheduling details
- CPU frequency and idle states
- Syscalls
- GPU
- GPU frequency
- GPU memory
- Power
- Battery drain
- Board voltages & frequencies
- Memory
- Native heap profiling
- Java heap dumps
- Kernel meminfo
- High-frequency memory events
- Low memory killer
- Per process stats
- Virtual memory stats
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/theia-ide/theia-trace-extension/issues/157#issuecomment-781717589, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIOFFVTV5TWRP2NAX37BGLS7WTVVANCNFSM4SPZZKOQ .
@MatthewKhouzam Could you sanity check this rough sort attempt?
Right now we're just trying to determine whether analyses can be sorted into useful and mutually exclusive categories? (Otherwise it may make more sense to use tags #158)
Sort attempt (with very limited knowledge of analyses):
Other categories that could be relevant:
I am thinking... and I don't know if it's correct or not, but would it be more interesting to have several "layouts"
simple: Problem to solve e.g.
Advanced:
Power:
CPU Usage:
GPU:
Memory:
I/O
Latency
Then dev mode can be more reflective of our architecture.
Thoughts?
Some related questions:
MatthewKhouzam: would it be more interesting to have several "layouts"?
Yes, but we're starting with something more simple before working up to that. The table below shows organization steps with increasing levels of accessibility. | Lego organization | TC analysis organization |
---|---|---|
Sorting pieces by type | Grouping analyses by type #157 | |
Labelling piece boxes with recommended usage information | Good analysis titles and usage explanations | |
Providing instruction sheets for specific builds | Providing problem-based analysis layouts |
Here's my plan:
If we try to jump directly to problem-based layouts, we risk them not being representative or useful.
Current focus: Can analyses be sorted into useful and mutually exclusive categories (i.e. folders #157)? (Otherwise it may make more sense to use tags #158)
I tend towards (not too many) mutually exclusive categories, that will help users who already know what they are looking for, to find it quickly. Something along the lines of:
mirsky-work: I tend towards (not too many) mutually exclusive categories (CPU, (GPU), Memory, Power, Structural?)
I also think having around 5 categories is a good first step.
I'm going to looking through the Trace Compass User Guide to get a bit more info for a slightly better sort proposal than above, but then I'm going to need someone with more experience to review like @MatthewKhouzam.
I've been organizing the wrong items! I've been organizing Trace Compass Analyses when I should have been organizing Trace Compass Views.
@MatthewKhouzam Could I get a list of most Trace Compass Views?
Letting the user select Views (ignoring the existence of Analyses) feels like the the right first step, so I'm just going make the Trace Viewer terminology consistent with Trace Compass. Examples:
Trace Viewer "Analyses" | TC Analyses and Views |
---|---|
My understanding is that the existence of "TC Analyses" and "TC Views" comes from the implementation: The trace data transformation path is: Trace events --> TC Analyses --> TC Views
It doesn't seem like it. Contributors/Developers need to know whether they're writing an Analysis or a View, but the user is only interacting with Views, right?
Listing as many views I can find here to help with creating meaningful view categories.
Categories need to cover all analysis/views and ideally be the same type of thing.
What are the keywords/language that people recognize? What are terms people look for?
Sources: Trace Compass, Trace Viewer, Trace Compass User Guide - Main Features
What data does each view contain? Why is it useful?
Other data views:
How many views can only be used with lttng traces?
Both Context CallStack and Critical Path Aggregated have a Flame Graph View. Does this mean:
In the implementation architecture, what is the distinction between Analysis and View (Where does Analysis end and View begin)? Does View code only organize and present data (no transformation/calculations)?
@ssmagula @MatthewKhouzam What do you think about the organization below? I'm unconvinced. Here's a rough clustering of some of the Trace Compass views:
The division is extra confusing because some categories are nouns (physical or logical structures, ex. CPU, Functions) and some are actions (ex. Locking). I considered switching the actions to "Lock" and "Scheduler", but somehow I found those categories more confusing.
I think we should leave Views as a flat ordered list for now because:
Off topic View-related thoughts after overview:
View specific:
Not currently relevant since the number of views is short (<10)
⚠️Note: In this issue, the term "view" should have been used instead of "
analysis" (see comment). The issue title and description are updated, but all comments below are unchanged.Organizing views
analysesin folders gives users a higher-level overview of the viewsanalysesthat are offered.Important: Only organize views in folders if it is possible to sort views into mutually exclusive categories (that are meaningful for the user). If mutually exclusive categories don't make sense for views, other organization options should be considered (ex. Filtering by tag #158).
Current list of views: