History log of /haiku/src/bin/debug/profile/Thread.cpp
Revision Date Author Comments
# 75064315 23-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Made Team BReferenceable. Since teams are usually destroyed before their main
thread, we were accessing already destroyed Team objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35591 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 28f88875 21-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Made ProfileResult and ImageProfileResults BReferenceable.
* Added command line option '-S', which triggers a new summary mode. When
enabled the image/symbol hits aren't counted for individual threads
anymore, but summed up for all threads. The results are printed at the end.
Works together with all profiling modes (inclusive, exclusive, callgrind).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35573 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a28c22f 21-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

More refactoring:
* Renamed *ProfileResultImage to *ImageProfileResult.
* Separated the image result management from the *ProfileResult classes:
- The general per-thread image management functionality does now live in
Thread.
- Introduced interface ImageProfileResultContainer which is implemented by
Thread. An instance is passed to ProfileResult::AddSamples()/PrintResult().
* Made *ProfileResultImage independent of Image. The dependency is now to
SharedImage only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35556 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fc675d5 20-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Some refactoring:
* Added new class ProfiledEntity which Thread derives from and which is the
new dependency for the profile result classes (instead of Thread).
* Renamed *ThreadProfileResult to *ProfileResult and *ThreadImage to
*ProfileResultImage and move ProfileResult[Image] into a new header/source
file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35546 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1b9d2885 16-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Also pass the team arguments and thread names with the respective system
profiling events.
* profile: Avoid using get_{team,thread}_info() in common code paths. The
system profiling mode is asynchronous, so the team or thread in question
could already be gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30193 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0f379156 11-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* debug_create_symbol_lookup_context() gets a team ID instead of a
debug context now. That's all it needs.
* Added the option "-a" to the profile command line tool. It triggers profiling
of the whole system. There are still some issues, particularly image related
ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30129 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 051fad0f 29-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

More refactoring:
* Moved the BasicThreadProfileResult class, its subclasses and related
code into separate files.
* Made ThreadImage an abstract base class. Pulled the meaty part into
new subclass BasicThreadImage.
* Templatized AbstractThreadProfileResult over the ThreadImage type.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27788 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 72e19fd4 29-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled subclass BasicThreadProfileResult out of
AbstractThreadProfileResult. The latter only manages the images, now.
Moved the AddSamples() code into BasicThreadProfileResult subclasses that
handle it depending on whether the function hits are counted inclusively
or exclusively ("-f" option).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27782 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ed2fc873 29-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Some refactoring: Separated the profile result collection from the
thread management. There's now a ThreadProfileResult (abstract base
class) object associated with a Thread object. Currently there's only
one (currently misnamed) derived class AbstractThreadProfileResult, but
some more refactoring will make the purpose clearer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27780 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 120cfc62 29-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved several classes into their own files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27779 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 750643152760466f97922716b1b15f086a3b91c4 23-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Made Team BReferenceable. Since teams are usually destroyed before their main
thread, we were accessing already destroyed Team objects.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35591 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 28f88875170b0b6b86f7685e4b6c9b6cdf02affd 21-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Made ProfileResult and ImageProfileResults BReferenceable.
* Added command line option '-S', which triggers a new summary mode. When
enabled the image/symbol hits aren't counted for individual threads
anymore, but summed up for all threads. The results are printed at the end.
Works together with all profiling modes (inclusive, exclusive, callgrind).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35573 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a28c22f5c460a3856cf35845bde71de1992ca94 21-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

More refactoring:
* Renamed *ProfileResultImage to *ImageProfileResult.
* Separated the image result management from the *ProfileResult classes:
- The general per-thread image management functionality does now live in
Thread.
- Introduced interface ImageProfileResultContainer which is implemented by
Thread. An instance is passed to ProfileResult::AddSamples()/PrintResult().
* Made *ProfileResultImage independent of Image. The dependency is now to
SharedImage only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35556 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fc675d57e5ebfc2ce837b9bad0fccd5b96c64d9 20-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Some refactoring:
* Added new class ProfiledEntity which Thread derives from and which is the
new dependency for the profile result classes (instead of Thread).
* Renamed *ThreadProfileResult to *ProfileResult and *ThreadImage to
*ProfileResultImage and move ProfileResult[Image] into a new header/source
file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35546 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1b9d2885d30d9fb9bdd083550d9da97c0e80af6c 16-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Also pass the team arguments and thread names with the respective system
profiling events.
* profile: Avoid using get_{team,thread}_info() in common code paths. The
system profiling mode is asynchronous, so the team or thread in question
could already be gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30193 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0f3791568750bf18150d932c1e5fba2a215b9344 11-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* debug_create_symbol_lookup_context() gets a team ID instead of a
debug context now. That's all it needs.
* Added the option "-a" to the profile command line tool. It triggers profiling
of the whole system. There are still some issues, particularly image related
ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30129 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 051fad0f92b2a631351f8a7fbb1b02235840d68c 29-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

More refactoring:
* Moved the BasicThreadProfileResult class, its subclasses and related
code into separate files.
* Made ThreadImage an abstract base class. Pulled the meaty part into
new subclass BasicThreadImage.
* Templatized AbstractThreadProfileResult over the ThreadImage type.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27788 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 72e19fd42681e08daec05ef864a661a6fe6fbec9 29-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled subclass BasicThreadProfileResult out of
AbstractThreadProfileResult. The latter only manages the images, now.
Moved the AddSamples() code into BasicThreadProfileResult subclasses that
handle it depending on whether the function hits are counted inclusively
or exclusively ("-f" option).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27782 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ed2fc873006d382ca1b45ea9fd2a4623c0198d8c 29-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Some refactoring: Separated the profile result collection from the
thread management. There's now a ThreadProfileResult (abstract base
class) object associated with a Thread object. Currently there's only
one (currently misnamed) derived class AbstractThreadProfileResult, but
some more refactoring will make the purpose clearer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27780 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 120cfc62383936b6b6b17c1c19852b074ab87401 29-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Moved several classes into their own files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27779 a95241bf-73f2-0310-859d-f6bbb57e9c96