public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
* EventViewer Rewrite
@ 2006-10-18 21:14 Sami Wagiaalla
  2006-11-07  1:46 ` Sami Wagiaalla
  2007-01-10 19:17 ` Sami Wagiaalla
  0 siblings, 2 replies; 17+ messages in thread
From: Sami Wagiaalla @ 2006-10-18 21:14 UTC (permalink / raw)
  To: frysk

As some of you may know I have been working on a complete
rewrite of the EventViewer widget.

I have committed my changes to the NEW_EVENTVIEWER branch

to check it out:

    cvs  co -r NEW_EVENTVIEWER frysk

The new EventViewer is not ready to be merged yet but you can take
a look to see the general look and feel.

It is written completely in Java using java-cairo.
It has a sofisticated drawing hiarchy of composing objects to suppor
unlimmited fancyness :).

Events are independent of time lines. They are kept track of by EventManager
to support reuse of objects and on the fly redistribution, filtering, 
switching
between modes and whatever we may need in the future.

For example if the user wants to switch from having a time line per thread,
to having one per machine, or even a time line for all events of type X or
shared library Y, etc. This is made easier by EventManager.

Anyhow it should be up to speed and ready to be merged soon. I will aso need
Nurdin's help to put in Accessibility info :)

Happy hacking,

    Sami Wagiaalla

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2006-10-18 21:14 EventViewer Rewrite Sami Wagiaalla
@ 2006-11-07  1:46 ` Sami Wagiaalla
  2007-01-10 19:17 ` Sami Wagiaalla
  1 sibling, 0 replies; 17+ messages in thread
From: Sami Wagiaalla @ 2006-11-07  1:46 UTC (permalink / raw)
  Cc: frysk

