MapGuide RFC 87 - SiteInformation enhancements
This page contains a change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.
Status
RFC Template Version | (1.0) |
Submission Date | Oct. 01, 2009 |
Last Modified | (Bruce Dechant) Timestamp |
Author | (Bruce Dechant) |
RFC Status | adopted |
Implementation Status | implemented |
Proposed Milestone | (2.2) |
Assigned PSC guide(s) | (Bruce Dechant) |
Voting History | October 13, 2009 |
+1 | Bob, Bruce, Jason, Tom, Trevor |
+0 | |
-0 | |
-1 | |
no vote | Andy, Haris, Kenneth, Paul |
Overview
This proposal is to add additional memory statistics to the SiteInformation schema.
Motivation
When running stress tests on the server or just quering the current state of the server it would be nice to know the current working set memory and the virtual memory being used by the server.
Proposed Solution
A new SiteInformation schema will be added with the following new statistics:
WorkingSet - The working set memory of the MapGuide server in bytes. VirtualMemory - The virtual memory of the MapGuide server in bytes.
The new SiteInformation schema version will be SiteInformation-2.2.0.xsd
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.2.0"> <xs:element name="SiteInformation"> <xs:annotation> <xs:documentation>Site Information</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="SiteInformationType"> <xs:attribute name="version" type="xs:string" fixed="2.2.0"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:complexType name="SiteInformationType"> <xs:sequence> <xs:element name="Server"> <xs:complexType> <xs:sequence> <xs:element name="IpAddress" type="xs:string"> <xs:annotation> <xs:documentation>The MapGuide server's Ip address.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DisplayName" type="xs:string"> <xs:annotation> <xs:documentation>The MapGuide server's display name.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Status" type="xs:string"> <xs:annotation> <xs:documentation>The MapGuide server's status. Either Online or Offline</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Version" type="xs:string"> <xs:annotation> <xs:documentation>The MapGuide server's version.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="OperatingSystem"> <xs:complexType> <xs:sequence> <xs:element name="AvailablePhysicalMemory" type="xs:integer"> <xs:annotation> <xs:documentation>The available physical memory for the operating system in bytes.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TotalPhysicalMemory" type="xs:integer"> <xs:annotation> <xs:documentation>The total physical memory for the operating system in bytes.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="AvailableVirtualMemory" type="xs:integer"> <xs:annotation> <xs:documentation>The available virtual memory for the operating system in bytes.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TotalVirtualMemory" type="xs:integer"> <xs:annotation> <xs:documentation>The total virtual memory for the operating system in bytes.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Version" type="xs:string"> <xs:annotation> <xs:documentation>The operating system version.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Statistics"> <xs:complexType> <xs:sequence> <xs:element name="AdminOperationsQueueCount" type="xs:integer"> <xs:annotation> <xs:documentation>The number of operations in the Admin queue.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientOperationsQueueCount" type="xs:integer"> <xs:annotation> <xs:documentation>The number of operations in the Client queue.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="SiteOperationsQueueCount" type="xs:integer"> <xs:annotation> <xs:documentation>The number of operations in the Site queue.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="AverageOperationTime" type="xs:integer"> <xs:annotation> <xs:documentation>The average time it takes to process an operation in milliseconds.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CpuUtilization" type="xs:integer"> <xs:annotation> <xs:documentation>The cpu utilization as a percentage.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="WorkingSet" type="xs:integer"> <xs:annotation> <xs:documentation>The working set memory of the MapGuide server in bytes.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="VirtualMemory" type="xs:integer"> <xs:annotation> <xs:documentation>The virtual memory of the MapGuide server in bytes.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TotalOperationTime" type="xs:integer"> <xs:annotation> <xs:documentation>The total operation time of the MapGuide server in seconds.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ActiveConnections" type="xs:integer"> <xs:annotation> <xs:documentation>The number of active connections to the MapGuide server.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TotalConnections" type="xs:integer"> <xs:annotation> <xs:documentation>The total number of connections that have been made to the MapGuide server.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TotalOperationsProcessed" type="xs:integer"> <xs:annotation> <xs:documentation>The total number of operations processed by the MapGuide server.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TotalOperationsReceived" type="xs:integer"> <xs:annotation> <xs:documentation>The total number of operations received by the MapGuide server.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Uptime" type="xs:integer"> <xs:annotation> <xs:documentation>The total time the MapGuide server has been running in seconds.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CacheSize" type="xs:integer"> <xs:annotation> <xs:documentation>The current number of entries in the MapGuide server cache.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="CacheDroppedEntries" type="xs:integer"> <xs:annotation> <xs:documentation>The total number of entries in the MapGuide server cache that have been dropped.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:schema>
Implications
This is new schema only. There will be no effect on existing applications. However, in order to get the new schema you must use the new version when doing the request.
Test Plan
Check that new schema returns new information.
Funding/Resources
Supplied by Autodesk.
Addendum, Oct. 28, 2009
Updated schemas to support multiple servers in a site.
Addendum, Dec. 9, 2009
Added the following additional statistics to the schema:
CacheSize - The current number of entries in the MapGuide server cache. CacheDroppedEntries - The total number of entries in the MapGuide server cache that have been dropped.