status-model.xml 3.92 KB
<?xml version="1.0" encoding="UTF-8"?>
<model model-package="com.dianping.cat.status.model" enable-sax-parser="true" enable-xml-schema="true"
	enable-merger="true" enable-model-test="true" enable-base-visitor="true">
	<entity name="status" class-name="StatusInfo">
		<attribute name="timestamp" value-type="Date" format="yyyy-MM-dd HH:mm:ss.SSS" />
	    <entity-ref name="runtime" />
	    <entity-ref name="os" />
	    <entity-ref name="disk" />
	    <entity-ref name="memory" />
	    <entity-ref name="thread" />
	    <entity-ref name="message" />
		<entity-ref name="extension" names ="extensions" type="map" method-find-or-create="true"/>
	</entity>
	<entity name="runtime" class-name="RuntimeInfo">
		<attribute name="start-time" value-type="long" primitive="true" />
		<attribute name="up-time" value-type="long" primitive="true" />
	</entity>
	<entity name="os" class-name="OsInfo">
		<attribute name="available-processors" value-type="int" primitive="true" />
		<attribute name="system-load-average" value-type="double" primitive="true" />
		<attribute name="process-time" value-type="long" primitive="true" />
		<attribute name="total-physical-memory" value-type="long" primitive="true" />
		<attribute name="free-physical-memory" value-type="long" primitive="true" />
		<attribute name="committed-virtual-memory" value-type="long" primitive="true" />
		<attribute name="total-swap-space" value-type="long" primitive="true" />
		<attribute name="free-swap-space" value-type="long" primitive="true" />
	</entity>
	<entity name="memory" class-name="MemoryInfo">
		<attribute name="max" value-type="long" primitive="true" />
		<attribute name="total" value-type="long" primitive="true" />
		<attribute name="free" value-type="long" primitive="true" />
		<attribute name="heap-usage" value-type="long" primitive="true" />
		<attribute name="non-heap-usage" value-type="long" primitive="true" />
		<entity-ref name="gc" names ="gcs" type="list"/>
	</entity>
	<entity name="gc" class-name="GcInfo">
		<attribute name="name" value-type="String" />
		<attribute name="count" value-type="long" primitive="true" />
		<attribute name="time" value-type="long" primitive="true" />
	</entity>
	<entity name="thread" class-name="ThreadsInfo">
		<attribute name="count" value-type="int" primitive="true" />
		<attribute name="daemon-count" value-type="int" primitive="true" />
		<attribute name="peek-count" value-type="int" primitive="true" />
		<attribute name="total-started-count" value-type="int" primitive="true" />
		<attribute name="cat-thread-count" value-type="int" primitive="true" />
		<attribute name="pigeon-thread-count" value-type="int" primitive="true" />
		<attribute name="http-thread-count" value-type="int" primitive="true" />
	</entity>
	<entity name="disk" class-name="DiskInfo">
		<entity-ref name="disk-volume" list="list" names="disk-volumes" />
	</entity>
	<entity name="disk-volume" class-name="DiskVolumeInfo">
		<attribute name="id" value-type="String" key="true" />
		<attribute name="total" value-type="long" primitive="true"/>
		<attribute name="free" value-type="long" primitive="true" />
		<attribute name="usable" value-type="long" primitive="true" />
	</entity>
	<entity name="message" class-name="MessageInfo">
		<attribute name="produced" value-type="long" primitive="true" />
		<attribute name="overflowed" value-type="long" primitive="true" />
		<attribute name="bytes" value-type="long" primitive="true" />
	</entity>
	<entity name="extension"  dynamic-attributes="true">
		<attribute name="id" value-type="String" key="true"/>
		<element name="description" value-type="String" escape="false"/>
		<entity-ref name="extensionDetail" names ="details" type="map" method-find-or-create="true"/>
	</entity>
	<entity name="extensionDetail" dynamic-attributes="true">
		<attribute name="id" value-type="String" key="true"/>
		<attribute name="value" value-type="double" primitive="true" />
	</entity>	
</model>