[-- Attachment #1: Type: text/plain, Size: 607 bytes --]

A couple of screen shots of how things look so far
both are of syscall observers, one added to firefox-bin,
and the other to a bunch of funit-child processes.

This model is timeless. One way time support could be added
is by adding an event loop 'tick' event to EventManager.

Events have an index, and as you can tell the events for a proc
is just the compilation of events of its threads.

Scrolling support is disabled as that is going to be part of the
histogram.

More to come:
- button for observers.
- button for blockers.
- maybe icon for status.
- Histogram of events.

Any thoughts/suggestions ?

[-- Attachment #2: snapshot8.png --]
[-- Type: image/png, Size: 29958 bytes --]

[-- Attachment #3: snapshot9.png --]
[-- Type: image/png, Size: 42385 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2006-10-18 21:14 EventViewer Rewrite Sami Wagiaalla
  2006-11-07  1:46 ` Sami Wagiaalla
@ 2007-01-10 19:17 ` Sami Wagiaalla
  2007-01-10 19:35   ` Phil Muldoon
                     ` (2 more replies)
  1 sibling, 3 replies; 17+ messages in thread
From: Sami Wagiaalla @ 2007-01-10 19:17 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: frysk

[-- Attachment #1: Type: text/plain, Size: 374 bytes --]

My changes have been merged in and much more.

The attached screen-shot is of the funit-child process, which
I then signal to clone. In this session there are SyscallObserver,
SignalObserver, and CloneObserver.

Please give your comments, and suggestions about absolutly every
thing relating to our EventViewer widget (what we want from it, and
what it should look like).



[-- Attachment #2: ScreenShot1.png --]
[-- Type: image/png, Size: 43802 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 19:17 ` Sami Wagiaalla
@ 2007-01-10 19:35   ` Phil Muldoon
  2007-01-10 19:41     ` Mike Cvet
  2007-01-10 19:52     ` Sami Wagiaalla
  2007-01-10 22:20   ` Nurdin Premji
  2007-01-10 22:27   ` Nickolay V. Shmyrev
  2 siblings, 2 replies; 17+ messages in thread
From: Phil Muldoon @ 2007-01-10 19:35 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: frysk

Looks good! My only immediate comment would be to lose the border around 
the eventviewer. What does the X axis scale too? What does an event on 
the X axis belong to? Time?

Regards

Phil

Sami Wagiaalla wrote:
> My changes have been merged in and much more.
>
> The attached screen-shot is of the funit-child process, which
> I then signal to clone. In this session there are SyscallObserver,
> SignalObserver, and CloneObserver.
>
> Please give your comments, and suggestions about absolutly every
> thing relating to our EventViewer widget (what we want from it, and
> what it should look like).
>
>
>
> ------------------------------------------------------------------------
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 19:35   ` Phil Muldoon
@ 2007-01-10 19:41     ` Mike Cvet
  2007-01-10 20:00       ` Sami Wagiaalla
  2007-01-10 19:52     ` Sami Wagiaalla
  1 sibling, 1 reply; 17+ messages in thread
From: Mike Cvet @ 2007-01-10 19:41 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: frysk

On Wed, 2007-01-10 at 13:34 -0600, Phil Muldoon wrote:
> Looks good! My only immediate comment would be to lose the border around 
> the eventviewer. What does the X axis scale too? What does an event on 
> the X axis belong to? Time?

Sami,

The new EventViewer stuff looks really impressive. Awesome work!

I'd have to second Phil's questions though - I think we need some
semblance of time, or relative time between events on the X axis.

Another question: Why do the second and third lines co-mingle? Why
doesn't 22441 have events occurring on a single line like 22437? Or is
that because the events on the third line have a different tag than the
events on the first and second lines?

- Mike

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 19:35   ` Phil Muldoon
  2007-01-10 19:41     ` Mike Cvet
@ 2007-01-10 19:52     ` Sami Wagiaalla
  2007-01-10 22:13       ` Nurdin Premji
  1 sibling, 1 reply; 17+ messages in thread
From: Sami Wagiaalla @ 2007-01-10 19:52 UTC (permalink / raw)
  To: Phil Muldoon; +Cc: frysk


> Looks good! My only immediate comment would be to lose the border 
> around the eventviewer.
Funny I was just thinking about how that could be done :)
> What does an event on the X axis belong to? Time?
An index.  Ie events are plotted evenly by the order in which they 
occured, or
were observed by frysk rather.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 19:41     ` Mike Cvet
@ 2007-01-10 20:00       ` Sami Wagiaalla
  2007-01-10 20:06         ` Mike Cvet
  2007-01-10 20:09         ` Phil Muldoon
  0 siblings, 2 replies; 17+ messages in thread
From: Sami Wagiaalla @ 2007-01-10 20:00 UTC (permalink / raw)
  To: Mike Cvet; +Cc: frysk


> The new EventViewer stuff looks really impressive. Awesome work!
>   
Thanx :)
> I'd have to second Phil's questions though - I think we need some
> semblance of time, or relative time between events on the X axis.
>   
The model I am basing this on and the one we already know works is that
of printf debugging, were the user doesn't really care about time.

The design of the new EventViewer makes it really easy to add a time tick
(just another event). A reasonable suggestion made by Cagney when we
had this dicussion a while back was to add a time tick every time the event
loop loops.
> Another question: Why do the second and third lines co-mingle? Why
> doesn't 22441 have events occurring on a single line like 22437? Or is
> that because the events on the third line have a different tag than the
> events on the first and second lines?
>   
The first line is the process which is a cumilation of all the events 
occuring
within the process regardless of what thread they blong to.

the second line is the main thread of the process. Until a second thread is
spawned the main thread is identicall to the process. because all events
occure on the main thread.

The third line represents a second thread which is not spawned untill the
event that says "cloned by 22437" which is the thread id of the thread which
called clone.

does that make sense ^ ?

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 20:00       ` Sami Wagiaalla
@ 2007-01-10 20:06         ` Mike Cvet
  2007-01-10 20:09         ` Phil Muldoon
  1 sibling, 0 replies; 17+ messages in thread
From: Mike Cvet @ 2007-01-10 20:06 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: frysk

On Wed, 2007-01-10 at 14:56 -0500, Sami Wagiaalla wrote:
> > The new EventViewer stuff looks really impressive. Awesome work!
> >   
> Thanx :)
> > I'd have to second Phil's questions though - I think we need some
> > semblance of time, or relative time between events on the X axis.
> >   
> The model I am basing this on and the one we already know works is that
> of printf debugging, were the user doesn't really care about time.

Fair enough!

> 
> The design of the new EventViewer makes it really easy to add a time tick
> (just another event). A reasonable suggestion made by Cagney when we
> had this dicussion a while back was to add a time tick every time the event
> loop loops.
> > Another question: Why do the second and third lines co-mingle? Why
> > doesn't 22441 have events occurring on a single line like 22437? Or is
> > that because the events on the third line have a different tag than the
> > events on the first and second lines?
> >   
> The first line is the process which is a cumilation of all the events 
> occuring
> within the process regardless of what thread they blong to.
> 
> the second line is the main thread of the process. Until a second thread is
> spawned the main thread is identicall to the process. because all events
> occure on the main thread.
> 
> The third line represents a second thread which is not spawned untill the
> event that says "cloned by 22437" which is the thread id of the thread which
> called clone.
> 
> does that make sense ^ ?

Yes, that clears it up, thanks! =)

- Mike

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 20:00       ` Sami Wagiaalla
  2007-01-10 20:06         ` Mike Cvet
@ 2007-01-10 20:09         ` Phil Muldoon
  2007-01-10 20:29           ` Sami Wagiaalla
  1 sibling, 1 reply; 17+ messages in thread
From: Phil Muldoon @ 2007-01-10 20:09 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: Mike Cvet, frysk

Sami Wagiaalla wrote:
>
>> I'd have to second Phil's questions though - I think we need some
>> semblance of time, or relative time between events on the X axis.
>>   
> The model I am basing this on and the one we already know works is that
> of printf debugging, were the user doesn't really care about time.

Give that particular model and ...
>
> The design of the new EventViewer makes it really easy to add a time tick
> (just another event). A reasonable suggestion made by Cagney when we
> had this dicussion a while back was to add a time tick every time the 
> event
> loop loops.

The above, there might be a case (at some point) to make the behavior of 
the widget scriptable. (ie time tick or not, just count, etc). 
Personally I can see the printf model working with the tag-sets (tags 
tied to lines of code in a program) but wonder how useful it would to 
know that my program forked in the event-viewer, but not what time it 
forked. The immediate solution to that problem would have a custom 
observer create a log-event and plot to event-viewer. This bring us 
nicely to log and event-viewer integration (ie click a log entry in the 
log view, have it highlighted in the eventviewer). Certainly food for 
thought, and something to think on, down the line.

Regards

Phil

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 20:09         ` Phil Muldoon
@ 2007-01-10 20:29           ` Sami Wagiaalla
  0 siblings, 0 replies; 17+ messages in thread
From: Sami Wagiaalla @ 2007-01-10 20:29 UTC (permalink / raw)
  To: Phil Muldoon; +Cc: Mike Cvet, frysk


> The above, there might be a case (at some point) to make the behavior 
> of the widget scriptable. (ie time tick or not, just count, etc). 
> Personally I can see the printf model working with the tag-sets (tags 
> tied to lines of code in a program) but wonder how useful it would to 
> know that my program forked in the event-viewer, but not what time it 
> forked. The immediate solution to that problem would have a custom 
> observer create a log-event and plot to event-viewer. This bring us 
> nicely to log and event-viewer integration (ie click a log entry in 
> the log view, have it highlighted in the eventviewer). Certainly food 
> for thought, and something to think on, down the line.
Its a good idea, scripting in particular has not occurred to me. 
Providing more detailed information when the user selects a particular 
event is in the plan. The time stamp could be provided there.

Integrating log and event viewer will make the event viewer multi 
purpose, fulfilling our requirement for an off-line viewer int he future.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 19:52     ` Sami Wagiaalla
@ 2007-01-10 22:13       ` Nurdin Premji
  2007-01-11 13:25         ` Sami Wagiaalla
  0 siblings, 1 reply; 17+ messages in thread
From: Nurdin Premji @ 2007-01-10 22:13 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: Phil Muldoon, frysk

Sami Wagiaalla wrote:
>
>> Looks good! My only immediate comment would be to lose the border 
>> around the eventviewer.
> Funny I was just thinking about how that could be done :)
What about putting it in a notebook and having it eclipse style so you 
can create multiple tabs for each process you want to watch, with the 
main list being on the left? (So the ones you really care about are 
cached but the ones that you don't can always be opened up whenever you 
need to.)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 19:17 ` Sami Wagiaalla
  2007-01-10 19:35   ` Phil Muldoon
@ 2007-01-10 22:20   ` Nurdin Premji
  2007-01-10 22:27   ` Nickolay V. Shmyrev
  2 siblings, 0 replies; 17+ messages in thread
From: Nurdin Premji @ 2007-01-10 22:20 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: frysk

Sami Wagiaalla wrote:
> My changes have been merged in and much more.
Colors. I'm not sure what they should be but just the ability to change 
the color (for example to distinguish between event types) would be 
useful. Make it user set able with a couple of default themes (Fruit 
Loop -- all the primary colors, True Blue -- everything blue like it is 
now.)

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 19:17 ` Sami Wagiaalla
  2007-01-10 19:35   ` Phil Muldoon
  2007-01-10 22:20   ` Nurdin Premji
@ 2007-01-10 22:27   ` Nickolay V. Shmyrev
  2007-01-11 13:43     ` Sami Wagiaalla
  2 siblings, 1 reply; 17+ messages in thread
From: Nickolay V. Shmyrev @ 2007-01-10 22:27 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: frysk

[-- Attachment #1: Type: text/plain, Size: 591 bytes --]

В Срд, 10/01/2007 в 14:13 -0500, Sami Wagiaalla пишет:
> My changes have been merged in and much more.
> 
> The attached screen-shot is of the funit-child process, which
> I then signal to clone. In this session there are SyscallObserver,
> SignalObserver, and CloneObserver.
> 
> Please give your comments, and suggestions about absolutly every
> thing relating to our EventViewer widget (what we want from it, and
> what it should look like).
> 

Sorry, but do you rotate monitor when reading text connected to events?
For me it seems rather hard to scan the text.

[-- Attachment #2: Эта часть сообщения подписана цифровой подписью --]
[-- Type: application/pgp-signature, Size: 191 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 22:13       ` Nurdin Premji
@ 2007-01-11 13:25         ` Sami Wagiaalla
  2007-01-11 13:38           ` Phil Muldoon
  0 siblings, 1 reply; 17+ messages in thread
From: Sami Wagiaalla @ 2007-01-11 13:25 UTC (permalink / raw)
  To: Nurdin Premji; +Cc: Phil Muldoon, frysk


> What about putting it in a notebook and having it eclipse style so you 
> can create multiple tabs for each process you want to watch, with the 
> main list being on the left?
I have actually been seriously thinking of removing that panel on the 
left because it is a little redundant.
> (So the ones you really care about are cached but the ones that you 
> don't can always be opened up whenever you need to.)
On one level the user can filter away processes they dont care about at 
all when setting up the session. But I do realize the need to "zoom in" 
on one particular process in the session. I dont think tabs are the best 
way to do so. We'll have to wait and see how noisy the display gets.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-11 13:25         ` Sami Wagiaalla
@ 2007-01-11 13:38           ` Phil Muldoon
  0 siblings, 0 replies; 17+ messages in thread
From: Phil Muldoon @ 2007-01-11 13:38 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: Nurdin Premji, frysk

Sami Wagiaalla wrote:
>
>> What about putting it in a notebook and having it eclipse style so 
>> you can create multiple tabs for each process you want to watch, with 
>> the main list being on the left?
> I have actually been seriously thinking of removing that panel on the 
> left because it is a little redundant.

I'd still want to see a whole session view, and be able to do the right 
click -> manual observer operations on processes and threads. For me, a 
tree is a more natural place to do that.

On that note, I'd make the suggestion that we stay from redesigning the 
whole monitor, just so we can focus on the event-viewer right now.

Regards

Phil

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-10 22:27   ` Nickolay V. Shmyrev
@ 2007-01-11 13:43     ` Sami Wagiaalla
  2007-01-11 14:18       ` Sami Wagiaalla
  0 siblings, 1 reply; 17+ messages in thread
From: Sami Wagiaalla @ 2007-01-11 13:43 UTC (permalink / raw)
  To: Nickolay V. Shmyrev; +Cc: frysk


> Sorry, but do you rotate monitor when reading text connected to events?
> For me it seems rather hard to scan the text.
>   
lol, good point :). Here is the reasoning behind the slanted text:

I wanted an easy way for the user to be able to scan the events
in a sequential way. If the text is placed horizontally and stacked
it is hard to tell the order, if it is horosontal and spaced out it
forces the user to do a lot of scrolling to see more events and get
a "big picture", and if the text is completely vertical its impossible
to read.

I will look into reducing the slant as much as possible, but I am
wide open to suggestions on another solution.

Sami Wagiaalla



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: EventViewer Rewrite
  2007-01-11 13:43     ` Sami Wagiaalla
@ 2007-01-11 14:18       ` Sami Wagiaalla
  0 siblings, 0 replies; 17+ messages in thread
From: Sami Wagiaalla @ 2007-01-11 14:18 UTC (permalink / raw)
  To: Sami Wagiaalla; +Cc: Nickolay V. Shmyrev, frysk

[-- Attachment #1: Type: text/plain, Size: 135 bytes --]

How does this one look ?

This is firefox-bin with a SyscallObserver. Events are more spaced
out so that the text can be less slanted.

[-- Attachment #2: ScreenShot2.png --]
[-- Type: image/png, Size: 45539 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2007-01-11 14:18 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-10-18 21:14 EventViewer Rewrite Sami Wagiaalla
2006-11-07  1:46 ` Sami Wagiaalla
2007-01-10 19:17 ` Sami Wagiaalla
2007-01-10 19:35   ` Phil Muldoon
2007-01-10 19:41     ` Mike Cvet
2007-01-10 20:00       ` Sami Wagiaalla
2007-01-10 20:06         ` Mike Cvet
2007-01-10 20:09         ` Phil Muldoon
2007-01-10 20:29           ` Sami Wagiaalla
2007-01-10 19:52     ` Sami Wagiaalla
2007-01-10 22:13       ` Nurdin Premji
2007-01-11 13:25         ` Sami Wagiaalla
2007-01-11 13:38           ` Phil Muldoon
2007-01-10 22:20   ` Nurdin Premji
2007-01-10 22:27   ` Nickolay V. Shmyrev
2007-01-11 13:43     ` Sami Wagiaalla
2007-01-11 14:18       ` Sami Wagiaalla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).