hdc-arizona / traveler-integrated

An integrated visualization system for connecting OTF2 stack traces and aggregate expression trees
5 stars 8 forks source link

Redesign the menu for adding views #28

Closed alex-r-bigelow closed 3 years ago

alex-r-bigelow commented 4 years ago

We need a new interface for managing and adding views; we should schedule a whiteboard meeting in the coming weeks. In the mean time, here are some of the things we'll want to consider—please feel free to add to / edit this list!

kawilliams commented 4 years ago

A big question (as a person who knows the ins and outs of one of our 3?4+? views), what is the Venn diagram for the data across the views? How are we matching the data across views (I'd assume by the PhySL primitive name)?

My data:

A related Venn diagram (and slightly less clear to elucidate): what's the VD for the tasks/intent across views? e.g. I click a node in the tree in order to see it in the Gantt chart so that I can understand its functional dependencies and communication dependencies

alex-r-bigelow commented 4 years ago

Yes, the PhySL primitive name is how we match stuff from the OTF2 trace as well (in database.py, I use it as the key to a per-dataset primitives dict, that in turn maps to a per-primitive dict containing keys like display_name, count, time, and eval_direct... this dict is the tooltip that you see when you hover over a node in the tree).

I think the --debug flag when running bundle.py should add some information to each primitive dict about which data sources contributed to a primitive's information (otf2, csv, newick, and/or dot), but it doesn't (yet) tell you which attribute came from where—we could definitely change that.

oo, ~Devil's advocate~ Data review!: do the times in my csv match Kate's Gantt times? Should they match exactly or close enough or not at all?

Umm, yeah, about that... I feel like I've run across instances where the total time from intervals in the OTF2 trace doesn't seem to match up with what's reported in the performance CSV. I should probably add to something like an otf2_time running total for each primitive while processing intervals, and then do a check at the end to make sure the totals match.