Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ChangeLog « profiler « mono - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8ee5814f5ad24bc5318acb1603e1461d0667169c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
2010-02-13  Zoltan Varga  <vargaz@gmail.com>

	* 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  <vargaz@gmail.com>

	* mono-profiler-logging.c (_ProfilerFileWriteBuffer): Use MONO_ZERO_LEN_ARRAY.
	Fixes #569806.

2009-09-14  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c: Changed max depth of call chains to 128.

2009-08-21  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Report all wrapper types.

2009-08-21  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: While debugging file writes, also print the
	exact number of bytes written to disk.

2009-08-18  Christian Hergert  <chris@dronelabs.com>

	* mono-profiler-aot.c:
	* mono-cov.c: Add missing method declarations.

2009-08-14  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c (disable_profiler):
	Flush buffers synchronously so the GUI knows when we are done.

2009-08-14  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* 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 <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c: Removed debugging printf statement.

2009-06-18  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c:
	Added assembly information to classes and wrapper flag to methods.

2009-05-25  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c (write_thread_data_block): Only emit initial
	stack snippet if we are tracking stacks.

2009-05-25  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c: Removed useless "gc-signal" option (the
	newer "heap=<SIGNAL>" format of the "heap" option does the same thing).

2009-03-16  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* 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 <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c: added "save-allocation-caller" option.

2008-12-30  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c: Added defaults to command line options.

2008-12-01  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c:
	Make sure that stack sections can be fully reconstructed even reading
	only one block.

2008-10-10  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c:
	Added "aci" option to emit the object "id" at each allocation. 

2008-10-10  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* Makefile.am: Don't build the profilers if DISABLE_PROFILER is set.

2008-09-08  Massimiliano Mantione <massi@ximian.com>
	* 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  <vargaz@gmail.com>

	* mono-profiler-logging.c (detect_fast_timer): Add missing return type.

2008-08-21  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Added support for correct accounting of
	allocations which happened at JIT time.

2008-08-20  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c: Added stack tracking (even if still unused).

2008-07-28  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c: Fix the "allocation summaries" feature
	(I committed it but it never really worked until now).

2008-07-04  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Emit full type names for loaded classes
	(patch by Rodrigo Kumpera).

2008-07-04  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Use the new "runtime initialized" hook.

2008-07-04  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Fix an embarassingly stupid problem with
	buffer sizes.

2008-07-03  Massimiliano Mantione <massi@ximian.com>
	* 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 <massi@ximian.com>
	* mono-profiler-logging.c: When offloading flushing to the writer
	thread, first check that it still exists.

2008-06-25  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Offload more flushing to the writer thread,
	and fix the shutdown sequence.

2008-06-25  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Made so that at appdomain unload the
	buffers are flushed by the profiler worker thread (which we know
	is registered with the runtime).

2008-06-25  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Added more logging code.

2008-06-25  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Record also the domain of each statistical
	hit, so that mono_jit_info_table_find works properly.

2008-06-25  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Fixed breakage introduced in r105966

2008-06-17  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Implemented signal based enable-disable
	toggling for the statistical and enter-exit events.

2008-06-17  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c (write_statistical_hit): Use the proper
	domain instead of trying to get one.

2008-06-16  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c (module_end_load, assembly_end_load):
	Properly check the return value of "mono_assembly_fill_assembly_name",
	otherwise "mono_stringify_assembly_name" can crash.

2008-06-16  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Fix a segfault on shutdown (see Marek's
	fix for the default profiler in r105466, the problem is the same.

2008-06-16  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Initial implementation of summary report
	for allocations at each collection.

2008-05-23  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Fix warnings x86 and remove debugging code.

2008-05-23  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Fix the build on x86.

2008-05-23  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Support call chains (backtrace) in the
	stat profiler.

2008-05-12  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c (handle_heap_profiling): Flush all data
	buffers, so that objext allocation events are written before the heap
	description (which contains the "object free" events).

2008-05-12  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Added support for a global counter of all
	garbage collections, so that the file decoder can correlate the
	events properly.

2008-05-12  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Fixed a bug that prevented using rdtsc,
	and enabled rdtsc by default,adding a command line option to revert
	to using gettimeofday.

2008-05-02  Massimiliano Mantione <massi@ximian.com>
	 * mono-profiler-logging.c: Turned DEBUG_STATISTICAL_PROFILER off...

2008-05-02  Massimiliano Mantione <massi@ximian.com>
	 * mono-profiler-logging.c : Rework statistical profiler, adding the
	 ability to scan symbol tables in elf files instead of using dladdr
	 (dladdr skips lots of symbols which this way we get correctly).

2008-04-16  Massimiliano Mantione <massi@ximian.com>
	 * mono-profiler-logging.c (gc_event): Fix deadlock condition.

2008-04-16  Massimiliano Mantione <massi@ximian.com>
	 * mono-profiler-logging.c (write_current_block): Added an incremental
	 "counter delta" field to the block header, so that each block has a
	 timestamp directly in the header.
	 This will allow tools to know when a block has been emitted without
	 decoding (even without reading) the block contents.
	 So, if the user is only interested in blocks emitted in a certain
	 time interval, the tool can seek into the file instead of reading the
	 block contents.
	 Of course this breaks the file format, but at this stage we can still
	 do it, and... better now than later.

2008-04-10  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c (profiler_heap_scan): removed debugging code
	and therefore removed unconditional inclusion of signal.h (it is now
	included anyway on Unix platforms).

2008-04-10  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Added possibiliy of requesting heap
	snapshots with a signal (like heap-shot).

2008-04-02  Rodrigo Kumpera <rkumpera@novell.com>

	* mono-profiler-logging.c: Fix the arm build. G_BREAKPOINT() does
	a "raise(SIGTRAL)" and in some platforms <signal.h> must be included.

2008-03-28  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Added option to append a suffix to the
	default file name.

2008-03-27  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: setup_user_options: set default log file
	name to the name of the executed application.

2008-03-26  Massimiliano Mantione <massi@ximian.com>
	* Makefile.am: enabled the logging profiler on Linux.

2008-03-26  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Attach and detach the writer thread.

2008-03-25  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Fixed bug with memory region indexes.

2008-03-18  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c:
	OPEN_FILE(): Fixed file creation.
	[UN]LOCK_PROFILER(): Removed logging message.

2008-03-11  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: Fixed heap profiler, added a new way to
	get the symbol names for unmanaged functions, and fixed lots of bugs.

2008-01-08  Massimiliano Mantione <massi@ximian.com>
	* mono-profiler-logging.c: First code drop of new logging profiler
	(and shamefully forgot to set HAS_OPROFILE to 0...).
	* Makefile.am: Added logging profiler, but commented in out to avoid
	breaking the build on Windows.

2005-07-25  Zoltan Varga  <vargaz@freemail.hu>

	* mono-cov.c: Applied patch from Iain McCoy (iain@mccoy.id.au). Fixes
	#75619.

2003-11-12  Jackson Harper  <jackson@ximian.com>

	* mono-cov.c: Change default assembly name to mscorlib.dll
	
Tue Jul 1 11:26:10 CEST 2003 Paolo Molaro <lupus@ximian.com>

	* Makefile.am: added.

Mon Jun 16 18:21:26 CEST 2003 Paolo Molaro <lupus@ximian.com>

	* mono-cov.c: coverage profiler.