History log of /haiku/src/bin/debug/profile/Thread.h
Revision Date Author Comments
# 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


# 19c4af89 20-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Superfluous virtuals (declared in the base class already).


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


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

Removed superfluous typedef.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35543 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


# e5c63668 01-Nov-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

AbstractThreadProfileResult::SynchronizeImages(): New images were only
added, if their creation event was now or in the future. Obviously we're
only interested in images that do already exist, though. Also get rid of
"new" images that already have been deleted in the meantime.
Fixes problem that for some threads (almost) no images were added and
thus no functions could be resolved.


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


# 39be9709 30-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved counting/getting the hit images into separate utility method
GetHitImages() of base class AbstractThreadProfileResult.
* gcc 4 build fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27797 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


# 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


# 19c4af89fde63c62c020660a365b202594b1aaef 20-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Superfluous virtuals (declared in the base class already).


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


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

Removed superfluous typedef.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35543 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


# e5c63668968790076aa9b6354c22e3cf7078c178 01-Nov-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

AbstractThreadProfileResult::SynchronizeImages(): New images were only
added, if their creation event was now or in the future. Obviously we're
only interested in images that do already exist, though. Also get rid of
"new" images that already have been deleted in the meantime.
Fixes problem that for some threads (almost) no images were added and
thus no functions could be resolved.


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


# 39be9709cfded68a354bb2bbf1ed22c039461056 30-Sep-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved counting/getting the hit images into separate utility method
GetHitImages() of base class AbstractThreadProfileResult.
* gcc 4 build fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27797 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