Commit graph

359 commits

Author SHA1 Message Date
René Stadler 60e794e8a2 Remove implicit keybinding of copy message action 2014-09-11 20:51:42 +02:00
René Stadler 44303a412e Fix adding rows to the bottom view 2014-09-11 20:51:42 +02:00
René Stadler 2b59250ec0 Fix crash when adding a line to bottom view with log filter turned on 2014-09-11 20:51:42 +02:00
René Stadler 08e6121766 Implement filtered log model index translation 2014-09-11 20:51:42 +02:00
René Stadler bfd0ad3960 Add support for stacking log model filters 2014-09-11 20:51:42 +02:00
René Stadler 98e1541488 Do not let the user add duplicate lines to the bottom log view 2014-09-11 20:51:42 +02:00
René Stadler 9a9e40a3ce Keep the bottom view sorted by timestamp 2014-09-11 20:51:42 +02:00
René Stadler db7943cedb Unbreak filtering again 2014-09-11 20:51:42 +02:00
René Stadler 68fd8fc604 Improve method to update log view after search text change 2014-09-11 20:51:42 +02:00
René Stadler 0beee4cf4f Remove dead code 2014-09-11 20:51:42 +02:00
René Stadler c28059e36c Use the mmapped fileobj in more places and use slice access 2014-09-11 20:51:42 +02:00
René Stadler 4424eb686f Add simple cache eviction to LazyLogModel to limit memory usage 2014-09-11 20:51:42 +02:00
René Stadler c749df8574 Rename show-find-bar action callback handler 2014-09-11 20:51:42 +02:00
René Stadler 89f8ebe0cf Implement lazy highlighting of search results 2014-09-11 20:51:42 +02:00
René Stadler d4dcc1be13 Move search matching logic into the SearchOperation object 2014-09-11 20:51:42 +02:00
René Stadler a9fd7fe84c Add search result navigation 2014-09-11 20:51:42 +02:00
René Stadler 4be0be249a Fix crash when showing all lines after having filtered down to zero lines 2014-09-11 20:51:42 +02:00
René Stadler 8dbfc09163 Avoid GtkWarning when filtering down to no visible line at all 2014-09-11 20:51:42 +02:00
René Stadler 5f35233eb7 Fix crash when displaying only one line 2014-09-11 20:51:42 +02:00
René Stadler 4a2c020660 Hide unimplemented filtering actions 2014-09-11 20:51:42 +02:00
René Stadler 406eb80d03 Add preliminary log level filtering support 2014-09-11 20:51:41 +02:00
René Stadler 3087edd7f8 Add level, category, object filtering actions 2014-09-11 20:51:41 +02:00
René Stadler 6e35575f0b Derive range/clamping model filter from the new base class 2014-09-11 20:51:41 +02:00
René Stadler e368dbf200 Add identity filter model to save some memory 2014-09-11 20:51:41 +02:00
René Stadler 77de714d35 Add base class for filtered log models 2014-09-11 20:51:41 +02:00
René Stadler 334a3758fb Move class around 2014-09-11 20:51:41 +02:00
René Stadler b3df52cd2f Change code to cleaner terminology of filter model relationships 2014-09-11 20:51:41 +02:00
René Stadler 2eb76b142d Try to avoid a crash regarding illegal paths received from GtkTreeView 2014-09-11 20:51:41 +02:00
René Stadler 5b41b6e861 Fix timeline level distribution plotting after gaps 2014-09-11 20:51:41 +02:00
René Stadler 99c871ba4a For search highlighting, use pango attrlists instead of markup 2014-09-11 20:51:41 +02:00
René Stadler 80263e1416 After changing the filter, scroll to the selected row 2014-09-11 20:51:41 +02:00
René Stadler fab31075c7 Retain bottom view model and fix crash after filter change 2014-09-11 20:51:41 +02:00
René Stadler 1e0c5215d2 Keep line selection when changing filter model 2014-09-11 20:51:41 +02:00
René Stadler 3081d6256d Only auto size view columns once 2014-09-11 20:51:41 +02:00
René Stadler cd935bb368 Remove redundant property settings 2014-09-11 20:51:41 +02:00
René Stadler 3c8fbd0da0 Fix window size and position state persistency 2014-09-11 20:51:41 +02:00
René Stadler 8fe97e709c Fix hanging after loading an unparsable/colored file 2014-09-11 20:51:41 +02:00
René Stadler 527b3ed2ef Behave a little better with unparsable/colored files 2014-09-11 20:51:41 +02:00
René Stadler 026604747a Fix division by zero crash with unparsable/colored files 2014-09-11 20:51:41 +02:00
René Stadler d9fcd38371 Fix crash when viewing a colored log file 2014-09-11 20:51:41 +02:00
René Stadler 41b34c2e5e Fix crash when opening a file that has trash lines only 2014-09-11 20:51:41 +02:00
René Stadler a2b332c495 Gracefully handle garbage lines at the line cache level 2014-09-11 20:51:41 +02:00
René Stadler c1c71ec392 Correct wording in benchmark output 2014-09-11 20:51:41 +02:00
René Stadler 38c4ac239e Fix comment 2014-09-11 20:51:41 +02:00
René Stadler f61574dbda Fix level distribution calculation for the last partition 2014-09-11 20:51:41 +02:00
René Stadler 4ef74e1099 Make message column receive a minimal size, which removes the size warning 2014-09-11 20:51:41 +02:00
René Stadler 40c64be892 Remove more outdated comments 2014-09-11 20:51:40 +02:00
René Stadler ad7481c82e Remove outdated comment 2014-09-11 20:51:40 +02:00
René Stadler 5738b1d5df Remove commented code 2014-09-11 20:51:40 +02:00
René Stadler 8b8eb85dac Add separator to view menu 2014-09-11 20:51:40 +02:00
René Stadler 209448c559 s/omit lines/hide lines/ 2014-09-11 20:51:40 +02:00
René Stadler 528c531f8b After load, select the first line 2014-09-11 20:51:40 +02:00
René Stadler 769a3d9d7c When navigating with the timeline, select the line in the center of the view 2014-09-11 20:51:40 +02:00
René Stadler 7032df7e73 When navigating with the bottom view, select the target line 2014-09-11 20:51:40 +02:00
René Stadler ea08ca6805 When activating a bottom view row, navigate the log view there 2014-09-11 20:51:40 +02:00
René Stadler ad32656ecb Add ability to add rows to bottom view 2014-09-11 20:51:40 +02:00
René Stadler 3cfcc8e635 Avoid copies of the line index list in the line view model (fixes range filtering) 2014-09-11 20:51:40 +02:00
René Stadler a583af7596 Remove left over whitespace 2014-09-11 20:51:40 +02:00
René Stadler 47dc733bc6 Display timestamp and full message of selected line 2014-09-11 20:51:40 +02:00
René Stadler 635659a6b9 Correctly set sensitivity of row action group 2014-09-11 20:51:40 +02:00
René Stadler 293dd13985 Add a (pretty limited) context menu to the timeline widget 2014-09-11 20:51:40 +02:00
René Stadler b4ba3c5297 Adjust comment 2014-09-11 20:51:40 +02:00
René Stadler b948b7b6e5 Fix handling of filename command line argument 2014-09-11 20:51:40 +02:00
René Stadler 480392b881 Tweak thread colors a bit 2014-09-11 20:51:40 +02:00
René Stadler 91208d8eb9 Add fuzzy compatibility to unpatched pygtk 2.12.0 2014-09-11 20:51:40 +02:00
René Stadler 8108907e5f Add ranged line omission feature 2014-09-11 20:51:40 +02:00
René Stadler cb6d082f19 Speed up immediate search results by setting search start position 2014-09-11 20:51:40 +02:00
René Stadler 6f371b8b3a Use low idle priority for dispatching, to fix initial vtimeline display 2014-09-11 20:51:40 +02:00
René Stadler b9156160e3 Add basic search highlighting 2014-09-11 20:51:40 +02:00
René Stadler 13d22d4254 Draw vertical timeline connectors as triangles 2014-09-11 20:51:40 +02:00
René Stadler 61a28cff12 Set view selection mode to BROWSE 2014-09-11 20:51:40 +02:00
René Stadler e0be989987 Fix timeline position drawing and vertical timeline initial display 2014-09-11 20:51:39 +02:00
René Stadler 4fa1150b48 Put basename of open file into window title 2014-09-11 20:51:39 +02:00
René Stadler ffd3cbb07c Add reload file functionality 2014-09-11 20:51:39 +02:00
René Stadler 4086eb2edc Disable interactive search on the log view 2014-09-11 20:51:39 +02:00
René Stadler d4237c5600 Save state of timeline visibility 2014-09-11 20:51:39 +02:00
René Stadler 6e056f8e20 Refactor state/config classes to be more flexible 2014-09-11 20:51:39 +02:00
René Stadler 50a354c0a1 Comment out unimplemented new-window action item 2014-09-11 20:51:39 +02:00
René Stadler 181554e597 Gracefully handle errors when opening a file 2014-09-11 20:51:39 +02:00
René Stadler 04d8c6c806 Add very simple search bar 2014-09-11 20:51:39 +02:00
René Stadler df96f4064c Colorize vertical timeline lines to indicate different threads 2014-09-11 20:51:39 +02:00
René Stadler 44376b41d1 Add (commented) support to draw the vertical timeline on first display 2014-09-11 20:51:39 +02:00
René Stadler 19a3fef369 Add vertical timeline widget (which looks quite cool) 2014-09-11 20:51:39 +02:00
René Stadler be53d450ce s/get_cells/get_cell_renderers/ 2014-09-11 20:51:39 +02:00
René Stadler 4ae0bfa220 Replace filename column with code column, listing filename and line number 2014-09-11 20:51:39 +02:00
René Stadler 822a90a334 Make file->open work correctly 2014-09-11 20:51:39 +02:00
René Stadler 8602b6ab63 Enable double-clicking a file in file chooser dialog 2014-09-11 20:51:39 +02:00
René Stadler f21ca6638d Align log level column text in center 2014-09-11 20:51:39 +02:00
René Stadler b5e04f3d80 Fix initial column size measurement 2014-09-11 20:51:39 +02:00
René Stadler abd90f42be Adjust test log generator 2014-09-11 20:51:39 +02:00
René Stadler 98b381c7d9 Clamp timeline mouse position to actual range 2014-09-11 20:51:39 +02:00
René Stadler 13a1310e44 Fix copyright/license headers and module docstrings 2014-09-11 20:51:39 +02:00
René Stadler d59678e2e3 Cleanup 2014-09-11 20:51:39 +02:00
René Stadler cda1eb0131 Display timeline by default 2014-09-11 20:51:39 +02:00
René Stadler 41eaf0eb5e Fix missing the last vertical ref line in the timeline display 2014-09-11 20:51:39 +02:00
René Stadler 4514c84713 Add .bzrignore file 2014-09-11 20:51:39 +02:00
René Stadler bfe6cdfc67 Kick glade backup file out of the repo 2014-09-11 20:51:39 +02:00
René Stadler d2b5c883f3 Implement cancelling of the load process in the UI 2014-09-11 20:51:39 +02:00
René Stadler b4ad0d01bd Progressively draw the debug level distribution into the timeline widget 2014-09-11 20:51:38 +02:00
René Stadler 7cda31f6c7 Don't make timeline data processing block the GUI 2014-09-11 20:51:38 +02:00
René Stadler 5a0fff722b Ease importing of modules from the Common package 2014-09-11 20:51:38 +02:00
René Stadler e3410d3305 Ditch arrays for offset storage again 2014-09-11 20:51:38 +02:00
René Stadler 3b5745c412 Fix timeline for files where the first timestamp >> 0 2014-09-11 20:51:38 +02:00
René Stadler 75d1ff49e4 Use an array for line offset mapping (if file < 4GB) 2014-09-11 20:51:38 +02:00
René Stadler 03713f4a0e Add LogLines class 2014-09-11 20:51:38 +02:00
René Stadler f98ece8fe6 Rename COL_LINE to COL_LINE_NUMBER 2014-09-11 20:51:38 +02:00
René Stadler 500e9b53c3 Fix object name serialization 2014-09-11 20:51:38 +02:00
René Stadler 9de84e42e7 Add test script to generate a simple test log. Fix level name space adjustment 2014-09-11 20:51:38 +02:00
René Stadler a59cee8c71 Add dummy po directory and add MANIFEST.in 2014-09-11 20:51:38 +02:00
René Stadler eda218759a Copy over distutils setup from gst-inspector 2014-09-11 20:51:38 +02:00
René Stadler 56e4a95450 Almost allow copying a full line to clipboard 2014-09-11 20:51:38 +02:00
René Stadler 0736ed0257 Remove commented code 2014-09-11 20:51:38 +02:00
René Stadler e92d613dec Replace model.get with model.get_value 2014-09-11 20:51:38 +02:00
René Stadler 4ec31e6aa0 Cleanup 2014-09-11 20:51:38 +02:00
René Stadler 2932f7ebbe Remove commented code, resolve FIXME 2014-09-11 20:51:38 +02:00
René Stadler a511073ea2 Simplify function 2014-09-11 20:51:38 +02:00
René Stadler 8747ab3a6e Rename more density stuff to timeline 2014-09-11 20:51:38 +02:00
René Stadler f17d2000c8 Remove unused attribute 2014-09-11 20:51:38 +02:00
René Stadler 949a6ee149 And now make it actually run\! 2014-09-11 20:51:38 +02:00
René Stadler cf96667ad9 Also commit the previous change to the GUI module :-/ 2014-09-11 20:51:38 +02:00
René Stadler 25f8f316d7 Move final log line parsing from GUI to Data module 2014-09-11 20:51:38 +02:00
René Stadler ef78287a70 Optimize color stripping function a bit 2014-09-11 20:51:38 +02:00
René Stadler 5329d7503e Also plot green info line count in timeline display 2014-09-11 20:51:38 +02:00
René Stadler fad744c07f Add user/system time to benchmark output 2014-09-11 20:51:38 +02:00
René Stadler 887ae6d898 Rename line frequency plugin/widget to timeline 2014-09-11 20:51:37 +02:00
René Stadler 7e8b53221a Speed up level density sentinel 2014-09-11 20:51:37 +02:00
René Stadler 2d6b01144d Correctly handle variable length thread address formatting 2014-09-11 20:51:37 +02:00
René Stadler df353a932a Add markers for warning and error log messages to the timeline display 2014-09-11 20:51:37 +02:00
René Stadler 435b9bd55a Colorize log and debug log levels in frequency display widget 2014-09-11 20:51:37 +02:00
René Stadler 97d114aeb1 Colorize debug level column 2014-09-11 20:51:37 +02:00
René Stadler 0a483e4931 Rename debug level instances 2014-09-11 20:51:37 +02:00
René Stadler 95476926f8 Hacky commit to parse debug level on line cache level 2014-09-11 20:51:37 +02:00
René Stadler a52c2c3310 Add (commented out) support for parsing debug level at line cache scan time 2014-09-11 20:51:37 +02:00
René Stadler ed04803d87 Cleanup 2014-09-11 20:51:37 +02:00
René Stadler 0482a50c3b Fix timestamps of unparsable lines to fix line density display 2014-09-11 20:51:37 +02:00
René Stadler 00786f0121 Fix message display 2014-09-11 20:51:37 +02:00
René Stadler 109cc29ed9 Save huge amounts of memory by never caching the message and interning data for the other columns 2014-09-11 20:51:37 +02:00
René Stadler b3f21b5a59 Use less regex matching to parse lines (does not provide a performance gain though) 2014-09-11 20:51:37 +02:00
René Stadler df2d890d40 Make column id order match log line fields order 2014-09-11 20:51:37 +02:00
René Stadler c21fa27d1b Fix benchmark hack option 2014-09-11 20:51:37 +02:00
René Stadler 9d8f796931 Add some simple filtering 2014-09-11 20:51:37 +02:00
René Stadler 2f96b18869 Add evil comment about treeview slowness with multiple selection mode 2014-09-11 20:51:37 +02:00
René Stadler c7e3c56305 Fix comment 2014-09-11 20:51:37 +02:00
René Stadler 2511183d74 Use monospace font for some numeric columns 2014-09-11 20:51:37 +02:00
René Stadler b1085b3b4d Also draw vertical help lines 2014-09-11 20:51:37 +02:00
René Stadler 9619daa316 Change model design to be more filter friendly 2014-09-11 20:51:37 +02:00
René Stadler 805629cc35 Draw horizontal helper lines in frequency display 2014-09-11 20:51:37 +02:00
René Stadler 09b74c44b2 Separate log model into base class and lazy implementation. Add basis for a filter model based on that 2014-09-11 20:51:37 +02:00
René Stadler c84f0ccd75 Remove dead/commented out code 2014-09-11 20:51:37 +02:00
René Stadler 770eb32ca6 Add/change comments 2014-09-11 20:51:37 +02:00
René Stadler de83182e02 Change view columns menu item label 2014-09-11 20:51:37 +02:00
René Stadler eea7c6687b Add PID column 2014-09-11 20:51:36 +02:00
René Stadler 6eb37ebc3c Add skeleton for file properties plugin 2014-09-11 20:51:36 +02:00
René Stadler 519ac2bf99 Add debug output. Add filename column 2014-09-11 20:51:36 +02:00
René Stadler be2929d7fa Add view columns visibility and ordering state persistence 2014-09-11 20:51:36 +02:00
René Stadler 21091d1dbd Don't make column headers clickable 2014-09-11 20:51:36 +02:00
René Stadler 8464704408 Fix progress display on load 2014-09-11 20:51:36 +02:00
René Stadler eb50a5dd41 If the indicator in the frequency display is just 1px wide, don't use transparency 2014-09-11 20:51:36 +02:00
René Stadler 71cddb7d78 New import (the old repo got busted, just had 4 revs anyways) 2014-09-11 20:51:36 +02:00