2008-11-05 Zoltan Varga <vargaz@gmail.com>
[mono-project.git] / mono / profiler / ChangeLog
blob9397a0a37f752229bbae2e8654649934e3ebe9c8
1 2008-11-04  Massimiliano Mantione <massi@ximian.com>
2         * mono-profiler-logging.c:
3         Make sure that stack sections can be fully reconstructed even reading
4         only one block.
6 2008-10-10  Massimiliano Mantione <massi@ximian.com>
7         * mono-profiler-logging.c:
8         Added "aci" option to emit the object "id" at each allocation. 
10 2008-10-10  Massimiliano Mantione <massi@ximian.com>
11         * mono-profiler-logging.c:
12         Added support for handling the stack trace of each allocation event.
13         - MonoProfilerDirectives: added directive to state that allocations
14         have stack traces (not strictly needed, but simplifirs the decoder).
15         - ProfilerEventData: gave one more bit to code (and one less to value).
16         - MonoProfilerEvents: Added "stack section" event to record stack state.
17         - ProfilerThreadStack: added last_saved_top to track what we just saved.
18         - _MonoProfiler::action_flags: Added save_allocation_caller and
19         save_allocation_stack to state what we do for allocations.
20         - All "thread_stack_..." functions: Track last_saved_top.
21         - Added thread_stack_count_unsaved_frames utilty function.
22         - write_directives_block: handle ALLOCATIONS_HAVE_STACK directive.
23         - Added write_stack_section_event function.
24         - write_event: also handle emission of stack sections.
25         - Reworked all the "STORE_EVENT_..." macros to work on arbitrary event
26         slots (needed for stack sections), and as a consequence fixed all the
27         functions that use them.
28         - object_allocated: save "delta" stack section if needed.
29         - setup_user_options: handle new "sas" option.
31 2008-09-08  Massimiliano Mantione <massi@ximian.com>
32         * Makefile.am: Don't build the profilers if DISABLE_PROFILER is set.
34 2008-09-08  Massimiliano Mantione <massi@ximian.com>
35         * mono-profiler-logging.c:
36         - setup_user_options: made so that the user has to explicitly request
37         the "f" mode when the "h" is asked, otherwise the number of snapshot
38         blocks in the file is very confusing.
39         - Added three icalls to control the profiler from the profiled
40         application.
42 2008-08-28  Zoltan Varga  <vargaz@gmail.com>
44         * mono-profiler-logging.c (detect_fast_timer): Add missing return type.
46 2008-08-21  Massimiliano Mantione <massi@ximian.com>
47         * mono-profiler-logging.c: Added support for correct accounting of
48         allocations which happened at JIT time.
50 2008-08-20  Massimiliano Mantione <massi@ximian.com>
51         * mono-profiler-logging.c: Added directives block, and used it to
52         state that "allocation attribution" done using the stack tracking (so
53         that allocation callers are directly written in the log file).
55 2008-07-28  Massimiliano Mantione <massi@ximian.com>
56         * mono-profiler-logging.c: Added stack tracking (even if still unused).
58 2008-07-28  Massimiliano Mantione <massi@ximian.com>
59         * mono-profiler-logging.c: Fix bug 412473:
60         - write_statistical_data_block: check if the current MonoThread still
61         exists, and if not avoid calling mono_jit_info_table_find.
62         - profiler_shutdown: flush everything in the current thread.
64 2008-07-28  Massimiliano Mantione <massi@ximian.com>
65         * mono-profiler-logging.c: Fix the "allocation summaries" feature
66         (I committed it but it never really worked until now).
68 2008-07-04  Massimiliano Mantione <massi@ximian.com>
69         * mono-profiler-logging.c: Emit full type names for loaded classes
70         (patch by Rodrigo Kumpera).
72 2008-07-04  Massimiliano Mantione <massi@ximian.com>
73         * mono-profiler-logging.c: Use the new "runtime initialized" hook.
75 2008-07-04  Massimiliano Mantione <massi@ximian.com>
76         * mono-profiler-logging.c: Fix an embarassingly stupid problem with
77         buffer sizes.
79 2008-07-03  Massimiliano Mantione <massi@ximian.com>
80         * mono-profiler-logging.c: Changed the way to wait for the writer
81         thread to avoid passing an invalid handle to pthread_join.
83 2008-06-28  Massimiliano Mantione <massi@ximian.com>
84         * mono-profiler-logging.c: When offloading flushing to the writer
85         thread, first check that it still exists.
87 2008-06-25  Massimiliano Mantione <massi@ximian.com>
88         * mono-profiler-logging.c: Offload more flushing to the writer thread,
89         and fix the shutdown sequence.
91 2008-06-25  Massimiliano Mantione <massi@ximian.com>
92         * mono-profiler-logging.c: Made so that at appdomain unload the
93         buffers are flushed by the profiler worker thread (which we know
94         is registered with the runtime).
96 2008-06-25  Massimiliano Mantione <massi@ximian.com>
97         * mono-profiler-logging.c: Added more logging code.
99 2008-06-25  Massimiliano Mantione <massi@ximian.com>
100         * mono-profiler-logging.c: Record also the domain of each statistical
101         hit, so that mono_jit_info_table_find works properly.
103 2008-06-25  Massimiliano Mantione <massi@ximian.com>
104         * mono-profiler-logging.c: Fixed breakage introduced in r105966
106 2008-06-17  Massimiliano Mantione <massi@ximian.com>
107         * mono-profiler-logging.c: Implemented signal based enable-disable
108         toggling for the statistical and enter-exit events.
110 2008-06-17  Massimiliano Mantione <massi@ximian.com>
111         * mono-profiler-logging.c (write_statistical_hit): Use the proper
112         domain instead of trying to get one.
114 2008-06-16  Massimiliano Mantione <massi@ximian.com>
115         * mono-profiler-logging.c (module_end_load, assembly_end_load):
116         Properly check the return value of "mono_assembly_fill_assembly_name",
117         otherwise "mono_stringify_assembly_name" can crash.
119 2008-06-16  Massimiliano Mantione <massi@ximian.com>
120         * mono-profiler-logging.c: Fix a segfault on shutdown (see Marek's
121         fix for the default profiler in r105466, the problem is the same.
123 2008-06-16  Massimiliano Mantione <massi@ximian.com>
124         * mono-profiler-logging.c: Initial implementation of summary report
125         for allocations at each collection.
127 2008-05-23  Massimiliano Mantione <massi@ximian.com>
128         * mono-profiler-logging.c: Fix warnings x86 and remove debugging code.
130 2008-05-23  Massimiliano Mantione <massi@ximian.com>
131         * mono-profiler-logging.c: Fix the build on x86.
133 2008-05-23  Massimiliano Mantione <massi@ximian.com>
134         * mono-profiler-logging.c: Support call chains (backtrace) in the
135         stat profiler.
137 2008-05-12  Massimiliano Mantione <massi@ximian.com>
138         * mono-profiler-logging.c (handle_heap_profiling): Flush all data
139         buffers, so that objext allocation events are written before the heap
140         description (which contains the "object free" events).
142 2008-05-12  Massimiliano Mantione <massi@ximian.com>
143         * mono-profiler-logging.c: Added support for a global counter of all
144         garbage collections, so that the file decoder can correlate the
145         events properly.
147 2008-05-12  Massimiliano Mantione <massi@ximian.com>
148         * mono-profiler-logging.c: Fixed a bug that prevented using rdtsc,
149         and enabled rdtsc by default,adding a command line option to revert
150         to using gettimeofday.
152 2008-05-02  Massimiliano Mantione <massi@ximian.com>
153          * mono-profiler-logging.c: Turned DEBUG_STATISTICAL_PROFILER off...
155 2008-05-02  Massimiliano Mantione <massi@ximian.com>
156          * mono-profiler-logging.c : Rework statistical profiler, adding the
157          ability to scan symbol tables in elf files instead of using dladdr
158          (dladdr skips lots of symbols which this way we get correctly).
160 2008-04-16  Massimiliano Mantione <massi@ximian.com>
161          * mono-profiler-logging.c (gc_event): Fix deadlock condition.
163 2008-04-16  Massimiliano Mantione <massi@ximian.com>
164          * mono-profiler-logging.c (write_current_block): Added an incremental
165          "counter delta" field to the block header, so that each block has a
166          timestamp directly in the header.
167          This will allow tools to know when a block has been emitted without
168          decoding (even without reading) the block contents.
169          So, if the user is only interested in blocks emitted in a certain
170          time interval, the tool can seek into the file instead of reading the
171          block contents.
172          Of course this breaks the file format, but at this stage we can still
173          do it, and... better now than later.
175 2008-04-10  Massimiliano Mantione <massi@ximian.com>
176         * mono-profiler-logging.c (profiler_heap_scan): removed debugging code
177         and therefore removed unconditional inclusion of signal.h (it is now
178         included anyway on Unix platforms).
180 2008-04-10  Massimiliano Mantione <massi@ximian.com>
181         * mono-profiler-logging.c: Added possibiliy of requesting heap
182         snapshots with a signal (like heap-shot).
184 2008-04-02  Rodrigo Kumpera <rkumpera@novell.com>
186         * mono-profiler-logging.c: Fix the arm build. G_BREAKPOINT() does
187         a "raise(SIGTRAL)" and in some platforms <signal.h> must be included.
189 2008-03-28  Massimiliano Mantione <massi@ximian.com>
190         * mono-profiler-logging.c: Added option to append a suffix to the
191         default file name.
193 2008-03-27  Massimiliano Mantione <massi@ximian.com>
194         * mono-profiler-logging.c: setup_user_options: set default log file
195         name to the name of the executed application.
197 2008-03-26  Massimiliano Mantione <massi@ximian.com>
198         * Makefile.am: enabled the logging profiler on Linux.
200 2008-03-26  Massimiliano Mantione <massi@ximian.com>
201         * mono-profiler-logging.c: Attach and detach the writer thread.
203 2008-03-25  Massimiliano Mantione <massi@ximian.com>
204         * mono-profiler-logging.c: Fixed bug with memory region indexes.
206 2008-03-18  Massimiliano Mantione <massi@ximian.com>
207         * mono-profiler-logging.c:
208         OPEN_FILE(): Fixed file creation.
209         [UN]LOCK_PROFILER(): Removed logging message.
211 2008-03-11  Massimiliano Mantione <massi@ximian.com>
212         * mono-profiler-logging.c: Fixed heap profiler, added a new way to
213         get the symbol names for unmanaged functions, and fixed lots of bugs.
215 2008-01-08  Massimiliano Mantione <massi@ximian.com>
216         * mono-profiler-logging.c: First code drop of new logging profiler
217         (and shamefully forgot to set HAS_OPROFILE to 0...).
218         * Makefile.am: Added logging profiler, but commented in out to avoid
219         breaking the build on Windows.
221 2005-07-25  Zoltan Varga  <vargaz@freemail.hu>
223         * mono-cov.c: Applied patch from Iain McCoy (iain@mccoy.id.au). Fixes
224         #75619.
226 2003-11-12  Jackson Harper  <jackson@ximian.com>
228         * mono-cov.c: Change default assembly name to mscorlib.dll
229         
230 Tue Jul 1 11:26:10 CEST 2003 Paolo Molaro <lupus@ximian.com>
232         * Makefile.am: added.
234 Mon Jun 16 18:21:26 CEST 2003 Paolo Molaro <lupus@ximian.com>
236         * mono-cov.c: coverage profiler.