At line 9 added 86 lines |
!! Text summary |
Text summary |
Summarize big documents visually |
*thumbnails per page (section?) |
*identify important words, assign colors, show them on reduced representation of doc (a couple pixel per page) |
*when zoomed in show sentences that are important |
*could apply to websites, clusters of docs etc. |
!!!Application idea |
!! Trace viewer |
Goals: |
* View strace, truss |
* Focus on single line records but be ready for multi-line |
* Display text as-is or parsed into columns |
* Try to have light weight classes (point to records) |
|
Columns: |
* Time |
* Pid/thread id |
* Name of syscall |
* Args |
* Result |
|
Sort by: |
* Time |
* Pid/thread id |
* Syscall |
* Args (textually, useful for file names) |
* Result (useless?) |
|
Filter by: |
* Time |
* Pid/thread id |
* Syscall (list of names?) |
* Args (substring, regexp?) |
* Result |
|
|
Actions: |
* on pid/thread id |
** show command (if possible) |
** set filter to exclude/include |
** if still running: pstack, attach dbg, jstack, memory use |
* on syscall: |
** man page |
** set filter to exclude/include explicitly |
* on args |
** set filter to exclude/include with text under cursor as default value |
* on result |
** set filter to exclude/include |
** explain value |
|
Graphs: |
* time |
* name of call |
* values |
* args: checksum of text, extract from text |
|
|
General types: |
* number |
* time |
* text |
|
Additional fields: |
Use cases: |
* where is the app looking for that file? |
* what is taking time? |
* find string in read or write, identify the file (previous open that returned the file descriptor) |
* find sigsegv |
* find children spawned |
* pid to execve command |
* find errors (system calls return error code, child processes returning error codes) |
* timing graph (time, pid or system call time) |
* show network connections? |
* show open files? |
* bookmark position |
* take snapshot |
* copy paste |
* jump to other process talking to this one (port number, lsof, pid, strace) |
* open multiple strace commands, merge in one view |
* load multiple files, merge (time) |
* diff (ignore time) |
|
!!!Implementation techniques |
* Use composition to display image background behind widget: [swing | http://www.java-tips.org/java-se-tips/javax.swing/wrap-a-swing-jcomponent-in-a-background-image.html] |
* glazed lists seem interesting for searching/filtering lists |