1. 18 Jun, 2014 4 commits
  2. 16 Jun, 2014 2 commits
  3. 02 Jun, 2014 1 commit
  4. 09 May, 2014 1 commit
  5. 06 Feb, 2014 1 commit
  6. 05 Feb, 2014 2 commits
  7. 22 Jan, 2014 1 commit
  8. 21 Jan, 2014 1 commit
  9. 10 Oct, 2013 1 commit
  10. 27 Sep, 2012 1 commit
  11. 28 Mar, 2012 1 commit
    • Thomaas Herault's avatar
      Fix two issues: · b41176d4
      Thomaas Herault authored
       - First, Render_opengl inherits from Hook_event, thus Render_opengl should not re-declare members of Hook_event that are already protected, like _core.
       - Second, force Core to wait until the QT engine has initialized the Open GL windows before loading the files. Do this the quick and dirty way by inserting an event loop in the middle of the LAUNCH_INTERFACE case of Core, until initializeGL() has been called.
      
      b41176d4
  12. 22 Feb, 2012 1 commit
  13. 02 Nov, 2011 3 commits
  14. 31 Oct, 2011 2 commits
  15. 29 Oct, 2011 1 commit
  16. 28 Oct, 2011 1 commit
  17. 27 Oct, 2011 2 commits
  18. 25 Aug, 2011 1 commit
  19. 27 Jul, 2011 1 commit
    • Augustin Degomme's avatar
      · f6e2d631
      Augustin Degomme authored
      - changes the way the size of the line drawn for each event was computed (there were troubles for traces with a huge number of containers)
      - link and event types color selection now works (saving in a config file is still not implemented)
      - removes a few warnings in render
      
      
      f6e2d631
  20. 25 Jul, 2011 1 commit
    • Augustin Degomme's avatar
      - adds a tab in settings window for the selections of Event and Link types to... · a49700bb
      Augustin Degomme authored
      - adds a tab in settings window for the selections of Event and Link types to display, with future (not working yet) possibility to change the color. You can check the wanted states, and press reload to apply the changes to the trace. This needs testing.
      - for splitted files, move entityvalues inside the .vite file to avoid replication and memory problems for reloading
      
      
      This line, and those below, will be ignored--
      
      M    src/render/Hook_event.cpp
      M    src/interface/Settings_window.cpp
      M    src/interface/settings.ui
      M    src/interface/Settings_window.hpp
      M    src/src.pro
      M    src/common/Session.cpp
      M    src/common/Session.hpp
      M    src/parser/ParserSplitted.cpp
      M    src/trace/Trace.cpp
      M    src/trace/Serializer_types.hpp
      M    src/trace/Trace.hpp
      M    src/trace/Serializer_structs.hpp
      M    src/trace/Serializer.cpp
      M    src/trace/IntervalOfContainer.cpp
      M    src/trace/DrawTree.hpp
      M    src/trace/EntityValue.cpp
      M    src/trace/EntityType.cpp
      M    src/trace/DrawTrace.hpp
      M    src/trace/Container.cpp
      M    src/trace/EntityType.hpp
      
      a49700bb
  21. 22 Jul, 2011 1 commit
  22. 04 Jul, 2011 1 commit
  23. 30 Jun, 2011 1 commit
  24. 23 Jun, 2011 1 commit
    • Augustin Degomme's avatar
      A lot of testing and feedback on this one is needed, in order to improve the way it is done. · fbf0b6c1
      Augustin Degomme authored
      Summary :
      
      - trace can be dumped on disk while parsing
      - data can be restored, loading only in memory the part of trace we want to display (by time and by containers).
      - a light preview version of the whole trace can be displayed, allowing to chose the interval and actually load data from it
      
      
      How it works :
      
      - allow Serialization of IntervalOfContainers to the disk while parsing. Each finished IntervalOFContainer (containing 10000 states or links) can be dumped to the disk, using Boost serialization library, in a separate file, then its memory is freed, allowing to parse huge files (tested with 8Gb). Each type, container, linked in the IntervalOfContainer is assigned a unique id to avoid serializing too much data (file Serializer.hpp). If Boost with gzip is used, the resulting data is compressed. This is handled by Several SerializerWriter threads, and the assignment to each thread is done by a Singleton object, the SerializerDispatcher. The number of threads used is the number of CPUs found in the machine.
      
      At the end of parsing all remaining loaded intervalOfContainers are dumped. File naming is "Unique ID of the container"_"IntervalOfContainer index in the container". They are saved in a folder named after the trace file, without extension.  
      
      At the end of dumping, we have a folder containing many files. A file called "name of the trace".vite is created in this folder, which handles all containers, types, with their unique IDs. For each IntervalOFContainer of each Container, the beginning and end timings are also saved. This file will be used to correlate data from the multiple IntervalOfContainers files. It stores also the sum of all the times of all StateTypes encountered in each intervalOFContainers.
      
      - we can now open this .vite file. A ParserSplitted is then used, allowing to restore the structure of the trace and all types. 
      
         - If the -t option is specified with a time interval, data is directly reloaded from the serialized files, loading in memory only the intervalofcontainers in the time interval.
         - If the -t option was not specified, we load the preview version of the trace, contained in the .vite file.
      
      The preview version only stores states for the moment. When browsing the preview version, user can select a zone and press ctrl. This opens a new vite window, with the same zoom, but the data is then loaded from the serialized files.
      
      
      
      How to use : 
      
      needed libraries : libboost_serialization, libboost_thread, and libboost_iostreams . These libraries are in the standard boost package. In linux, they include the gzip library needed for compression and bindings. In windows, this library is not included and has to be included after, and boost recompiled.
      
      - cmake : activate the option VITE_ENABLE_SERIALIZATION in order to check for boost libraries, and to add corresponding files 
      - configure :  add the flag --use_boost if libraries are in /usr/lib, --boost_libdir=$dir else.
      - by hand in the src.pro file :  add needed libraries ( -lboost_serialization -lboost_thread -lboost_iostreams ) and flags USE_ITC, BOOST_SERIALIZE, and BOOST_GZIP to activate everything
      
      
      
      todo: 
      - make preview + -c option work together ( -c and -t work together for the moment, -c and preview also, but not when loading actual data from disk)
      - add other data to the preview (links events and variables)
      - check if using lots of threads to compress is really useful
      - better balance between those threads, without rebinding qt signal/slots each time
      - tests, tests and tests.
      - documentation and comments.
      fbf0b6c1
  25. 13 Jun, 2011 1 commit
    • Augustin Degomme's avatar
      - remove the line size limit in mt parsing · 09b2bf7b
      Augustin Degomme authored
      - add a few messages and warning in core
      - no longer try to parse .otf files with paje parser when otf is not compiled
      - fix a bug with vertical line not disappearing when clicking on containers
      - memory improvements :
          - do not store extra_fields for each entity as an empty map when they are not present but as a null pointer (need more checks to avoid segfaults, hope I didn't forget some in drawtrace and other files needing get_extra_fields)
          - remove a virtual destructor in Entity.h (virtual functions add memory overhead to their inheriting objects)
      -> on my windows, sizeof(Link) was 72, it is now 56, and for a 55Mb trace I went from 325 Mb with 1.2 to 275 Mb of used memory with trunk
      09b2bf7b
  26. 11 Jun, 2011 1 commit
    • Augustin Degomme's avatar
      continuing the flood of your mailboxes · e46d22b3
      Augustin Degomme authored
      - a few warnings removed for windows again
      - node selection while zooming now almost keeps the zoom (I don't get why the min changes a little bit, and don't know if it's possible to fix this)
      
      new features:
      -multithreaded Paje parser : this parser uses 3 threads :
         - the parsing thread to read the file and produce lines and tokens (lexical analysis), and aggregate them in blocks of 10000 lines 
         - the builder thread which handles these blocks of lines and calls store_event of the ParserEventPaje and transforms the tokens into the appropriate types, checks the correctness of the line (syntaxic analysis) but doesn't perform the calls to trace and the structural verifications 
        - the trace building thread which performs semantic analysis (if types, containers, exist) and performs the calls to the trace (adding events, states to the trace).
      
      - file mapping : just for multithread version, the file is mapped into memory by chunks (100MB for the moment), which is faster and allows to handle larger files without using too much memory. The limit of 1Gb of the other version is removed, ViTE can now handle much larger files.
      
      
      These features need more testing and feedback and can be activated at compile time by setting the flag MT_PARSING. 
      
      note: the parser still uses a tokens number limit, this will be merged with the new version soon.
      
      
      issues:
      - gracefully stop parsing when cancel button is hit is not handled yet and causes segfaults
      e46d22b3
  27. 10 Jun, 2011 1 commit
  28. 11 Apr, 2011 2 commits
  29. 07 Apr, 2011 1 commit
  30. 25 Mar, 2011 1 commit