* Added swap usage and page faults per second data sources.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27598 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
ca7cb625b9
commit
dc79961e1e
@ -18,15 +18,17 @@
|
||||
const DataSource* kSources[] = {
|
||||
new UsedMemoryDataSource(),
|
||||
new CachedMemoryDataSource(),
|
||||
new SwapSpaceDataSource(),
|
||||
new PageFaultsDataSource(),
|
||||
new CPUUsageDataSource(),
|
||||
new CPUCombinedUsageDataSource(),
|
||||
new NetworkUsageDataSource(true),
|
||||
new NetworkUsageDataSource(false),
|
||||
new SemaphoresDataSource(),
|
||||
new PortsDataSource(),
|
||||
new ThreadsDataSource(),
|
||||
new TeamsDataSource(),
|
||||
new RunningAppsDataSource(),
|
||||
new CPUUsageDataSource(),
|
||||
new CPUCombinedUsageDataSource(),
|
||||
new NetworkUsageDataSource(true),
|
||||
new NetworkUsageDataSource(false),
|
||||
new ClipboardSizeDataSource(false),
|
||||
new ClipboardSizeDataSource(true),
|
||||
new MediaNodesDataSource()
|
||||
@ -375,6 +377,51 @@ CachedMemoryDataSource::Primary() const
|
||||
// #pragma mark -
|
||||
|
||||
|
||||
SwapSpaceDataSource::SwapSpaceDataSource()
|
||||
{
|
||||
SystemInfo info;
|
||||
|
||||
fColor = (rgb_color){0, 120, 0};
|
||||
fMaximum = info.MaxSwapSpace();
|
||||
}
|
||||
|
||||
|
||||
SwapSpaceDataSource::~SwapSpaceDataSource()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
DataSource*
|
||||
SwapSpaceDataSource::Copy() const
|
||||
{
|
||||
return new SwapSpaceDataSource(*this);
|
||||
}
|
||||
|
||||
|
||||
int64
|
||||
SwapSpaceDataSource::NextValue(SystemInfo& info)
|
||||
{
|
||||
return info.UsedSwapSpace();
|
||||
}
|
||||
|
||||
|
||||
const char*
|
||||
SwapSpaceDataSource::Label() const
|
||||
{
|
||||
return "Swap Space";
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
SwapSpaceDataSource::Primary() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark -
|
||||
|
||||
|
||||
SemaphoresDataSource::SemaphoresDataSource()
|
||||
{
|
||||
SystemInfo info;
|
||||
@ -844,6 +891,97 @@ CPUCombinedUsageDataSource::Primary() const
|
||||
// #pragma mark -
|
||||
|
||||
|
||||
PageFaultsDataSource::PageFaultsDataSource()
|
||||
:
|
||||
fPreviousFaults(0),
|
||||
fPreviousTime(0)
|
||||
{
|
||||
SystemInfo info;
|
||||
NextValue(info);
|
||||
|
||||
fMinimum = 0;
|
||||
fMaximum = 1000000000LL;
|
||||
|
||||
fColor = (rgb_color){200, 0, 150, 0};
|
||||
}
|
||||
|
||||
|
||||
PageFaultsDataSource::PageFaultsDataSource(const PageFaultsDataSource& other)
|
||||
: DataSource(other)
|
||||
{
|
||||
fPreviousFaults = other.fPreviousFaults;
|
||||
fPreviousTime = other.fPreviousTime;
|
||||
}
|
||||
|
||||
|
||||
PageFaultsDataSource::~PageFaultsDataSource()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
DataSource*
|
||||
PageFaultsDataSource::Copy() const
|
||||
{
|
||||
return new PageFaultsDataSource(*this);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PageFaultsDataSource::Print(BString& text, int64 value) const
|
||||
{
|
||||
char buffer[32];
|
||||
snprintf(buffer, sizeof(buffer), "%.1f faults/s", value / 1024.0);
|
||||
|
||||
text = buffer;
|
||||
}
|
||||
|
||||
|
||||
int64
|
||||
PageFaultsDataSource::NextValue(SystemInfo& info)
|
||||
{
|
||||
uint64 faults = info.PageFaults();
|
||||
|
||||
int64 faultsPerSecond = uint64(1024 * double(faults - fPreviousFaults)
|
||||
/ (info.Time() - fPreviousTime) * 1000000.0);
|
||||
|
||||
fPreviousFaults = faults;
|
||||
fPreviousTime = info.Time();
|
||||
|
||||
return faultsPerSecond;
|
||||
}
|
||||
|
||||
|
||||
const char*
|
||||
PageFaultsDataSource::Label() const
|
||||
{
|
||||
return "Page Faults";
|
||||
}
|
||||
|
||||
|
||||
const char*
|
||||
PageFaultsDataSource::Name() const
|
||||
{
|
||||
return "Page Faults";
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
PageFaultsDataSource::AdaptiveScale() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
PageFaultsDataSource::Primary() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark -
|
||||
|
||||
|
||||
NetworkUsageDataSource::NetworkUsageDataSource(bool in)
|
||||
:
|
||||
fIn(in),
|
||||
|
@ -98,6 +98,19 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class SwapSpaceDataSource : public MemoryDataSource {
|
||||
public:
|
||||
SwapSpaceDataSource();
|
||||
virtual ~SwapSpaceDataSource();
|
||||
|
||||
virtual DataSource* Copy() const;
|
||||
|
||||
virtual int64 NextValue(SystemInfo& info);
|
||||
virtual const char* Label() const;
|
||||
virtual bool Primary() const;
|
||||
};
|
||||
|
||||
|
||||
class SemaphoresDataSource : public DataSource {
|
||||
public:
|
||||
SemaphoresDataSource();
|
||||
@ -216,6 +229,29 @@ private:
|
||||
};
|
||||
|
||||
|
||||
class PageFaultsDataSource : public DataSource {
|
||||
public:
|
||||
PageFaultsDataSource();
|
||||
PageFaultsDataSource(
|
||||
const PageFaultsDataSource& other);
|
||||
virtual ~PageFaultsDataSource();
|
||||
|
||||
virtual DataSource* Copy() const;
|
||||
|
||||
virtual void Print(BString& text, int64 value) const;
|
||||
virtual int64 NextValue(SystemInfo& info);
|
||||
|
||||
virtual const char* Name() const;
|
||||
virtual const char* Label() const;
|
||||
virtual bool AdaptiveScale() const;
|
||||
virtual bool Primary() const;
|
||||
|
||||
private:
|
||||
uint32 fPreviousFaults;
|
||||
bigtime_t fPreviousTime;
|
||||
};
|
||||
|
||||
|
||||
class NetworkUsageDataSource : public DataSource {
|
||||
public:
|
||||
NetworkUsageDataSource(bool in);
|
||||
|
@ -3,7 +3,7 @@ SubDir HAIKU_TOP src apps activitymonitor ;
|
||||
# XXX: Temporary only
|
||||
SetSubDirSupportedPlatformsBeOSCompatible ;
|
||||
|
||||
UsePrivateHeaders shared ;
|
||||
UsePrivateHeaders shared system ;
|
||||
|
||||
Application ActivityMonitor :
|
||||
ActivityMonitor.cpp
|
||||
|
@ -27,6 +27,8 @@ SystemInfo::SystemInfo(SystemInfoHandler* handler)
|
||||
fMediaBuffers(0)
|
||||
{
|
||||
get_system_info(&fSystemInfo);
|
||||
get_system_info_etc(B_MEMORY_INFO, &fMemoryInfo,
|
||||
sizeof(system_memory_info));
|
||||
|
||||
if (handler != NULL) {
|
||||
fRunningApps = handler->RunningApps();
|
||||
@ -69,6 +71,27 @@ SystemInfo::MaxMemory() const
|
||||
}
|
||||
|
||||
|
||||
uint32
|
||||
SystemInfo::PageFaults() const
|
||||
{
|
||||
return fMemoryInfo.page_faults;
|
||||
}
|
||||
|
||||
|
||||
uint64
|
||||
SystemInfo::UsedSwapSpace() const
|
||||
{
|
||||
return fMemoryInfo.max_swap_space - fMemoryInfo.free_swap_space;
|
||||
}
|
||||
|
||||
|
||||
uint64
|
||||
SystemInfo::MaxSwapSpace() const
|
||||
{
|
||||
return fMemoryInfo.max_swap_space;
|
||||
}
|
||||
|
||||
|
||||
uint32
|
||||
SystemInfo::UsedSemaphores() const
|
||||
{
|
||||
|
@ -8,6 +8,9 @@
|
||||
|
||||
#include <OS.h>
|
||||
|
||||
#include <system_info.h>
|
||||
|
||||
|
||||
class SystemInfoHandler;
|
||||
|
||||
|
||||
@ -20,6 +23,11 @@ public:
|
||||
uint64 UsedMemory() const;
|
||||
uint64 MaxMemory() const;
|
||||
|
||||
uint32 PageFaults() const;
|
||||
|
||||
uint64 MaxSwapSpace() const;
|
||||
uint64 UsedSwapSpace() const;
|
||||
|
||||
uint32 UsedSemaphores() const;
|
||||
uint32 MaxSemaphores() const;
|
||||
|
||||
@ -53,6 +61,7 @@ private:
|
||||
void _RetrieveNetwork();
|
||||
|
||||
system_info fSystemInfo;
|
||||
system_memory_info fMemoryInfo;
|
||||
bigtime_t fTime;
|
||||
bool fRetrievedNetwork;
|
||||
uint64 fBytesReceived;
|
||||
|
Loading…
x
Reference in New Issue
Block a user