<?xml version="1.0"?>
<!--
link:../matter-defines.adoc[]

Copyright (C) Connectivity Standards Alliance (2021). All rights reserved.
The information within this document is the property of the Connectivity
Standards Alliance and its use and disclosure are restricted, except as
expressly set forth herein.

Connectivity Standards Alliance hereby grants you a fully-paid, non-exclusive,
nontransferable, worldwide, limited and revocable license (without the right to
sublicense), under Connectivity Standards Alliance's applicable copyright
rights, to view, download, save, reproduce and use the document solely for your
own internal purposes and in accordance with the terms of the license set forth
herein. This license does not authorize you to, and you expressly warrant that
you shall not: (a) permit others (outside your organization) to use this
document; (b) post or publish this document; (c) modify, adapt, translate, or
otherwise change this document in any manner or create any derivative work
based on this document; (d) remove or modify any notice or label on this
document, including this Copyright Notice, License and Disclaimer. The
Connectivity Standards Alliance does not grant you any license hereunder other
than as expressly stated herein.

Elements of this document may be subject to third party intellectual property
rights, including without limitation, patent, copyright or trademark rights,
and any such third party may or may not be a member of the Connectivity
Standards Alliance. Connectivity Standards Alliance members grant other
Connectivity Standards Alliance members certain intellectual property rights as
set forth in the Connectivity Standards Alliance IPR Policy. Connectivity
Standards Alliance members do not grant you any rights under this license. The
Connectivity Standards Alliance is not responsible for, and shall not be held
responsible in any manner for, identifying or failing to identify any or all
such third party intellectual property rights. Please visit www.csa-iot.org for
more information on how to become a member of the Connectivity Standards
Alliance.

This document and the information contained herein are provided on an “AS IS”
basis and the Connectivity Standards Alliance DISCLAIMS ALL WARRANTIES EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO (A) ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OF THIRD PARTIES (INCLUDING
WITHOUT LIMITATION ANY INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENT, COPYRIGHT
OR TRADEMARK RIGHTS); OR (B) ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, TITLE OR NONINFRINGEMENT. IN NO EVENT WILL THE
CONNECTIVITY STANDARDS ALLIANCE BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF
BUSINESS, LOSS OF USE OF DATA, INTERRUPTION OF BUSINESS, OR FOR ANY OTHER
DIRECT, INDIRECT, SPECIAL OR EXEMPLARY, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
DAMAGES OF ANY KIND, IN CONTRACT OR IN TORT, IN CONNECTION WITH THIS DOCUMENT
OR THE INFORMATION CONTAINED HEREIN, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
LOSS OR DAMAGE.

All company, brand and product names in this document may be trademarks that
are the sole property of their respective owners.

This notice and disclaimer must be included on all copies of this document.

Connectivity Standards Alliance
508 Second Street, Suite 206
Davis, CA 95616, USA
-->
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x0034" name="Software Diagnostics" revision="1">
  <revisionHistory>
    <revision revision="1" summary="Initial Release"/>
  </revisionHistory>
  <classification hierarchy="base" role="utility" picsCode="DGSW" scope="Node"/>
  <features>
    <feature bit="0" code="WTRMRK" name="Watermarks" summary="Node makes available the metrics for high watermark related to memory consumption.">
      <optionalConform/>
    </feature>
  </features>
  <dataTypes>
    <struct name="ThreadMetricsStruct">
      <field id="0" name="ID" type="uint64">
        <mandatoryConform/>
      </field>
      <field id="1" name="Name" type="ref_DataTypeString" default="empty">
        <optionalConform/>
        <constraint type="max" value="8"/>
      </field>
      <field id="2" name="StackFreeCurrent" type="uint32" default="MS">
        <optionalConform/>
      </field>
      <field id="3" name="StackFreeMinimum" type="uint32" default="MS">
        <optionalConform/>
      </field>
      <field id="4" name="StackSize" type="uint32" default="MS">
        <optionalConform/>
      </field>
    </struct>
  </dataTypes>
  <attributes>
    <attribute id="0x0000" name="ThreadMetrics" type="ref_DataTypeList[ThreadMetricsStruct]">
      <access read="true" readPrivilege="view"/>
      <optionalConform/>
      <constraint type="max" value="64"/>
    </attribute>
    <attribute id="0x0001" name="CurrentHeapFree" type="uint64">
      <access read="true" readPrivilege="view"/>
      <optionalConform/>
    </attribute>
    <attribute id="0x0002" name="CurrentHeapUsed" type="uint64">
      <access read="true" readPrivilege="view"/>
      <optionalConform/>
    </attribute>
    <attribute id="0x0003" name="CurrentHeapHighWatermark" type="uint64">
      <access read="true" readPrivilege="view"/>
      <mandatoryConform>
        <feature name="WTRMRK"/>
      </mandatoryConform>
    </attribute>
  </attributes>
  <commands>
    <command id="0x00" name="ResetWatermarks" response="Y">
      <access invokePrivilege="manage"/>
      <mandatoryConform>
        <feature name="WTRMRK"/>
      </mandatoryConform>
    </command>
  </commands>
  <events>
    <event id="0x00" name="SoftwareFault" priority="info">
      <access readPrivilege="view"/>
      <optionalConform/>
      <field id="0" name="ID" type="uint64" default="0">
        <mandatoryConform/>
      </field>
      <field id="1" name="Name" type="ref_DataTypeString" default="empty">
        <optionalConform/>
        <constraint type="max" value="8"/>
      </field>
      <field id="2" name="FaultRecording" type="ref_DataTypeOctstr" default="empty">
        <optionalConform/>
        <constraint type="max" value="1024"/>
      </field>
    </event>
  </events>
</cluster>