X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fprofiler%2FChangeLog;h=2a4e1588da56c6046289121cffb6187bf254ffea;hb=1b25957fbfc250746c9f46331cc12f971667c9d8;hp=09ebbae03f6be32d39bc2e0a3c5a3141f9b0f76e;hpb=77d4d9bb5752767b99fd52c3ef0e8db6113ef345;p=mono.git diff --git a/mono/profiler/ChangeLog b/mono/profiler/ChangeLog index 09ebbae03f6..2a4e1588da5 100644 --- a/mono/profiler/ChangeLog +++ b/mono/profiler/ChangeLog @@ -1,3 +1,272 @@ + +Tue Mar 16 11:20:14 CET 2010 Paolo Molaro + + * mono-profiler-iomap.c: fix some API usage and add a warning + about this code. + +Wed Mar 3 19:17:14 CET 2010 Paolo Molaro + + * mono-profiler-iomap.c: use the normal allocation callback. + +Wed Feb 24 15:55:31 CET 2010 Paolo Molaro + + * Makefile.am, mono-cov.c, mono-profiler-logging.c, + mono-profiler-aot.c: update to the new API/ABI. + +2010-02-13 Zoltan Varga + + * mono-profiler-aot.c (output_image): Emit method names instead of tokens so + the info can be used for different versions of the same assembly. Don't append + the assembly guid to the file names. + +2010-01-11 Zoltan Varga + + * mono-profiler-logging.c (_ProfilerFileWriteBuffer): Use MONO_ZERO_LEN_ARRAY. + Fixes #569806. + +2009-12-11 Marek Habersack + + * mono-profiler-iomap.c: added + + * Makefile.am: added IOMAP profiler + +2009-10-14 Massimiliano Mantione + * mono-profiler-logging.c: Removed MAX_STATISTICAL_CALL_CHAIN_DEPTH + definition (it belongs to the runtime), and implemented support for + different strategies for building call chains in stat mode. + +2009-10-14 Massimiliano Mantione + * mono-profiler-logging.c: Removed useless "domain" parameter from + write_statistical_hit, and consequentely removed a call to + mono_thread_current from write_statistical_data_block (which sometimes + caused crashes on shutdown). + +2009-09-14 Massimiliano Mantione + * mono-profiler-logging.c: Removed the use of signals to control the + profiler and extended the socket based interface to control also + heap snapshots. + +2009-08-21 Massimiliano Mantione + * mono-profiler-logging.c: Changed max depth of call chains to 128. + +2009-08-21 Massimiliano Mantione + * mono-profiler-logging.c: Report all wrapper types. + +2009-08-21 Massimiliano Mantione + * mono-profiler-logging.c: While debugging file writes, also print the + exact number of bytes written to disk. + +2009-08-18 Christian Hergert + + * mono-profiler-aot.c: + * mono-cov.c: Add missing method declarations. + +2009-08-14 Massimiliano Mantione + * mono-profiler-logging.c (disable_profiler): + Flush buffers synchronously so the GUI knows when we are done. + +2009-08-14 Massimiliano Mantione + * mono-profiler-logging.c: + - Added user thread reading commands from a local tcp port. + - Fixed file flushing after writing a block. + - Force full buffer flushing after disabling the profiler. + +2009-08-06 Massimiliano Mantione + * mono-profiler-logging.c: + - Avoid registering the writer thread with the runtime unless when + it must create a heap snapshot. + - Simplified buffer flushing when an appdomain, image or assembly is + unloaded (now it can be done in the current thread). + - During shutdown, moved "code chunk cleanup" is a region of code + that holds the profiler lock. + +2009-07-29 Massimiliano Mantione + * mono-profiler-logging.c: Implemented data structures to keep track + of code buffers produced by the runtime, and used them instead of + jit_info_table_find for the statistical profiler. + This eliminates crashes related to problems with the writer thread and + its registration to the runtime. + +2009-06-18 Massimiliano Mantione + * mono-profiler-logging.c: Removed debugging printf statement. + +2009-06-18 Massimiliano Mantione + * mono-profiler-logging.c: + Added assembly information to classes and wrapper flag to methods. + +2009-05-25 Massimiliano Mantione + * mono-profiler-logging.c (write_thread_data_block): Only emit initial + stack snippet if we are tracking stacks. + +2009-05-25 Massimiliano Mantione + * mono-profiler-logging.c (setup_user_options): Avoid tracking stacks + and emitting allocation caller information if we are already emitting + method enter and exit events. + +2009-04-06 Massimiliano Mantione + * mono-profiler-logging.c: Added monitor contention profiling. + - Changed RESERVE_EVENTS to require a call to the new + COMMIT_RESERVED_EVENTS macro after we have filled the event slots + (this allows to acquire all the event slots atomically). + - Created utility function "save_stack_delta". + - Created "monitor_event" callback. + - renamed "handle_heap_profiling" as "process_gc_event" because it + must be used also to help avoid interferences between garbage + collections and monitor profiling. + +2009-03-23 Massimiliano Mantione + * mono-profiler-logging.c: Removed useless "gc-signal" option (the + newer "heap=" format of the "heap" option does the same thing). + +2009-03-16 Massimiliano Mantione + * mono-profiler-logging.c: When checking if an elf file is valid, + avoid mapping it in memory until we know it's usable (avoids virtual + memory fragmentation issues). + +2009-01-25 Massimiliano Mantione + * mono-profiler-logging.c: Bug fixing. + The issue is that while reading /proc/self/maps is can happen that + the last regions (typically [vsyscall] and [vsdo]) are reported more + than once (or anyway are read more than once, even when usng the plain + "read" call with no buffering), and I found no workaround for this. + So the code must be careful and throw away the duplicates. + - restore_old_regions: work starting from the new regions instead of + the old ones. + - sort_regions: introduce a "throw away the duplicates" pass. + - fix_region_references: added a pass to make sure that the elf files + always reference the new regions and not the old ones. + - refresh_memory_regions: call "sort_regions" before + "restore_old_regions" so we know we have no duplicates. + +2009-01-18 Massimiliano Mantione + * mono-profiler-logging.c: Bug fixing. + - profiler_executable_memory_region_destroy: fixed a cut&paste mistake + causing a double free. + - executable_file_open: allow the code to look at all files, and fix + building of "files->new_files" list. + - executable_file_free: set "file->section_regions" to NULL when + freeing it (for safety). + +2008-12-31 Massimiliano Mantione + * mono-profiler-logging.c: added "save-allocation-caller" option. + +2008-12-30 Massimiliano Mantione + * mono-profiler-logging.c: + - profiler_executable_memory_region_destroy: fixed memory region + unloading. + - executable_file_add_region_reference: likewise. + - executable_file_close: likewise. + - executable_file_open: fixed file name handling. + - parse_map_line: likewise. + - scan_process_regions: likewise. + - statistical_call_chain: exit loop if the writer thread is busy. + +2008-12-11 Massimiliano Mantione + * mono-profiler-logging.c: + - executable_file_open: Proper remember of already opened files. + - ProfilerStatisticalData: use unsigned values so the index never + trips over and becomes negative. + - statistical_call_chain, statistical_hit: likewise. + +2008-12-11 Massimiliano Mantione + * mono-profiler-logging.c: Added defaults to command line options. + +2008-12-01 Massimiliano Mantione + * mono-profiler-logging.c: + - ProfilerThreadStack: added "last_written_frame" and "written_frames" + fields to keep track of the call stacks actually written, so that we + can "replay" the full call stack at the beginning of each event block + (which allows the decoder to read blocks in random order and still see + all the call stacks correctly). + - gc_event: Fixed event creation sequence. + - Improved event logging (debugging) code. + +2008-11-04 Massimiliano Mantione + * mono-profiler-logging.c: + Make sure that stack sections can be fully reconstructed even reading + only one block. + +2008-10-10 Massimiliano Mantione + * mono-profiler-logging.c: + Added "aci" option to emit the object "id" at each allocation. + +2008-10-10 Massimiliano Mantione + * mono-profiler-logging.c: + Added support for handling the stack trace of each allocation event. + - MonoProfilerDirectives: added directive to state that allocations + have stack traces (not strictly needed, but simplifirs the decoder). + - ProfilerEventData: gave one more bit to code (and one less to value). + - MonoProfilerEvents: Added "stack section" event to record stack state. + - ProfilerThreadStack: added last_saved_top to track what we just saved. + - _MonoProfiler::action_flags: Added save_allocation_caller and + save_allocation_stack to state what we do for allocations. + - All "thread_stack_..." functions: Track last_saved_top. + - Added thread_stack_count_unsaved_frames utilty function. + - write_directives_block: handle ALLOCATIONS_HAVE_STACK directive. + - Added write_stack_section_event function. + - write_event: also handle emission of stack sections. + - Reworked all the "STORE_EVENT_..." macros to work on arbitrary event + slots (needed for stack sections), and as a consequence fixed all the + functions that use them. + - object_allocated: save "delta" stack section if needed. + - setup_user_options: handle new "sas" option. + +2008-09-08 Massimiliano Mantione + * Makefile.am: Don't build the profilers if DISABLE_PROFILER is set. + +2008-09-08 Massimiliano Mantione + * mono-profiler-logging.c: + - setup_user_options: made so that the user has to explicitly request + the "f" mode when the "h" is asked, otherwise the number of snapshot + blocks in the file is very confusing. + - Added three icalls to control the profiler from the profiled + application. + +2008-08-28 Zoltan Varga + + * mono-profiler-logging.c (detect_fast_timer): Add missing return type. + +2008-08-21 Massimiliano Mantione + * mono-profiler-logging.c: Added support for correct accounting of + allocations which happened at JIT time. + +2008-08-20 Massimiliano Mantione + * mono-profiler-logging.c: Added directives block, and used it to + state that "allocation attribution" done using the stack tracking (so + that allocation callers are directly written in the log file). + +2008-07-28 Massimiliano Mantione + * mono-profiler-logging.c: Added stack tracking (even if still unused). + +2008-07-28 Massimiliano Mantione + * mono-profiler-logging.c: Fix bug 412473: + - write_statistical_data_block: check if the current MonoThread still + exists, and if not avoid calling mono_jit_info_table_find. + - profiler_shutdown: flush everything in the current thread. + +2008-07-28 Massimiliano Mantione + * mono-profiler-logging.c: Fix the "allocation summaries" feature + (I committed it but it never really worked until now). + +2008-07-04 Massimiliano Mantione + * mono-profiler-logging.c: Emit full type names for loaded classes + (patch by Rodrigo Kumpera). + +2008-07-04 Massimiliano Mantione + * mono-profiler-logging.c: Use the new "runtime initialized" hook. + +2008-07-04 Massimiliano Mantione + * mono-profiler-logging.c: Fix an embarassingly stupid problem with + buffer sizes. + +2008-07-03 Massimiliano Mantione + * mono-profiler-logging.c: Changed the way to wait for the writer + thread to avoid passing an invalid handle to pthread_join. + +2008-06-28 Massimiliano Mantione + * mono-profiler-logging.c: When offloading flushing to the writer + thread, first check that it still exists. + 2008-06-25 Massimiliano Mantione * mono-profiler-logging.c: Offload more flushing to the writer thread, and fix the shutdown sequence.