History log of /haiku/src/apps/debuganalyzer/model_loader/ModelLoader.cpp
Revision Date Author Comments
# 99400bbe 21-Apr-2018 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Objs in array was deleted, but not array itself.


# 883b3e1d 17-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

DebugAnalyzer: Fix 64 bit build.


# 5b78a987 07-Nov-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Make more robust with respect on invalid input data

* When encountering scheduling data referring to an unknown thread, add
a dummy thread for it. This prevents a crash when processing the
per-thread events later.
* Make warning output more uniform.


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


# d4e7d2de 28-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Don't delete IORequests that have not been finished. The objects nevertheless
belong to the respective Threads.


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


# 934a8d01 21-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Model: Added class IOScheduler, a list of IOSchedulers, and a methods to
access it.
* ModelLoader:
- Also add IOSchedulers to the model.
- Sort the per thread list of IORequests by start time.
- Added a bit of output in the _HandleIO*() methods when we don't know a
request or operation.


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


# c2354448 21-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Model: Added classes IOOperation and IORequest, and extended Thread to own a
list of IORequests.
* ModelLoader: Process the I/O request and operation related events and create
the per-thread list of requests.


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


# a63809d3 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

ModelLoader does now also create an event array per thread with all the events
for that thread.


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


# 83f19b67 19-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* scheduling_recorder also records I/O scheduling events, now.
* DebugAnalyzer ignores those events for the time being.


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


# 6d5e661d 09-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Although it takes a bit of memory, the Model also stores an array with
pointers to all events now. This allows for backward iteration.
* Model::ThreadWaitObjectGroup: Added a few convenience getters.
* Added functions thread_state_name() and wait_object_type_name() to translate
a ThreadState respectively a wait object type into a readable string.


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


# bea40bcd 08-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Also compute the number of CPUs and the idle time of each CPU.
* Show the CPU count and the total idle time in the "General" page.


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


# d8d4b902 07-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* The system profiler scheduling event structures sport nanotime_ts now.
* Adjusted the DebugAnalyzer to handle nanosecond times.


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


# d4d63490 28-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved ThreadInfo from ModelLoader to Model. And renamed it to
ThreadSchedulingState. Also moved the management of the thread scheduling
states into a new model class SchedulingState, which is now used by
ModelLoader.
* Added scheduling state snapshots to Model. The ModelLoader adds a complete
snapshot every 1024 events, so that seeking to scheduling state at a time
can be done quickly.
* [Featuring stippi] Added actual functionality to the scheduling page. It
shows the scheduling activity of all threads and one can zoom in and out.
Looks somewhat ugly and is work in progress.


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


# 5147963d 26-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

headers/private/kernel/util/OpenHashTable.h, Hugo's version, is a bit nicer than
Tracker's OpenHashTable.h which it should eventually replace. We've renamed the
class to BOpenHashTable and changed the interface slightly so that HashTableLink
became superfluous.
Adapted all the code that used it. Since the OpenHashTables no longer clash,
this should fix the GCC4 build.


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


# 64d5660e 26-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled base class AbstractModelLoader out of ModelLoader.


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


# 926160e8 26-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added "bool wait" parameter to ModelLoader::Abort(), allowing to optionally
wait for the loader thread.
* MainWindow::Quit() aborts the loader now.


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


# 31391fed 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added base time, last event time, and data source name to the model.


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


# 37ea7254 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Reorganized sources.


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


# 883b3e1d5cd632bb1a86def5d39a3eebf32ace13 17-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

DebugAnalyzer: Fix 64 bit build.


# 5b78a98745c9d83af1deef65072e8dde7dd96cda 07-Nov-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Make more robust with respect on invalid input data

* When encountering scheduling data referring to an unknown thread, add
a dummy thread for it. This prevents a crash when processing the
per-thread events later.
* Make warning output more uniform.


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


# d4e7d2de5c14565a999b94a2420bec5411bed4fc 28-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Don't delete IORequests that have not been finished. The objects nevertheless
belong to the respective Threads.


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


# 934a8d011362c7a1943caad2e0da22b0d0a6c9a1 21-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Model: Added class IOScheduler, a list of IOSchedulers, and a methods to
access it.
* ModelLoader:
- Also add IOSchedulers to the model.
- Sort the per thread list of IORequests by start time.
- Added a bit of output in the _HandleIO*() methods when we don't know a
request or operation.


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


# c235444841d85e9b231ca58481979bcbbc98a5eb 21-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Model: Added classes IOOperation and IORequest, and extended Thread to own a
list of IORequests.
* ModelLoader: Process the I/O request and operation related events and create
the per-thread list of requests.


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


# a63809d378bf41535f5459799c594200992356d3 20-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

ModelLoader does now also create an event array per thread with all the events
for that thread.


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


# 83f19b67346f25917b562e725617b548590b4b33 19-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* scheduling_recorder also records I/O scheduling events, now.
* DebugAnalyzer ignores those events for the time being.


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


# 6d5e661da42c571cf4a5b52615dd1293ca87e5c5 09-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Although it takes a bit of memory, the Model also stores an array with
pointers to all events now. This allows for backward iteration.
* Model::ThreadWaitObjectGroup: Added a few convenience getters.
* Added functions thread_state_name() and wait_object_type_name() to translate
a ThreadState respectively a wait object type into a readable string.


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


# bea40bcd495c3aff2606fe67218abb258d747914 08-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Also compute the number of CPUs and the idle time of each CPU.
* Show the CPU count and the total idle time in the "General" page.


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


# d8d4b902cb1b24645c5a730e3a8b279201b94419 07-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* The system profiler scheduling event structures sport nanotime_ts now.
* Adjusted the DebugAnalyzer to handle nanosecond times.


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


# d4d63490afaa02ff9413bc9d8181bbede81b0610 28-Jul-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved ThreadInfo from ModelLoader to Model. And renamed it to
ThreadSchedulingState. Also moved the management of the thread scheduling
states into a new model class SchedulingState, which is now used by
ModelLoader.
* Added scheduling state snapshots to Model. The ModelLoader adds a complete
snapshot every 1024 events, so that seeking to scheduling state at a time
can be done quickly.
* [Featuring stippi] Added actual functionality to the scheduling page. It
shows the scheduling activity of all threads and one can zoom in and out.
Looks somewhat ugly and is work in progress.


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


# 5147963dcd57fefa4f63c484eb88e9eaf4002976 26-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

headers/private/kernel/util/OpenHashTable.h, Hugo's version, is a bit nicer than
Tracker's OpenHashTable.h which it should eventually replace. We've renamed the
class to BOpenHashTable and changed the interface slightly so that HashTableLink
became superfluous.
Adapted all the code that used it. Since the OpenHashTables no longer clash,
this should fix the GCC4 build.


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


# 64d5660eab5c2e8e4b7f3c8287b6c7a1c07ef968 26-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled base class AbstractModelLoader out of ModelLoader.


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


# 926160e8acf856029ce14aa7358e32148cd55101 26-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added "bool wait" parameter to ModelLoader::Abort(), allowing to optionally
wait for the loader thread.
* MainWindow::Quit() aborts the loader now.


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


# 31391fed6b522cf2598364428590432e15490d93 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added base time, last event time, and data source name to the model.


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


# 37ea725498bdf48e51dfbeb7b8befb3e59f2cb5b 25-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Reorganized sources.


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