Class: RightScale::Platform::Process

Inherits:
PlatformHelperBase show all
Defined in:
lib/right_agent/platform.rb,
lib/right_agent/platform/unix/platform.rb,
lib/right_agent/platform/windows/platform.rb,
lib/right_agent/platform/windows/mingw/platform.rb,
lib/right_agent/platform/windows/mswin/platform.rb

Overview

Controller

Defined Under Namespace

Classes: API

Constant Summary

Constants inherited from PlatformHelperBase

RightScale::Platform::PlatformHelperBase::API_FALSE, RightScale::Platform::PlatformHelperBase::API_NULL, RightScale::Platform::PlatformHelperBase::API_TRUE, RightScale::Platform::PlatformHelperBase::SIZEOF_DWORD, RightScale::Platform::PlatformHelperBase::SIZEOF_QWORD, RightScale::Platform::PlatformHelperBase::WIDE

Instance Method Summary collapse

Methods inherited from PlatformHelperBase

#copy_to_string_buffer, #with_unicode_buffer

Instance Method Details

#create_process_memory_countersString

PROCESS_MEMORY_COUNTERS structure

Returns:

  • (String)

    initialized PROCESS_MEMORY_COUNTERS structure

See Also:



1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
# File 'lib/right_agent/platform/windows/platform.rb', line 1538

def create_process_memory_counters
  [
    40,  # size of PROCESS_MEMORY_COUNTERS (IN)
    0,   # PageFaultCount (OUT)
    0,   # PeakWorkingSetSize (OUT)
    0,   # WorkingSetSize (OUT)
    0,   # QuotaPeakPagedPoolUsage (OUT)
    0,   # QuotaPagedPoolUsage (OUT)
    0,   # QuotaPeakNonPagedPoolUsage (OUT)
    0,   # QuotaNonPagedPoolUsage (OUT)
    0,   # PagefileUsage (OUT)
    0    # PeakPagefileUsage (OUT)
  ].pack('LLLLLLLLLL')
end

#GetCurrentProcessObject

Overrides base Process#GetCurrentProcess



1566
1567
1568
# File 'lib/right_agent/platform/windows/platform.rb', line 1566

def GetCurrentProcess
  must_be_overridden
end

#GetProcessMemoryInfo(process_handle, process_memory_info_buffer, process_memory_info_buffer_size) ⇒ Object

Overrides base Process#GetProcessMemoryInfo



1580
1581
1582
# File 'lib/right_agent/platform/windows/platform.rb', line 1580

def GetProcessMemoryInfo(process_handle, process_memory_info_buffer, process_memory_info_buffer_size)
  must_be_overridden
end

#OpenProcessToken(process_handle, desired_access, token_handle) ⇒ Object

Overrides base Process#OpenProcessToken



1594
1595
1596
# File 'lib/right_agent/platform/windows/platform.rb', line 1594

def OpenProcessToken(process_handle, desired_access, token_handle)
  must_be_overridden
end

#resident_set_size(pid = nil) ⇒ Object

Overrides base Process#resident_set_size

Raises:

  • (::NotImplementedError)


607
608
609
# File 'lib/right_agent/platform.rb', line 607

def resident_set_size(pid = nil)
  must_be_overridden
end

#unpack_process_memory_counters(buffer) ⇒ Array

Returns unpacked PROCESS_MEMORY_COUNTERS members.

Parameters:

  • buffer (String)

    to unpack

Returns:

  • (Array)

    unpacked PROCESS_MEMORY_COUNTERS members



1556
1557
1558
# File 'lib/right_agent/platform/windows/platform.rb', line 1556

def unpack_process_memory_counters(buffer)
  buffer.unpack('LLLLLLLLLL')
end