Coder Social home page Coder Social logo

Comments (3)

compudj avatar compudj commented on August 30, 2024

I'll use this opportunity to provide some feedback, some of which is based on our past experiments with lttng-scope.

Here is a rather disorganized desiderata list:

  • When a non-time-x-axis chart is shown, it typically covers an area of the trace (or all the trace). It should be very clear which time area of the trace is covered by the chart, IOW for which time range/ranges is trace data being aggregated ?
  • Being able to interact with elements on the chart would be great, e.g. quickly finding max/min values and being able to select them, see details, open more detailed views about the surrounding of those extremes,
  • Make it clear what each axis is representing, with clear units.
  • Show readable axis units, e.g. use k, M, G rather than large numbers or exponential (nnEmm) values.
  • When a number shown is large (many characters), it typically contains very few significant numbers. How to best present the significant numbers only and cut away the non-significant ones in a way that is clear to the end user should be carefully thought through.
  • Allow users to choose the math function to apply on each axis: linear, log, others. This should be clearly shown on the axes labels.
  • Allow auto-selection of math function to apply on an axis based on the content shown: e.g. we could auto-detect if logN is a good way to show an axis based on the content. There should always be a way to override this if we guess wrong.
  • There should be a legend somewhere that shows the meaning of line color, line types, icons, markers.
  • Grids may be interesting to easily show alignment of axis steps with data, but beware that it does not overburden the view (e.g. grid colors should be really pale). This is probably something that could be optional. Make good default choices for it.
  • Make sure the time-aligned views cannot be mistaken to be on the same "time alignment" as non-time-x-axis views. There should be some hint to the end user that a group of time-aligned views are indeed showing time as x axis. A non-time-x-axis view should not be visually integrated in a way that would let users think they are time-aligned. This probably has more impact on groups of views that have time as an x-axis. It is important though to clearly show this in order to allow users to distinguish between time-x-axis and non-time-x-axis views.
  • Users will likely want to compare different instances of those charts one against the other to see difference in distributions, e.g. between different traces, between different point in time within a trace, between different processes, between different machines, and so on. It would be important to allow users to collect those charts into a "report" and allow them to "tag" each chart with a specific name so they can quickly make sense of how they relate to one another. Whether the charts in those reports need to be interactive is not a given: perhaps just a snapshot would be fine.

from theia-trace-extension.

MatthewKhouzam avatar MatthewKhouzam commented on August 30, 2024

Thank you very much! This is the kind of feedback we're looking for.

I was thinking that we may want "gutters" or some kind of marker to differentiate the views, but also, maybe the non-time views should be non-interlaceable with the time views.

i.e.

Resource view
flame graph
Threads view
Density
IRQ latency

would be impossible.

Some items I though of that could be atemporal:

  • Cycles
  • Durations
  • Memory Usage
  • Number of Occurrences
  • user defined (I don't want to stop someone from using this to put temperature or power...)

This is not a process that we can do overnight. We won't get it right, but we want it good enough to start to make the user experience pleasant.

from theia-trace-extension.

ebugden avatar ebugden commented on August 30, 2024

@MatthewKhouzam Would there be interest in mockups / graph sketches of how to display titles/labels/units? As in, is there time for doing more core changes to chart components/layout?


+1 Clarify difference between time-based and not time-based charts e.g. via no interlacability #650
+1 Clarify explanations of chart contents (descriptive title, units, axis labels) #647

from theia-trace-extension.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.