<?xml version="1.0" ?>

<server xmlns="urn:jboss:domain:4.0">
    <extensions>
        <extension module="org.hawkular.agent"/>
        <extension module="org.hawkular.nest"/>
        <extension module="org.jboss.as.clustering.infinispan"/>
        <extension module="org.jboss.as.connector"/>
        <extension module="org.jboss.as.deployment-scanner"/>
        <extension module="org.jboss.as.ee"/>
        <extension module="org.jboss.as.ejb3"/>
        <extension module="org.jboss.as.jaxrs"/>
        <extension module="org.jboss.as.jdr"/>
        <extension module="org.jboss.as.jmx"/>
        <extension module="org.jboss.as.jpa"/>
        <extension module="org.jboss.as.jsf"/>
        <extension module="org.jboss.as.logging"/>
        <extension module="org.jboss.as.mail"/>
        <extension module="org.jboss.as.naming"/>
        <extension module="org.jboss.as.pojo"/>
        <extension module="org.jboss.as.remoting"/>
        <extension module="org.jboss.as.sar"/>
        <extension module="org.jboss.as.security"/>
        <extension module="org.jboss.as.transactions"/>
        <extension module="org.jboss.as.webservices"/>
        <extension module="org.jboss.as.weld"/>
        <extension module="org.wildfly.extension.batch.jberet"/>
        <extension module="org.wildfly.extension.bean-validation"/>
        <extension module="org.wildfly.extension.io"/>
        <extension module="org.wildfly.extension.messaging-activemq"/>
        <extension module="org.wildfly.extension.request-controller"/>
        <extension module="org.wildfly.extension.security.manager"/>
        <extension module="org.wildfly.extension.undertow"/>
    </extensions>
    <system-properties>
        <property name="hawkular.agent.enabled" value="${hawkular.agent.enabled:false}"/>
    </system-properties>
    <management>
        <security-realms>
            <security-realm name="ManagementRealm">
                <authentication>
                    <local default-user="$local" skip-group-loading="true"/>
                    <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
                </authentication>
                <authorization map-groups-to-roles="false">
                    <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
                </authorization>
            </security-realm>
            <security-realm name="ApplicationRealm">
                <authentication>
                    <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                    <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
                </authentication>
                <authorization>
                    <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                </authorization>
            </security-realm>
        </security-realms>
        <audit-log>
            <formatters>
                <json-formatter name="json-formatter"/>
            </formatters>
            <handlers>
                <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
            </handlers>
            <logger log-boot="true" log-read-only="false" enabled="false">
                <handlers>
                    <handler name="file"/>
                </handlers>
            </logger>
        </audit-log>
        <management-interfaces>
            <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
                <socket-binding http="management-http"/>
            </http-interface>
        </management-interfaces>
        <access-control provider="simple">
            <role-mapping>
                <role name="SuperUser">
                    <include>
                        <user name="$local"/>
                    </include>
                </role>
            </role-mapping>
        </access-control>
    </management>
    <profile>
        <subsystem xmlns="urn:jboss:domain:logging:3.0">
            <console-handler name="CONSOLE">
                <level name="${hawkular.log.console:INFO}"/>
                <formatter>
                    <named-formatter name="COLOR-PATTERN"/>
                </formatter>
            </console-handler>
            <periodic-rotating-file-handler name="FILE" autoflush="true">
                <formatter>
                    <named-formatter name="PATTERN"/>
                </formatter>
                <file relative-to="jboss.server.log.dir" path="server.log"/>
                <suffix value=".yyyy-MM-dd"/>
                <append value="true"/>
            </periodic-rotating-file-handler>
            <logger category="com.arjuna">
                <level name="WARN"/>
            </logger>
            <logger category="org.jboss.as.config">
                <level name="${hawkular.log.jboss.as.config:INFO}"/>
            </logger>
            <logger category="sun.rmi">
                <level name="WARN"/>
            </logger>
            <logger category="org.hawkular.bus">
                <level name="${hawkular.log.bus:INFO}"/>
            </logger>
            <logger category="org.hawkular.cmdgw">
                <level name="${hawkular.log.cmdgw:INFO}"/>
            </logger>
            <logger category="org.hawkular.nest">
                <level name="${hawkular.log.nest:INFO}"/>
            </logger>
            <logger category="com.datastax.driver">
                <level name="${hawkular.log.datastax.driver:INFO}"/>
            </logger>
            <logger category="org.hawkular.agent">
                <level name="${hawkular.log.agent:INFO}"/>
            </logger>
            <logger category="org.hawkular.alerts">
                <level name="${hawkular.log.alerts:INFO}"/>
            </logger>
            <logger category="org.hawkular.metrics">
                <level name="${hawkular.log.metrics:INFO}"/>
            </logger>
            <logger category="org.hawkular.inventory">
                <level name="${hawkular.log.inventory:INFO}"/>
            </logger>
            <logger category="org.hawkular.inventory.rest.requests">
                <level name="${hawkular.log.inventory.rest.requests:INFO}"/>
            </logger>
            <root-logger>
                <level name="${hawkular.log.root:INFO}"/>
                <handlers>
                    <handler name="CONSOLE"/>
                    <handler name="FILE"/>
                </handlers>
            </root-logger>
            <formatter name="PATTERN">
                <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
            </formatter>
            <formatter name="COLOR-PATTERN">
                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
            </formatter>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:batch-jberet:1.0">
            <default-job-repository name="in-memory"/>
            <default-thread-pool name="batch"/>
            <job-repository name="in-memory">
                <in-memory/>
            </job-repository>
            <thread-pool name="batch">
                <max-threads count="10"/>
                <keepalive-time time="30" unit="seconds"/>
            </thread-pool>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
        <subsystem xmlns="urn:jboss:domain:datasources:4.0">
            <datasources>
                <datasource jndi-name="java:/jboss/datasources/HawkularInventoryDS_hsqldb" pool-name="HawkularInventoryDS_hsqldb" enabled="true" use-java-context="true">
                    <connection-url>jdbc:hsqldb:${jboss.server.data.dir}/hawkular-inventory/db;MVCC=true;CACHE_SIZE=131072</connection-url>
                    <driver>hsqldb</driver>
                    <security>
                        <user-name>sa</user-name>
                        <password>sa</password>
                    </security>
                </datasource>
                <datasource jndi-name="java:/jboss/datasources/HawkularInventoryDS_postgres" pool-name="HawkularInventoryDS_postgres" enabled="true" use-java-context="true">
                    <connection-url>jdbc:postgresql://localhost:5432/hawkular</connection-url>
                    <driver>postgresql</driver>
                    <security>
                        <user-name>hawkular</user-name>
                        <password>hawkular</password>
                    </security>
                    <connection-property name="prepareThreshold">0</connection-property>
                </datasource>
                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                    <driver>h2</driver>
                    <security>
                        <user-name>sa</user-name>
                        <password>sa</password>
                    </security>
                </datasource>
                <drivers>
                    <driver name="postgresql" module="org.postgresql.postgresql">
                        <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
                    </driver>
                    <driver name="hsqldb" module="org.hsqldb.hsqldb"/>
                    <driver name="h2" module="com.h2database.h2">
                        <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                    </driver>
                </drivers>
            </datasources>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
            <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:ee:4.0">
            <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
            <concurrent>
                <context-services>
                    <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
                </context-services>
                <managed-thread-factories>
                    <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
                </managed-thread-factories>
                <managed-executor-services>
                    <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" keepalive-time="5000"/>
                </managed-executor-services>
                <managed-scheduled-executor-services>
                    <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" keepalive-time="3000"/>
                </managed-scheduled-executor-services>
            </concurrent>
            <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:ejb3:4.0">
            <session-bean>
                <stateless>
                    <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                </stateless>
                <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
                <singleton default-access-timeout="5000"/>
            </session-bean>
            <mdb>
                <resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:activemq-ra.rar}"/>
                <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
            </mdb>
            <pools>
                <bean-instance-pools>
                    <!-- Automatically configure pools. Alternatively, max-pool-size can be set to a specific value -->
                    <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                    <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                </bean-instance-pools>
            </pools>
            <caches>
                <cache name="simple"/>
                <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
            </caches>
            <passivation-stores>
                <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
            </passivation-stores>
            <async thread-pool-name="default"/>
            <timer-service thread-pool-name="default" default-data-store="default-file-store">
                <data-stores>
                    <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                </data-stores>
            </timer-service>
            <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
            <thread-pools>
                <thread-pool name="default">
                    <max-threads count="10"/>
                    <keepalive-time time="100" unit="milliseconds"/>
                </thread-pool>
            </thread-pools>
            <default-security-domain value="other"/>
            <default-missing-method-permissions-deny-access value="true"/>
            <log-system-exceptions value="true"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:io:1.1">
            <worker name="default"/>
            <buffer-pool name="default"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:infinispan:4.0">
            <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server">
                <local-cache name="default">
                    <transaction mode="BATCH"/>
                </local-cache>
            </cache-container>
            <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
                <local-cache name="passivation">
                    <locking isolation="REPEATABLE_READ"/>
                    <transaction mode="BATCH"/>
                    <file-store passivation="true" purge="false"/>
                </local-cache>
                <local-cache name="persistent">
                    <locking isolation="REPEATABLE_READ"/>
                    <transaction mode="BATCH"/>
                    <file-store passivation="false" purge="false"/>
                </local-cache>
            </cache-container>
            <cache-container name="ejb" aliases="sfsb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan">
                <local-cache name="passivation">
                    <locking isolation="REPEATABLE_READ"/>
                    <transaction mode="BATCH"/>
                    <file-store passivation="true" purge="false"/>
                </local-cache>
                <local-cache name="persistent">
                    <locking isolation="REPEATABLE_READ"/>
                    <transaction mode="BATCH"/>
                    <file-store passivation="false" purge="false"/>
                </local-cache>
            </cache-container>
            <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
                <local-cache name="entity">
                    <transaction mode="NON_XA"/>
                    <eviction strategy="LRU" max-entries="10000"/>
                    <expiration max-idle="100000"/>
                </local-cache>
                <local-cache name="local-query">
                    <eviction strategy="LRU" max-entries="10000"/>
                    <expiration max-idle="100000"/>
                </local-cache>
                <local-cache name="timestamps"/>
            </cache-container>
            <cache-container name="hawkular-alerts" default-cache="triggers" statistics-enabled="true">
                <local-cache name="partition"/>
                <local-cache name="triggers"/>
                <local-cache name="data"/>
                <local-cache name="publish"/>
                <local-cache name="schema"/>
            </cache-container>
            <cache-container name="hawkular-services" default-cache="backfill" statistics-enabled="true">
                <local-cache name="backfill"/>
            </cache-container>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
        <subsystem xmlns="urn:jboss:domain:jca:4.0">
            <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
            <bean-validation enabled="true"/>
            <default-workmanager>
                <short-running-threads>
                    <core-threads count="50"/>
                    <queue-length count="50"/>
                    <max-threads count="50"/>
                    <keepalive-time time="10" unit="seconds"/>
                </short-running-threads>
                <long-running-threads>
                    <core-threads count="50"/>
                    <queue-length count="50"/>
                    <max-threads count="50"/>
                    <keepalive-time time="10" unit="seconds"/>
                </long-running-threads>
            </default-workmanager>
            <cached-connection-manager/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
        <subsystem xmlns="urn:jboss:domain:jmx:1.3">
            <expose-resolved-model/>
            <expose-expression-model/>
            <remoting-connector/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:jpa:1.1">
            <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
        <subsystem xmlns="urn:jboss:domain:mail:2.0">
            <mail-session name="default" jndi-name="java:jboss/mail/Default">
                <smtp-server outbound-socket-binding-ref="mail-smtp"/>
            </mail-session>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:naming:2.0">
            <remote-naming/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
        <subsystem xmlns="urn:jboss:domain:remoting:3.0">
            <endpoint/>
            <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:resource-adapters:4.0"/>
        <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
        <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
        <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
            <deployment-permissions>
                <maximum-set>
                    <permission class="java.security.AllPermission"/>
                </maximum-set>
            </deployment-permissions>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:security:1.2">
            <security-domains>
                <security-domain name="other" cache-type="default">
                    <authentication>
                        <login-module code="Remoting" flag="optional">
                            <module-option name="password-stacking" value="useFirstPass"/>
                        </login-module>
                        <login-module code="RealmDirect" flag="required">
                            <module-option name="password-stacking" value="useFirstPass"/>
                        </login-module>
                    </authentication>
                </security-domain>
                <security-domain name="jboss-web-policy" cache-type="default">
                    <authorization>
                        <policy-module code="Delegating" flag="required"/>
                    </authorization>
                </security-domain>
                <security-domain name="jboss-ejb-policy" cache-type="default">
                    <authorization>
                        <policy-module code="Delegating" flag="required"/>
                    </authorization>
                </security-domain>
                <security-domain name="jaspitest" cache-type="default">
                    <authentication-jaspi>
                        <login-module-stack name="dummy">
                            <login-module code="Dummy" flag="optional"/>
                        </login-module-stack>
                        <auth-module code="Dummy"/>
                    </authentication-jaspi>
                </security-domain>
            </security-domains>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:transactions:3.0">
            <core-environment>
                <process-id>
                    <uuid/>
                </process-id>
            </core-environment>
            <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:undertow:3.0">
            <buffer-cache name="default"/>
            <server name="default-server">
                <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                </host>
            </server>
            <servlet-container name="default">
                <jsp-config/>
                <websockets/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/hawkular-welcome-content"/>
            </handlers>
            <filters>
                <response-header name="server-header" header-name="Server" header-value="WildFly/10"/>
                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
            </filters>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:webservices:2.0">
            <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
            <endpoint-config name="Standard-Endpoint-Config"/>
            <endpoint-config name="Recording-Endpoint-Config">
                <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                    <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                </pre-handler-chain>
            </endpoint-config>
            <client-config name="Standard-Client-Config"/>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:weld:3.0"/>
        <subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">
            <server name="default">
                <security-setting name="#">
                    <role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/>
                </security-setting>
                <address-setting name="#" dead-letter-address="jms.queue.DLQ" expiry-address="jms.queue.ExpiryQueue" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-history-day-limit="10" auto-create-jms-queues="true" auto-delete-jms-queues="true"/>
                <http-connector name="http-connector" socket-binding="http" endpoint="http-acceptor"/>
                <http-connector name="http-connector-throughput" socket-binding="http" endpoint="http-acceptor-throughput">
                    <param name="batch-delay" value="50"/>
                </http-connector>
                <in-vm-connector name="in-vm" server-id="0"/>
                <http-acceptor name="http-acceptor" http-listener="default"/>
                <http-acceptor name="http-acceptor-throughput" http-listener="default">
                    <param name="batch-delay" value="50"/>
                    <param name="direct-deliver" value="false"/>
                </http-acceptor>
                <in-vm-acceptor name="in-vm" server-id="0"/>
                <jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/>
                <jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/>
                <!-- Alerts -->
                <jms-topic name="HawkularAlertData" entries="java:/topic/HawkularAlertData"/>
                <jms-queue name="HawkularAlertsPluginsQueue" entries="java:/queue/HawkularAlertsPluginsQueue"/>
                <jms-queue name="HawkularAlertsActionsResponseQueue" entries="java:/queue/HawkularAlertsActionsResponseQueue"/>
                <jms-topic name="HawkularAlertsActionsTopic" entries="java:/topic/HawkularAlertsActionsTopic"/>
                <!-- Metrics -->
                <jms-queue name="hawkular/metrics/gauges/new" entries="java:/queue/hawkular/metrics/gauges/new java:jboss/exported/queue/hawkular/metrics/gauges/new"/>
                <jms-queue name="hawkular/metrics/counters/new" entries="java:/queue/hawkular/metrics/counters/new java:jboss/exported/queue/hawkular/metrics/counters/new"/>
                <jms-queue name="hawkular/metrics/availability/new" entries="java:/queue/hawkular/metrics/availability/new java:jboss/exported/queue/hawkular/metrics/availability/new"/>
                <!-- Inventory -->
                <jms-topic name="HawkularInventoryChanges" entries="java:/topic/HawkularInventoryChanges"/>
                <!-- Hawkular/Glue -->
                <jms-topic name="HawkularCommandEvent" entries="java:/queue/HawkularCommandEvent"/>
                <jms-topic name="HawkularQueue" entries="java:/queue/HawkularQueue"/>
                <jms-topic name="HawkularTopic" entries="java:/topic/HawkularTopic"/>
                <connection-factory name="InVmConnectionFactory" connectors="in-vm" entries="java:/ConnectionFactory java:/HawkularBusConnectionFactory" confirmation-window-size="10024"/>
                <connection-factory name="RemoteConnectionFactory" connectors="http-connector" entries="java:jboss/exported/jms/RemoteConnectionFactory"/>
                <pooled-connection-factory name="activemq-ra" transaction="xa" connectors="in-vm" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory"/>
            </server>
        </subsystem>
        <subsystem xmlns="urn:org.hawkular.nest:nest:1.0" enabled="true">
            <nest-name>autogenerate</nest-name>
            <custom-configuration>
                <property name="custom-prop" value="custom-prop-val"/>
            </custom-configuration>
        </subsystem>
        <subsystem xmlns="urn:org.hawkular.agent:agent:1.0" enabled="${hawkular.agent.enabled:true}" auto-discovery-scan-period-secs="600">
            <diagnostics enabled="true" report-to="LOG" interval="1" time-units="minutes"/>
            <storage-adapter type="HAWKULAR" tenant-id="${hawkular.rest.tenantId:hawkular}" feed-id="${hawkular.rest.feedId:autogenerate}" username="${hawkular.rest.user}" password="${hawkular.rest.password}"/>
            <metric-set-dmr name="WildFly Memory Metrics" enabled="true">
                <metric-dmr name="Heap Used" interval="30" time-units="seconds" metric-units="bytes" path="/core-service=platform-mbean/type=memory" attribute="heap-memory-usage#used"/>
                <metric-dmr name="Heap Committed" interval="1" time-units="minutes" metric-units="bytes" path="/core-service=platform-mbean/type=memory" attribute="heap-memory-usage#committed"/>
                <metric-dmr name="Heap Max" interval="1" time-units="minutes" metric-units="bytes" path="/core-service=platform-mbean/type=memory" attribute="heap-memory-usage#max"/>
                <metric-dmr name="NonHeap Used" interval="30" time-units="seconds" metric-units="bytes" path="/core-service=platform-mbean/type=memory" attribute="non-heap-memory-usage#used"/>
                <metric-dmr name="NonHeap Committed" interval="1" time-units="minutes" metric-units="bytes" path="/core-service=platform-mbean/type=memory" attribute="non-heap-memory-usage#committed"/>
                <metric-dmr name="Accumulated GC Duration" metric-type="counter" interval="1" time-units="minutes" metric-units="milliseconds" path="/core-service=platform-mbean/type=garbage-collector/name=*" attribute="collection-time"/>
            </metric-set-dmr>
            <metric-set-dmr name="WildFly Threading Metrics" enabled="true">
                <metric-dmr name="Thread Count" interval="2" time-units="minutes" metric-units="none" path="/core-service=platform-mbean/type=threading" attribute="thread-count"/>
            </metric-set-dmr>
            <metric-set-dmr name="WildFly Aggregated Web Metrics" enabled="true">
                <metric-dmr name="Aggregated Active Web Sessions" interval="1" time-units="minutes" path="/deployment=*/subsystem=undertow" attribute="active-sessions"/>
                <metric-dmr name="Aggregated Max Active Web Sessions" interval="1" time-units="minutes" path="/deployment=*/subsystem=undertow" attribute="max-active-sessions"/>
                <metric-dmr name="Aggregated Expired Web Sessions" metric-type="counter" interval="1" time-units="minutes" path="/deployment=*/subsystem=undertow" attribute="expired-sessions"/>
                <metric-dmr name="Aggregated Rejected Web Sessions" metric-type="counter" interval="1" time-units="minutes" path="/deployment=*/subsystem=undertow" attribute="rejected-sessions"/>
                <metric-dmr name="Aggregated Servlet Request Time" metric-type="counter" interval="1" time-units="minutes" path="/deployment=*/subsystem=undertow/servlet=*" attribute="total-request-time"/>
                <metric-dmr name="Aggregated Servlet Request Count" metric-type="counter" interval="1" time-units="minutes" path="/deployment=*/subsystem=undertow/servlet=*" attribute="request-count"/>
            </metric-set-dmr>
            <metric-set-dmr name="Undertow Metrics" enabled="true">
                <metric-dmr name="Active Sessions" interval="2" time-units="minutes" path="/subsystem=undertow" attribute="active-sessions"/>
                <metric-dmr name="Sessions Created" metric-type="counter" interval="2" time-units="minutes" path="/subsystem=undertow" attribute="sessions-created"/>
                <metric-dmr name="Expired Sessions" metric-type="counter" interval="2" time-units="minutes" path="/subsystem=undertow" attribute="expired-sessions"/>
                <metric-dmr name="Rejected Sessions" metric-type="counter" interval="2" time-units="minutes" path="/subsystem=undertow" attribute="rejected-sessions"/>
                <metric-dmr name="Max Active Sessions" interval="2" time-units="minutes" path="/subsystem=undertow" attribute="max-active-sessions"/>
            </metric-set-dmr>
            <metric-set-dmr name="Servlet Metrics" enabled="true">
                <metric-dmr name="Max Request Time" interval="5" time-units="minutes" metric-units="milliseconds" path="/" attribute="max-request-time"/>
                <metric-dmr name="Min Request Time" interval="5" time-units="minutes" metric-units="milliseconds" path="/" attribute="min-request-time"/>
                <metric-dmr name="Total Request Time" interval="5" time-units="minutes" metric-units="milliseconds" path="/" attribute="total-request-time"/>
                <metric-dmr name="Request Count" metric-type="counter" interval="5" time-units="minutes" path="/" attribute="request-count"/>
            </metric-set-dmr>
            <metric-set-dmr name="Singleton EJB Metrics" enabled="true">
                <metric-dmr name="Execution Time" interval="5" time-units="minutes" path="/" attribute="execution-time"/>
                <metric-dmr name="Invocations" metric-type="counter" interval="5" time-units="minutes" path="/" attribute="invocations"/>
                <metric-dmr name="Peak Concurrent Invocations" interval="5" time-units="minutes" path="/" attribute="peak-concurrent-invocations"/>
                <metric-dmr name="Wait Time" interval="5" time-units="minutes" path="/" attribute="wait-time"/>
            </metric-set-dmr>
            <metric-set-dmr name="Message Driven EJB Metrics" enabled="true">
                <metric-dmr name="Execution Time" interval="5" time-units="minutes" path="/" attribute="execution-time"/>
                <metric-dmr name="Invocations" metric-type="counter" interval="5" time-units="minutes" path="/" attribute="invocations"/>
                <metric-dmr name="Peak Concurrent Invocations" interval="5" time-units="minutes" path="/" attribute="peak-concurrent-invocations"/>
                <metric-dmr name="Wait Time" interval="5" time-units="minutes" path="/" attribute="wait-time"/>
                <metric-dmr name="Pool Available Count" interval="5" time-units="minutes" path="/" attribute="pool-available-count"/>
                <metric-dmr name="Pool Create Count" interval="5" time-units="minutes" path="/" attribute="pool-create-count"/>
                <metric-dmr name="Pool Current Size" interval="5" time-units="minutes" path="/" attribute="pool-current-size"/>
                <metric-dmr name="Pool Max Size" interval="5" time-units="minutes" path="/" attribute="pool-max-size"/>
                <metric-dmr name="Pool Remove Count" interval="5" time-units="minutes" path="/" attribute="pool-remove-count"/>
            </metric-set-dmr>
            <metric-set-dmr name="Stateless Session EJB Metrics" enabled="true">
                <metric-dmr name="Execution Time" interval="5" time-units="minutes" path="/" attribute="execution-time"/>
                <metric-dmr name="Invocations" metric-type="counter" interval="5" time-units="minutes" path="/" attribute="invocations"/>
                <metric-dmr name="Peak Concurrent Invocations" interval="5" time-units="minutes" path="/" attribute="peak-concurrent-invocations"/>
                <metric-dmr name="Wait Time" interval="5" time-units="minutes" path="/" attribute="wait-time"/>
                <metric-dmr name="Pool Availabile Count" interval="5" time-units="minutes" path="/" attribute="pool-available-count"/>
                <metric-dmr name="Pool Create Count" interval="5" time-units="minutes" path="/" attribute="pool-create-count"/>
                <metric-dmr name="Pool Current Size" interval="5" time-units="minutes" path="/" attribute="pool-current-size"/>
                <metric-dmr name="Pool Max Size" interval="5" time-units="minutes" path="/" attribute="pool-max-size"/>
                <metric-dmr name="Pool Remove Count" interval="5" time-units="minutes" path="/" attribute="pool-remove-count"/>
            </metric-set-dmr>
            <metric-set-dmr name="Datasource JDBC Metrics" enabled="true">
                <metric-dmr name="Prepared Statement Cache Access Count" interval="10" time-units="minutes" path="/statistics=jdbc" attribute="PreparedStatementCacheAccessCount"/>
                <metric-dmr name="Prepared Statement Cache Add Count" interval="10" time-units="minutes" path="/statistics=jdbc" attribute="PreparedStatementCacheAddCount"/>
                <metric-dmr name="Prepared Statement Cache Current Size" interval="10" time-units="minutes" path="/statistics=jdbc" attribute="PreparedStatementCacheCurrentSize"/>
                <metric-dmr name="Prepared Statement Cache Delete Count" interval="10" time-units="minutes" path="/statistics=jdbc" attribute="PreparedStatementCacheDeleteCount"/>
                <metric-dmr name="Prepared Statement Cache Hit Count" interval="10" time-units="minutes" path="/statistics=jdbc" attribute="PreparedStatementCacheHitCount"/>
                <metric-dmr name="Prepared Statement Cache Miss Count" interval="10" time-units="minutes" path="/statistics=jdbc" attribute="PreparedStatementCacheMissCount"/>
            </metric-set-dmr>
            <metric-set-dmr name="Datasource Pool Metrics" enabled="true">
                <metric-dmr name="Active Count" interval="30" time-units="seconds" path="/statistics=pool" attribute="ActiveCount"/>
                <metric-dmr name="Available Count" interval="30" time-units="seconds" path="/statistics=pool" attribute="AvailableCount"/>
                <metric-dmr name="Average Blocking Time" interval="10" time-units="minutes" path="/statistics=pool" attribute="AverageBlockingTime"/>
                <metric-dmr name="Average Creation Time" interval="30" time-units="seconds" path="/statistics=pool" attribute="AverageCreationTime"/>
                <metric-dmr name="Average Get Time" interval="30" time-units="seconds" path="/statistics=pool" attribute="AverageGetTime"/>
                <metric-dmr name="Blocking Failure Count" interval="10" time-units="minutes" path="/statistics=pool" attribute="BlockingFailureCount"/>
                <metric-dmr name="Created Count" interval="10" time-units="minutes" path="/statistics=pool" attribute="CreatedCount"/>
                <metric-dmr name="Destroyed Count" interval="10" time-units="minutes" path="/statistics=pool" attribute="DestroyedCount"/>
                <metric-dmr name="Idle Count" interval="10" time-units="minutes" path="/statistics=pool" attribute="IdleCount"/>
                <metric-dmr name="In Use Count" interval="30" time-units="seconds" path="/statistics=pool" attribute="InUseCount"/>
                <metric-dmr name="Max Creation Time" interval="10" time-units="minutes" path="/statistics=pool" attribute="MaxCreationTime"/>
                <metric-dmr name="Max Get Time" interval="10" time-units="minutes" path="/statistics=pool" attribute="MaxGetTime"/>
                <metric-dmr name="Max Used Count" interval="10" time-units="minutes" path="/statistics=pool" attribute="MaxUsedCount"/>
                <metric-dmr name="Max Wait Count" interval="10" time-units="minutes" path="/statistics=pool" attribute="MaxWaitCount"/>
                <metric-dmr name="Max Wait Time" interval="10" time-units="minutes" path="/statistics=pool" attribute="MaxWaitTime"/>
                <metric-dmr name="Timed Out" interval="30" time-units="seconds" path="/statistics=pool" attribute="TimedOut"/>
                <metric-dmr name="Total Blocking Time" interval="10" time-units="minutes" path="/statistics=pool" attribute="TotalBlockingTime"/>
                <metric-dmr name="Total Creation Time" interval="10" time-units="minutes" path="/statistics=pool" attribute="TotalCreationTime"/>
                <metric-dmr name="Total Get Time" interval="10" time-units="minutes" path="/statistics=pool" attribute="TotalGetTime"/>
                <metric-dmr name="Wait Count" interval="10" time-units="minutes" path="/statistics=pool" attribute="WaitCount"/>
            </metric-set-dmr>
            <metric-set-dmr name="Transactions Metrics" enabled="true">
                <metric-dmr name="Number of Aborted Transactions" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="number-of-aborted-transactions"/>
                <metric-dmr name="Number of Application Rollbacks" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="number-of-application-rollbacks"/>
                <metric-dmr name="Number of Committed Transactions" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="number-of-committed-transactions"/>
                <metric-dmr name="Number of Heuristics" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="number-of-heuristics"/>
                <metric-dmr name="Number of In-Flight Transactions" interval="30" time-units="seconds" path="/" attribute="number-of-inflight-transactions"/>
                <metric-dmr name="Number of Nested Transactions" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="number-of-nested-transactions"/>
                <metric-dmr name="Number of Resource Rollbacks" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="number-of-resource-rollbacks"/>
                <metric-dmr name="Number of Timed Out Transactions" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="number-of-timed-out-transactions"/>
                <metric-dmr name="Number of Transactions" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="number-of-transactions"/>
            </metric-set-dmr>
            <metric-set-dmr name="JMS Queue Metrics" enabled="true">
                <metric-dmr name="Consumer Count" interval="30" time-units="seconds" path="/" attribute="consumer-count"/>
                <metric-dmr name="Delivering Count" interval="30" time-units="seconds" path="/" attribute="delivering-count"/>
                <metric-dmr name="Message Count" interval="30" time-units="seconds" path="/" attribute="message-count"/>
                <metric-dmr name="Messages Added" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="messages-added"/>
                <metric-dmr name="Scheduled Count" interval="30" time-units="seconds" path="/" attribute="scheduled-count"/>
            </metric-set-dmr>
            <metric-set-dmr name="JMS Topic Metrics" enabled="true">
                <metric-dmr name="Durable Message Count" interval="30" time-units="seconds" path="/" attribute="durable-message-count"/>
                <metric-dmr name="Durable Subscription Count" interval="30" time-units="seconds" path="/" attribute="durable-subscription-count"/>
                <metric-dmr name="Delivering Count" interval="30" time-units="seconds" path="/" attribute="delivering-count"/>
                <metric-dmr name="Message Count" interval="30" time-units="seconds" path="/" attribute="message-count"/>
                <metric-dmr name="Messages Added" metric-type="counter" interval="30" time-units="seconds" path="/" attribute="messages-added"/>
                <metric-dmr name="Non-Durable Message Count" interval="30" time-units="seconds" path="/" attribute="non-durable-message-count"/>
                <metric-dmr name="Non-Durable Subscription Count" interval="30" time-units="seconds" path="/" attribute="non-durable-subscription-count"/>
                <metric-dmr name="Subscription Count" interval="30" time-units="seconds" path="/" attribute="subscription-count"/>
            </metric-set-dmr>
            <avail-set-dmr name="Server Availability" enabled="true">
                <avail-dmr name="Server Availability" interval="30" time-units="seconds" path="/" attribute="server-state" up-regex="run.*"/>
            </avail-set-dmr>
            <avail-set-dmr name="Deployment Status" enabled="true">
                <avail-dmr name="Deployment Status" interval="1" time-units="minutes" path="/" attribute="status" up-regex="OK"/>
            </avail-set-dmr>
            <resource-type-set-dmr name="Standalone Environment" enabled="true">
                <resource-type-dmr name="WildFly Server" resource-name-template="WildFly Server [%ManagedServerName]" path="/" metric-sets="WildFly Memory Metrics,WildFly Threading Metrics,WildFly Aggregated Web Metrics" avail-sets="Server Availability">
                    <resource-config-dmr name="Name" attribute="name"/>
                    <resource-config-dmr name="Product Name" attribute="product-name"/>
                    <resource-config-dmr name="Version" attribute="product-version"/>
                    <resource-config-dmr name="Running Mode" attribute="running-mode"/>
                    <resource-config-dmr name="Server State" attribute="server-state"/>
                    <resource-config-dmr name="Suspend State" attribute="suspend-state"/>
                    <resource-config-dmr name="UUID" attribute="uuid"/>
                    <resource-config-dmr name="Home Directory" path="/core-service=server-environment" attribute="home-dir"/>
                    <resource-config-dmr name="Node Name" path="/core-service=server-environment" attribute="node-name"/>
                    <resource-config-dmr name="Hostname" path="/core-service=server-environment" attribute="qualified-host-name"/>
                    <resource-config-dmr name="Bound Address" path="/socket-binding-group=standard-sockets/socket-binding=http" attribute="bound-address"/>
                    <operation-dmr name="JDR" internal-name="generate-jdr-report" path="/subsystem=jdr"/>
                    <operation-dmr name="Reload" internal-name="reload">
                        <param name="admin-only" type="bool" description="Whether the server should start in running mode ADMIN_ONLY when it restarts" default-value="false"/>
                        <param name="use-current-server-config" type="bool" default-value="false"/>
                    </operation-dmr>
                    <operation-dmr name="Resume" internal-name="resume"/>
                    <operation-dmr name="Shutdown" internal-name="shutdown">
                        <!-- shutdown and restart -->
                        <param name="timeout" type="int" default-value="0" description="Timeout in seconds to allow active connections to drain"/>
                        <param name="restart" type="bool" default-value="false" description="Should the server be restarted after shutdown?"/>
                    </operation-dmr>
                    <operation-dmr name="Suspend" internal-name="suspend">
                        <param name="timeout" type="int" default-value="0" description="Timeout in seconds to allow active connections to drain"/>
                    </operation-dmr>
                    <operation-dmr name="Deploy" internal-name="deploy"/>
                    <operation-dmr name="Undeploy" internal-name="undeploy"/>
                    <operation-dmr name="Enable Deployment" internal-name="enable-deployment"/>
                    <operation-dmr name="Disable Deployment" internal-name="disable-deployment"/>
                    <operation-dmr name="Restart Deployment" internal-name="restart-deployment"/>
                </resource-type-dmr>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Domain Environment" enabled="true">
                <resource-type-dmr name="Host Controller" resource-name-template="Host Controller [%ManagedServerName]" path="/">
                    <resource-config-dmr name="Product Name" attribute="product-name"/>
                    <resource-config-dmr name="Version" attribute="product-version"/>
                    <resource-config-dmr name="Process Type" attribute="process-type"/>
                    <!-- (Host|Domain) Controller -->
                    <resource-config-dmr name="Local Host Name" attribute="local-host-name"/>
                    <operation-dmr name="Reload Servers" internal-name="reload-servers">
                        <param name="blocking" type="bool" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Restart Servers" internal-name="restart-servers">
                        <param name="blocking" type="bool" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Resume Servers" internal-name="resume-servers"/>
                    <operation-dmr name="Start Servers" internal-name="start-servers">
                        <param name="blocking" type="bool" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Stop Servers" internal-name="stop-servers">
                        <param name="blocking" type="bool" description="Wait until the servers are stopped before returning from the operation."/>
                        <param name="timeout" type="int" default-value="0" description="Timeout in seconds to allow active connections to drain"/>
                    </operation-dmr>
                    <operation-dmr name="Suspend Servers" internal-name="suspend-servers">
                        <param name="timeout" type="int" default-value="0" description="Timeout in seconds to allow active connections to drain"/>
                    </operation-dmr>
                    <operation-dmr name="Deploy" internal-name="deploy"/>
                    <operation-dmr name="Undeploy" internal-name="undeploy"/>
                    <operation-dmr name="Enable Deployment" internal-name="enable-deployment"/>
                    <operation-dmr name="Disable Deployment" internal-name="disable-deployment"/>
                    <operation-dmr name="Restart Deployment" internal-name="restart-deployment"/>
                </resource-type-dmr>
                <resource-type-dmr name="Domain Profile" resource-name-template="Domain Profile [%-]" path="/profile=*" parents="Host Controller">
                    <resource-config-dmr name="Name" attribute="name"/>
                </resource-type-dmr>
                <resource-type-dmr name="Domain Server Group" resource-name-template="Domain Server Group [%-]" path="/server-group=*" parents="Host Controller">
                    <resource-config-dmr name="Profile" attribute="profile"/>
                    <operation-dmr name="Reload Servers" internal-name="reload-servers">
                        <param name="blocking" type="bool" default-value="false" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Restart Servers" internal-name="restart-servers">
                        <param name="blocking" type="bool" default-value="false" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Resume Servers" internal-name="resume-servers"/>
                    <operation-dmr name="Start Servers" internal-name="start-servers">
                        <param name="blocking" type="bool" default-value="false" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Stop Servers" internal-name="stop-servers">
                        <param name="timeout" type="int" description="Timeout in seconds to allow active connections to drain"/>
                        <param name="blocking" type="bool" default-value="false" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Suspend Servers" internal-name="suspend-servers">
                        <param name="timeout" type="int" description="Timeout in seconds to allow active connections to drain"/>
                    </operation-dmr>
                </resource-type-dmr>
                <resource-type-dmr name="Domain Host" resource-name-template="Domain Host [%-]" path="/host=*" parents="Host Controller" metric-sets="WildFly Memory Metrics,WildFly Threading Metrics">
                    <resource-config-dmr name="Name" attribute="name"/>
                    <resource-config-dmr name="Product Name" attribute="product-name"/>
                    <resource-config-dmr name="Version" attribute="product-version"/>
                    <resource-config-dmr name="Is Domain Controller" attribute="master"/>
                    <resource-config-dmr name="Host State" attribute="host-state"/>
                    <resource-config-dmr name="Running Mode" attribute="running-mode"/>
                    <resource-config-dmr name="Server State" attribute="server-state"/>
                    <resource-config-dmr name="Suspend State" attribute="suspend-state"/>
                    <resource-config-dmr name="UUID" attribute="uuid"/>
                    <resource-config-dmr name="Home Directory" path="/core-service=host-environment" attribute="home-dir"/>
                    <operation-dmr name="Reload" internal-name="reload"/>
                    <operation-dmr name="Shutdown" internal-name="shutdown">
                        <param name="restart" type="bool" description="If true, once shutdown the host controller will be restarted again."/>
                    </operation-dmr>
                </resource-type-dmr>
                <resource-type-dmr name="Domain WildFly Server" resource-name-template="Domain WildFly Server [%-]" path="/server=*" parents="Domain Host" metric-sets="WildFly Memory Metrics,WildFly Threading Metrics,WildFly Aggregated Web Metrics" avail-sets="Server Availability">
                    <resource-config-dmr name="Name" attribute="name"/>
                    <resource-config-dmr name="Host" attribute="host"/>
                    <resource-config-dmr name="Product Name" attribute="product-name"/>
                    <resource-config-dmr name="Version" attribute="product-version"/>
                    <resource-config-dmr name="Profile Name" attribute="profile-name"/>
                    <resource-config-dmr name="Server Group" attribute="server-group"/>
                    <resource-config-dmr name="Running Mode" attribute="running-mode"/>
                    <resource-config-dmr name="Server State" attribute="server-state"/>
                    <resource-config-dmr name="Suspend State" attribute="suspend-state"/>
                    <resource-config-dmr name="UUID" attribute="uuid"/>
                    <resource-config-dmr name="Hostname" path="/core-service=server-environment" attribute="qualified-host-name"/>
                    <resource-config-dmr name="Node Name" path="/core-service=server-environment" attribute="node-name"/>
                    <resource-config-dmr name="Initial Running Mode" path="/core-service=server-environment" attribute="initial-running-mode"/>
                    <resource-config-dmr name="Base Directory" path="/core-service=server-environment" attribute="base-dir"/>
                </resource-type-dmr>
                <resource-type-dmr name="Domain WildFly Server Controller" resource-name-template="Domain WildFly Server Controller [%-]" path="/server-config=*" parents="Domain Host">
                    <resource-config-dmr name="Name" attribute="name"/>
                    <resource-config-dmr name="Server Group" attribute="group"/>
                    <resource-config-dmr name="Auto Start" attribute="auto-start"/>
                    <resource-config-dmr name="Status" attribute="status"/>
                    <operation-dmr name="Destroy" internal-name="destroy"/>
                    <operation-dmr name="Kill" internal-name="kill"/>
                    <operation-dmr name="Reload" internal-name="reload">
                        <param name="blocking" type="bool" default-value="false" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Restart" internal-name="restart">
                        <param name="blocking" type="bool" default-value="false" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Resume" internal-name="resume"/>
                    <operation-dmr name="Start" internal-name="start">
                        <param name="blocking" type="bool" default-value="false" description="Wait until the servers are stopped before returning from the operation."/>
                    </operation-dmr>
                    <operation-dmr name="Stop" internal-name="stop">
                        <param name="blocking" type="bool" default-value="false" description="Wait until the servers are stopped before returning from the operation."/>
                        <param name="timeout" type="int" description="Timeout in seconds to allow active connections to drain"/>
                    </operation-dmr>
                    <operation-dmr name="Suspend" internal-name="suspend">
                        <param name="timeout" type="int" description="Timeout in seconds to allow active connections to drain"/>
                    </operation-dmr>
                </resource-type-dmr>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Hawkular" enabled="true">
                <resource-type-dmr name="Hawkular WildFly Agent" resource-name-template="Hawkular WildFly Agent" path="/subsystem=hawkular-wildfly-agent" parents="WildFly Server,Domain WildFly Server,Domain Host">
                    <operation-dmr name="Status" internal-name="status"/>
                    <operation-dmr name="Inventory Discovery Scan" internal-name="fullDiscoveryScan"/>
                </resource-type-dmr>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Deployment" enabled="true">
                <resource-type-dmr name="Deployment" resource-name-template="Deployment [%-]" path="/deployment=*" parents="WildFly Server,Domain WildFly Server" metric-sets="Undertow Metrics" avail-sets="Deployment Status">
                    <operation-dmr name="Redeploy" internal-name="redeploy"/>
                    <operation-dmr name="Remove" internal-name="remove"/>
                    <operation-dmr name="Undeploy" internal-name="undeploy"/>
                </resource-type-dmr>
                <resource-type-dmr name="SubDeployment" resource-name-template="SubDeployment [%-]" path="/subdeployment=*" parents="Deployment" metric-sets="Undertow Metrics"/>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Web Component" enabled="true">
                <resource-type-dmr name="Servlet" resource-name-template="Servlet [%-]" path="/subsystem=undertow/servlet=*" parents="Deployment,SubDeployment" metric-sets="Servlet Metrics"/>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="EJB" enabled="true">
                <resource-type-dmr name="Singleton EJB" resource-name-template="Singleton EJB [%-]" path="/subsystem=ejb3/singleton-bean=*" parents="Deployment,SubDeployment" metric-sets="Singleton EJB Metrics"/>
                <resource-type-dmr name="Message Driven EJB" resource-name-template="Message Driven EJB [%-]" path="/subsystem=ejb3/message-driven-bean=*" parents="Deployment,SubDeployment" metric-sets="Message Driven EJB Metrics"/>
                <resource-type-dmr name="Stateless Session EJB" resource-name-template="Stateless Session EJB [%-]" path="/subsystem=ejb3/stateless-session-bean=*" parents="Deployment,SubDeployment" metric-sets="Stateless Session EJB Metrics"/>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Datasource" enabled="true">
                <resource-type-dmr name="Datasource" resource-name-template="Datasource [%-]" path="/subsystem=datasources/data-source=*" parents="WildFly Server,Domain WildFly Server" metric-sets="Datasource Pool Metrics,Datasource JDBC Metrics">
                    <resource-config-dmr name="Connection URL" attribute="connection-url"/>
                    <resource-config-dmr name="Driver Name" attribute="driver-name"/>
                    <resource-config-dmr name="Driver Class" attribute="driver-class"/>
                    <resource-config-dmr name="Datasource Class" attribute="datasource-class"/>
                    <resource-config-dmr name="Enabled" attribute="enabled"/>
                    <resource-config-dmr name="JNDI Name" attribute="jndi-name"/>
                    <resource-config-dmr name="Username" attribute="user-name"/>
                    <resource-config-dmr name="Password" attribute="password"/>
                    <resource-config-dmr name="Security Domain" attribute="security-domain"/>
                    <resource-config-dmr name="Connection Properties" path="/connection-properties=*" attribute="value"/>
                </resource-type-dmr>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="XA Datasource" enabled="true">
                <resource-type-dmr name="XA Datasource" resource-name-template="XA Datasource [%-]" path="/subsystem=datasources/xa-data-source=*" parents="WildFly Server,Domain WildFly Server" metric-sets="Datasource Pool Metrics,Datasource JDBC Metrics">
                    <resource-config-dmr name="Driver Name" attribute="driver-name"/>
                    <resource-config-dmr name="XA Datasource Class" attribute="xa-datasource-class"/>
                    <resource-config-dmr name="Enabled" attribute="enabled"/>
                    <resource-config-dmr name="JNDI Name" attribute="jndi-name"/>
                    <resource-config-dmr name="Username" attribute="user-name"/>
                    <resource-config-dmr name="Password" attribute="password"/>
                    <resource-config-dmr name="Security Domain" attribute="security-domain"/>
                    <resource-config-dmr name="Datasource Properties" path="/xa-datasource-properties=*" attribute="value"/>
                </resource-type-dmr>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="JDBC Driver" enabled="true">
                <resource-type-dmr name="JDBC Driver" resource-name-template="JDBC Driver [%-]" path="/subsystem=datasources/jdbc-driver=*" parents="WildFly Server,Domain WildFly Server"/>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Transaction Manager" enabled="true">
                <resource-type-dmr name="Transaction Manager" resource-name-template="Transaction Manager" path="/subsystem=transactions" parents="WildFly Server,Domain WildFly Server" metric-sets="Transactions Metrics"/>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Messaging" enabled="true">
                <resource-type-dmr name="Messaging Server" resource-name-template="Messaging Server [%-]" path="/subsystem=messaging-activemq/server=*" parents="WildFly Server,Domain WildFly Server"/>
                <resource-type-dmr name="JMS Queue" resource-name-template="JMS Queue [%-]" path="/jms-queue=*" parents="Messaging Server" metric-sets="JMS Queue Metrics"/>
                <resource-type-dmr name="JMS Topic" resource-name-template="JMS Topic [%-]" path="/jms-topic=*" parents="Messaging Server" metric-sets="JMS Topic Metrics"/>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Socket Binding Group" enabled="true">
                <resource-type-dmr name="Socket Binding Group" resource-name-template="Socket Binding Group [%-]" path="/socket-binding-group=*" parents="WildFly Server,Host Controller">
                    <resource-config-dmr name="Name" attribute="name"/>
                    <resource-config-dmr name="Port Offset" attribute="port-offset" resolve-expressions="true"/>
                    <resource-config-dmr name="Default Interface" attribute="default-interface"/>
                </resource-type-dmr>
                <resource-type-dmr name="Socket Binding" resource-name-template="Socket Binding [%-]" path="/socket-binding=*" parents="Socket Binding Group">
                    <resource-config-dmr name="Name" attribute="name"/>
                    <resource-config-dmr name="Interface" attribute="interface"/>
                    <resource-config-dmr name="Port" attribute="port" resolve-expressions="true"/>
                    <resource-config-dmr name="Multicast Address" attribute="multicast-address" resolve-expressions="true"/>
                    <resource-config-dmr name="Multicast Port" attribute="multicast-port"/>
                </resource-type-dmr>
                <resource-type-dmr name="Remote Destination Outbound Socket Binding" resource-name-template="Remote Destination Outbound Socket Binding [%-]" path="/remote-destination-outbound-socket-binding=*" parents="Socket Binding Group">
                    <resource-config-dmr name="Host" attribute="host"/>
                    <resource-config-dmr name="Port" attribute="port"/>
                </resource-type-dmr>
            </resource-type-set-dmr>
            <resource-type-set-dmr name="Clustering" enabled="true">
                <resource-type-dmr name="ModCluster" resource-name-template="ModCluster" path="/subsystem=modcluster" parents="WildFly Server,Domain WildFly Server">
                    <resource-config-dmr name="Connector" attribute="connector" path="/mod-cluster-config=configuration"/>
                    <resource-config-dmr name="Advertise Socket Binding" attribute="advertise-socket" path="/mod-cluster-config=configuration"/>
                </resource-type-dmr>
                <resource-type-dmr name="JGroups" resource-name-template="JGroups" path="/subsystem=jgroups" parents="WildFly Server,Domain WildFly Server"/>
                <resource-type-dmr name="JGroups Channel" resource-name-template="JGroups Channel [%-]" path="/channel=*" parents="JGroups">
                    <resource-config-dmr name="Cluster Name" attribute="cluster"/>
                    <resource-config-dmr name="IP Address" attribute="address"/>
                    <resource-config-dmr name="Group Membership View" attribute="view"/>
                </resource-type-dmr>
                <resource-type-dmr name="Infinispan" resource-name-template="Infinispan" path="/subsystem=infinispan" parents="WildFly Server,Domain WildFly Server"/>
                <resource-type-dmr name="Infinispan Cache Container" resource-name-template="Infinispan Cache Container [%-]" path="/cache-container=*" parents="Infinispan">
                    <resource-config-dmr name="Cluster Name" attribute="cluster-name"/>
                    <resource-config-dmr name="Coordinator Address" attribute="coordinator-address"/>
                    <resource-config-dmr name="Is Coordinator" attribute="is-coordinator"/>
                </resource-type-dmr>
            </resource-type-set-dmr>
            <!-- JMX metadata for monitoring Jolokia-enabled applications -->
            <avail-set-jmx name="RuntimeAvailsJMX" enabled="true">
                <avail-jmx name="VM Avail" interval="30" time-units="seconds" attribute="StartTime" up-regex="[0123456789]+"/>
            </avail-set-jmx>
            <avail-set-jmx name="MemoryPoolAvailsJMX" enabled="true">
                <avail-jmx name="Memory Pool Avail" interval="30" time-units="seconds" attribute="Valid" up-regex="[tT].*"/>
            </avail-set-jmx>
            <metric-set-jmx name="RuntimeMetricsJMX" enabled="true">
                <metric-jmx name="VM Uptime" interval="30" time-units="seconds" metric-units="milliseconds" attribute="Uptime"/>
                <metric-jmx name="Used Heap Memory" interval="30" time-units="seconds" metric-units="bytes" object-name="java.lang:type=Memory" attribute="HeapMemoryUsage#used"/>
                <metric-jmx name="Aggregate GC Collection Time" interval="30" time-units="seconds" metric-units="milliseconds" object-name="java.lang:type=GarbageCollector,name=*" attribute="CollectionTime"/>
            </metric-set-jmx>
            <metric-set-jmx name="MemoryPoolMetricsJMX" enabled="true">
                <metric-jmx name="Initial" interval="2" time-units="minutes" metric-units="bytes" attribute="Usage#init"/>
                <metric-jmx name="Used" interval="1" time-units="minutes" metric-units="bytes" attribute="Usage#used"/>
                <metric-jmx name="Committed" interval="1" time-units="minutes" metric-units="bytes" attribute="Usage#committed"/>
                <metric-jmx name="Max" interval="2" time-units="minutes" metric-units="bytes" attribute="Usage#max"/>
            </metric-set-jmx>
            <resource-type-set-jmx name="MainJMX" enabled="true">
                <resource-type-jmx name="Runtime MBean" resource-name-template="JMX [%_ManagedServerName%][%type%]" object-name="java.lang:type=Runtime" metric-sets="RuntimeMetricsJMX" avail-sets="RuntimeAvailsJMX">
                    <resource-config-jmx name="OS Name" object-name="java.lang:type=OperatingSystem" attribute="Name"/>
                    <resource-config-jmx name="Java VM Name" attribute="VmName"/>
                </resource-type-jmx>
            </resource-type-set-jmx>
            <resource-type-set-jmx name="MemoryPoolJMX" enabled="true">
                <resource-type-jmx name="Memory Pool MBean" parents="Runtime MBean" resource-name-template="JMX [%_ManagedServerName%] %type% %name%" object-name="java.lang:type=MemoryPool,name=*" metric-sets="MemoryPoolMetricsJMX" avail-sets="MemoryPoolAvailsJMX">
                    <resource-config-jmx name="Type" attribute="Type"/>
                </resource-type-jmx>
            </resource-type-set-jmx>
            <managed-servers>
                <remote-dmr name="Another Remote Server" enabled="false" host="localhost" port="9990" username="adminUser" password="adminPass" resource-type-sets="Standalone Environment,Deployment,Web Component,EJB,Datasource,XA Datasource,JDBC Driver,Transaction Manager,Messaging,Socket Binding Group,Clustering"/>
                <local-dmr name="Local" enabled="true" resource-type-sets="Standalone Environment,Deployment,Web Component,EJB,Datasource,XA Datasource,JDBC Driver,Transaction Manager,Messaging,Socket Binding Group,Clustering,Hawkular"/>
                <remote-jmx name="Remote JMX" enabled="false" resource-type-sets="MainJMX,MemoryPoolJMX" url="http://localhost:8080/jolokia-war"/>
                <remote-prometheus name="Remote Prometheus" enabled="false" url="http://localhost:9090/metrics" interval="30" time-units="seconds"/>
            </managed-servers>
            <platform enabled="true">
                <file-stores enabled="true" interval="5" time-units="minutes"/>
                <memory enabled="true" interval="1" time-units="minutes"/>
                <processors enabled="true" interval="1" time-units="minutes"/>
                <power-sources enabled="false" interval="5" time-units="minutes"/>
            </platform>
        </subsystem>
    </profile>
    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
        </interface>
    </interfaces>
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
        <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
        <socket-binding name="http" port="${jboss.http.port:8080}"/>
        <socket-binding name="https" port="${jboss.https.port:8443}"/>
        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-status-manager" port="4713"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>
</server>
