2009-06-12 Massimiliano Mantione * ObjectModel.cs: added method execution time accounting on individual stack frames in the call tree. 2009-06-09 Mike Kestner * ObjectModel.cs: commit Massi's calls StackTrace logging. 2009-05-21 Mike Kestner * *: replace MD 1.0 solution files with 2.0 msbuild files, and turn on makefile synchronization instead of generated makefiles. 2009-04-06 Massimiliano Mantione * BaseTypes.cs, Decoder.cs, ObjectModel.cs, EventProcessor.cs: Added support for monitor profiling. 2009-03-17 Massimiliano Mantione * ObjectModel.cs: In "IHeapItemSetStatisticsSubject.Description" implementations return the full method name. 2009-03-16 Massimiliano Mantione * ObjectModel.cs: fixed description string of "referenced by" subset. 2009-01-17 Massimiliano Mantione * BaseTypes.cs: Added "Region" property to IExecutableMemoryRegion, so that it is possible to set the region when we load the elf file, and use it in "BaseExecutableMemoryRegion.NewFunction". * Decoder.cs, ObjectModel.cs, NativeLibraryReader.cs: Likewise. 2008-12-29 Massimiliano Mantione * ObjectModel.cs: fixed call stack array resize condition. 2008-12-01 Massimiliano Mantione * ObjectModel.cs: - Added interface IHeapItemSetStatisticsSubject to represents criteria by which heap item sets can be examined, implemented by LoadedClass, StackTrace and LoadedMethod. - Added methods to IHeapItem (and implementations) to get the item allocator method and call stack. - Added filter classes (FilterHeapItemByAllocatorMethod, HeapItemWasAllocatedByMethod, FilterHeapItemByAllocationCallStack...) to filter by those criteria. - Added abstract class HeapItemSetStatisticsBySubject to factor the building of statistics (implemented by HeapItemSetClassStatistics, HeapItemSetMethodStatistics and HeapItemSetCallStackStatistics). - Inside HeapItemSet added the BuildStatistics generic method (which works with the previous classes). - Inside HeapItemSet added the FindObjectAllocations functionality. 2008-11-03 Massimiliano Mantione * BaseTypes.cs: Added "header start time" property to the event handler, so that there is always a "context" of when the event block happened diring the execution. Added also this time as a parameter to the heap snapshot factory and constructor. * Decoder.cs: Likewise. * Reader.cs: Likewise. * EventProcessor.cs: Likewise. Moreover, fixed case of public properties and added ability to record each allocation individually (up to now the data was only aggregated, see "AllocatedObject"). * ObjectModel.cs: Massive refactory of "HeapObjectSet", making it generic so that it can be a set of IHeapItem (which in turn can be a HeapObject or an AllocatedObject). This enables exploring heap snapshots and relating each objectg to its allocation event. Also added filtering based on "references objects in another set". 2008-10-13 Massimiliano Mantione * BaseTypes.cs: Turn HeapObject class into generic BaseHeapObject class, and add a new IAllocatedObject interface (this will give more freedom when implementing HeapObject and AllocatedObject separately). * ObjectModel.cs: Derive HeapObject from BaseHeapObject. * EventProcessor.cs: Likewise. 2008-10-12 Massimiliano Mantione * BaseTypes.cs: Added support for object ids in allocation events. * ObjectModel.cs: Likewise. * EventProcessor.cs: Likewise. 2008-10-10 Massimiliano Mantione * BaseTypes.cs: - Added support for handling the stack trace of each allocation event. - Added a DebugProfilerEventHandler which helps detecting decoder bugs. * ObjectModel.cs: Likewise. * EventProcessor.cs: Likewise. * Decoder.cs: Likewise. 2008-09-17 Massimiliano Mantione * ObjectModel.cs: Add "jit time support" to the call stack. * EventProcessor.cs: Likewise. 2008-08-21 Massimiliano Mantione * BaseTypes.cs: Added support for correct accounting of allocations which happened at JIT time. * ObjectModel.cs: Likewise. * Decoder.cs: Likewise. * EventProcessor.cs: Likewise. 2008-08-20 Massimiliano Mantione * BaseTypes.cs: Added support for directives in the log file. * Decoder.cs: Likewise. * EventProcessor.cs: Likewise. 2008-08-12 Massimiliano Mantione * Makefile.am: Fixed for integration into mono-tools; 2008-08-05 Massimiliano Mantione * Reader.cs: If the file is truncated "cleanly" do not throw exceptions. 2008-08-04 Massimiliano Mantione Removed .pc file generation. 2008-08-01 Massimiliano Mantione * Makefile.am, profiler-decoder-library.mdp: renamed output assembly. 2008-08-01 Massimiliano Mantione Makefile.am, profiler-decoder-library.pc.in: Regenerated from MonoDevelop. 2008-07-28 Massimiliano Mantione * Decoder.cs: Fixed decoding for the "allocation summaries" feature. 2008-06-18 Massimiliano Mantione * ObjectModel.cs (StackFrame, CallStack): Keep track of stack depth. 2008-06-18 Massimiliano Mantione * ObjectModel.cs (CallStack): Added explicit thread id. * EventProcessor.cs: likewise. 2008-06-18 Massimiliano Mantione * BaseTypes.cs: Initial implementation of allocation summaries. * Decoder.cs: likewise. * ObjectModel.cs: likewise. * EventProcessor.cs: likewise. 2008-05-23 Massimiliano Mantione * BaseTypes.cs (IProfilerEventHandler): Added StatisticalCallChainStart method to handle call chains. * Decoder.cs (StatisticalCode): Added CALL_CHAIN. (Decode): Decode call chains (calling StatisticalCallChainStart). * ObjectModel.cs: Added caller and callee data to IStatisticalHitItem. * EventProcessor.cs: Use all of the above to handle call chains. 2008-05-12 Massimiliano Mantione * BaseTypes.cs: Added a flag to ILoadedElementFactory and IHeapSnapshot to specify if the snapshot objects must be created in memory or not, so that memory is not wasted if the user is only interested in the other profiling info. * Decoder.cs: Likewise. * ObjectModel.cs: Likewise, and cleaned up "heap-desc" functionality. * EventProcessor.cs: Likewise. 2008-05-12 Massimiliano Mantione * BaseTypes.cs: Added support for garbage collection counter. * Decoder.cs: Likewise. * ObjectModel.cs: Likewise. * EventProcessor.cs: Likewise, and added support for garbage collection statistics in general (GcStatistics class and gc events). 2008-05-05 Massimiliano Mantione * Decoder.cs: Fixed stupid decoding bug. * BaseTypes.cs: Changed FIXME comment. 2008-05-02 Massimiliano Mantione * Decoder.cs: Modified the Decode method to recognize the new way in which the unmanaged symbols are emitted. * EventProcessor.cs: Likewise, and added accounting of unrecognized symbols (statistical hits not found on symbol tables). * ObjectModel.cs: Similar changes to handle unmanaged symbols. * BaseTypes.cs: Likewise. 2008-04-16 Massimiliano Mantione * ObjectModel.cs: Added heap object set comparison operation. 2008-04-16 Massimiliano Mantione * BaseTypes.cs (InitializeBackReferences): temporary workaround for snapshot issue (it seems we get "false" references). 2008-04-16 Massimiliano Mantione * EventProcessor.cs: removed commented code. 2008-04-16 Massimiliano Mantione * Reader (SeekableLogFileReader): Add block timestamps. 2008-04-16 Massimiliano Mantione * Decoder.cs (BlockData): Cope with new timestamp in header. 2008-04-16 Massimiliano Mantione * BaseTypes.cs: Fix spelling of "backReferencesInitialized". 2008-04-15 Massimiliano Mantione * ObjectModel.cs (HeapObjectSet): Added "AllocatedBytes" property. 2008-04-13 Massimiliano Mantione * Reader.cs (SeekableLogFileReader): Implemented a new kind of reader that simply scans the file and builds a summary of all the blocks and their file offsets, but reads no data (each block can be read later). 2008-04-13 Massimiliano Mantione * Decoder.cs (BlockData): Added methods to decode the block header. * Reader.cs (ReadBlock): Use the new methods to decode the block header. 2008-04-13 Massimiliano Mantione * ObjectModel.cs: Completed heap object sets and basic filters. 2008-04-13 Massimiliano Mantione * BaseTypes.cs: Made start and end times proper "DateTime" values. instead of ambiguous "ulong" counters. * ObjectModel.cs: likewise. * EventProcessor.cs: likewise. * Decoder.cs: likewise. 2008-04-13 Massimiliano Mantione * ObjectModel.cs: Initial implementation of heap object sets. 2008-04-11 Massimiliano Mantione * ObjectModel.cs: Made HeapSnapshot non generic (since it is in the specific object model keeping it generic was pointless). * EventProcessor.cs: Likewise. 2008-04-11 Massimiliano Mantione * BaseTypes.cs (ObjextModel.ctor): Added explicit assignments. 2008-04-11 Massimiliano Mantione * BaseTypes.cs: Added back references tracking to HeapObject, and code to build them to BaseHeapSnapshot. * EventProcessor.cs (HeapReportEnd): Do back references initialization. 2008-04-10 Massimiliano Mantione * BaseTypes.cs: Renamed HeapSnapshot to BaseHeapSnapshot because this should be extended, and added a "initialAllocations" argument to the NewHeapSnapshot factory method to allow the initialization of heap summary data. * Decoder.cs: pass "initialAllocations" to the new snapshot. * EventProcessor.cs: Added new HeapSnapshot class which provides desc-heap like reporting facilities. 2008-03-19 Massimiliano Mantione NativeLibraryReader.cs: Redirect stderr to hide it. 2008-03-19 Massimiliano Mantione EventProcessor.cs: Added ProfilerEventHandler.clicksToSeconds method. 2008-03-19 Massimiliano Mantione * Decoder.cs: Uncommented LogLine method but made it public to avoid warnings. 2008-03-11 Massimiliano Mantione BaseTypes.cs, Decoder.cs, EventProcessor.cs, NativeLibraryReader.cs, ObjectModel.cs: Added heap profiling decoding, and changed statistical information format to allow further extensibility. 2008-03-04 Massimiliano Mantione * Decoder.cs: changed out parameters into return values, and commented out tracing code for performance. * Reader.cs: Support recycling byte[] buffers. 2008-02-28 Massimiliano Mantione * BaseTypes.cs: LoadedElementHandler: changed loadedClasses and loadedMethods hash tables into arrays. 2008-02-28 Massimiliano Mantione * BaseTypes.cs: added support for gc start-stop world events. * Decode.cs: likewise. 2008-01-11 Massimiliano Mantione * AssemblyInfo.cs: Added (first code dump). * NativeLibraryReader.cs: Added (first code dump). * BaseTypes.cs: Added (first code dump). * EventProcessor.cs: Added (first code dump). * Reader.cs: Added (first code dump). * Decoder.cs: Added (first code dump). * ObjectModel.cs: Added (first code dump). * profiler-decoder-library.mdp: Added (first code dump). * ChangeLog: Added (first code dump).