<?xml version="1.0" encoding="UTF-8"?>
<!--
FILE INFORMATION

OMA Permanent Document
   File: TBD
   Path:

OMNA LwM2M Registry
   File: 3604.xml
   Path: https://github.com/OpenMobileAlliance/lwm2m-registry

NORMATIVE INFORMATION

  Information about this file can be found in the latest revision of

  TBD

  This is available at http://www.openmobilealliance.org/

  Send comments to https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues

CHANGE HISTORY

See TBD

LEGAL DISCLAIMER

Copyright 2026, Contributors to the Grid Edge Interoperability &
Security Alliance (GEISA), a Series of LF Projects, LLC

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

The above license is used as a license under copyright only. Please
reference the OMA IPR Policy for patent licensing terms:
https://www.omaspecworks.org/about/intellectual-property-rights/

-->
<LWM2M xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.openmobilealliance.org/tech/profiles/LWM2M-v1_1.xsd">
  <Object ObjectType="MODefinition">
    <Name>AppMonitoring</Name>
    <Description1><![CDATA[
This LwM2M Object provides app-scoped runtime monitoring visibility.

Resource identifiers are intentionally grouped with gaps between logical sections to allow future GEISA-defined resources to be added near related identity, metadata, lifecycle, monitoring state, watchdog, resource-use, platform-action, and monitoring resources without renumbering existing resources. Undefined resource identifiers in those gaps are not implemented resources.

Each Object Instance represents the platform view of one installed or running application instance. This Object reports the platform's runtime lifecycle view, current application monitoring state, exit history, resource consumption, restart behavior, watchdog state, and platform actions. Application package lifecycle remains in Object 9, and accounting state remains in Object 3602.

Accounting, quota, throttle, block, disabled, and accounting-window state are represented by linked /3602 AppAccounting instances, not duplicated in /3604.
]]></Description1>
    <ObjectID>3604</ObjectID>
    <ObjectURN>urn:oma:lwm2m:ext:3604</ObjectURN>
    <LWM2MVersion>1.1</LWM2MVersion>
    <ObjectVersion>1.0</ObjectVersion>
    <MultipleInstances>Multiple</MultipleInstances>
    <Mandatory>Optional</Mandatory>
    <Resources>
      <Item ID="4050">
        <Name>AppID</Name>
        <Operations>RW</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>2 bytes</RangeEnumeration>
        <Units/>
        <Description><![CDATA[A unique local-scope identifier for distinguishing edge applications within a specific deployment environment.]]></Description>
      </Item>
      <Item ID="4051">
        <Name>Software Instance</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Objlnk</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[Object link to the corresponding LwM2M Software Management /9 instance for the installed application. Together with AppID, this link correlates the logical application identity with the specific installed software instance on this endpoint.]]></Description>
      </Item>
      <Item ID="0">
        <Name>Application Package ID</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Package, manifest, or catalog identifier for the installed application, such as a reverse-DNS identifier. This identifies the base application package, not a deployed application instance or software version.
]]></Description>
      </Item>
      <Item ID="1">
        <Name>Application Instance ID</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Platform-local identifier for this deployed application instance. This distinguishes multiple deployed instances of the same application package on the platform.
]]></Description>
      </Item>
      <Item ID="3">
        <Name>App Accounting Instances</Name>
        <Operations>R</Operations>
        <MultipleInstances>Multiple</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Objlnk</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
One or more object links to /3602 AppAccounting instance(s) associated with this application or application instance. Multiple /3602 instances may exist for different accounting classes, scopes, or accounting windows such as daily, since-reboot, rolling-window, lifetime, or operator-defined accounting. /3602 owns accounting counters, quota, throttle, block, disabled, and accounting-window state.
]]></Description>
      </Item>
      <Item ID="10">
        <Name>Application Name</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Human-readable application name from the application manifest or platform application catalog.
]]></Description>
      </Item>
      <Item ID="11">
        <Name>Application Version</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Application version from the application manifest or platform application catalog.
]]></Description>
      </Item>
      <Item ID="12">
        <Name>Execution Environment</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Execution environment used by this application instance.

0 = Unknown
1 = Linux Execution Environment
2 = Virtual Execution Environment
3 = Other or future GEISA execution environment
4..127 = Reserved for future GEISA-defined execution environments
128..255 = Reserved for vendor-specific execution environments
]]></Description>
      </Item>
      <Item ID="20">
        <Name>Lifecycle State</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Platform lifecycle state for this application instance.

0 = Unknown
1 = Installed
2 = Activated
3 = Starting
4 = Running
5 = Stopping
6 = Stopped
7 = Failed
8 = Quarantined or policy blocked
9..127 = Reserved for future GEISA-defined lifecycle states
128..255 = Reserved for vendor-specific or operator-specific lifecycle states

This state is the platform's operational view and does not replace Software Management state.
]]></Description>
      </Item>
      <Item ID="21">
        <Name>Application Monitoring State</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Current monitoring state for this application instance:
0 = Unknown
1 = Healthy
2 = Degraded
3 = Failed
4 = Disabled
5 = Not reporting
6 = Starting
7 = Stopping
8 = Stopped
9 = Blocked by policy
10..127 = Reserved for future GEISA-defined monitoring states
128..255 = Reserved for vendor-specific or operator-specific monitoring states
]]></Description>
      </Item>
      <Item ID="22">
        <Name>Monitoring Reason Code</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Primary cause or contributing condition associated with the current Application Monitoring State:
0 = Unspecified
1 = None
2 = Other
3 = Component degraded
4 = Component failed
5 = Administratively disabled
6 = Blocked by policy
7 = Not reporting
8 = Dependency unavailable
9 = Temporarily unavailable
10 = Startup in progress
11 = Shutdown in progress
12 = Restart limit exceeded
13 = Monitoring data stale
14 = Upstream communication unavailable
15 = Registration failed
16 = Registration expired
17 = Queue backlog
18 = Queue capacity exhausted
19 = Resource pressure
20 = Insufficient memory
21 = Insufficient storage
22 = Rate limited
23 = Authorization denied
24 = Security restriction
25 = Internal error
26 = Timeout
27..127 = Reserved for future GEISA-defined monitoring reason codes
128..255 = Reserved for vendor-specific or operator-specific monitoring reason codes

None applies when no abnormal reason applies. Unspecified means no standardized reason was supplied. Other requires Reason Detail. Implementations SHOULD select the most specific applicable cause. Implementations SHOULD NOT use a reason code that merely repeats Application Monitoring State when a more specific cause is known.
]]></Description>
      </Item>
      <Item ID="23">
        <Name>Application Start Time</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Time at which the current or most recent application runtime execution started, when available from the platform. The value is encoded as LwM2M Time using Unix epoch seconds. The encoded value does not carry timezone metadata. Platform-local interpretation uses /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies.
]]></Description>
      </Item>
      <Item ID="24">
        <Name>Last Monitoring State Transition Time</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Time at which the Application Monitoring State most recently changed. When the Object Instance is initialized, this Resource SHALL represent the time at which the initial Application Monitoring State was established. The value is encoded as LwM2M Time using Unix epoch seconds. The encoded value does not carry timezone metadata. Platform-local interpretation uses /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies. This Resource SHALL always report a valid time at which the current state was established.
]]></Description>
      </Item>
      <Item ID="25">
        <Name>Last Exit Time</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Time at which the application most recently exited or was terminated. The value is encoded as LwM2M Time using Unix epoch seconds. The encoded value does not carry timezone metadata. Platform-local interpretation uses /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies.
]]></Description>
      </Item>
      <Item ID="26">
        <Name>Last Exit Reason</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Reason for the most recent application exit.

0 = None or not applicable
1 = Unknown
2 = Normal exit
3 = App-requested restart
4 = App-requested stop
5 = Platform-requested stop
6 = Watchdog timeout
7 = Crash or abnormal exit
8 = Resource limit exceeded
9 = Policy or security violation
10..127 = Reserved for future GEISA-defined exit reasons
128..255 = Reserved for vendor-specific or operator-specific exit reasons
]]></Description>
      </Item>
      <Item ID="27">
        <Name>Reason Detail</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Short human-readable diagnostic detail associated with Monitoring Reason Code. Consumers SHALL NOT parse or depend on it for interoperable behavior. This Resource SHALL be present when Monitoring Reason Code is Other and MAY be present for any other reason when useful. It is not a log field and does not replace a defined reason code.
]]></Description>
      </Item>
      <Item ID="28">
        <Name>Last Lifecycle State Transition Time</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Time at which Lifecycle State most recently changed. When the Object Instance is initialized, this Resource SHALL represent the time at which the initial Lifecycle State was established. It is distinct from Last Monitoring State Transition Time. The value is encoded as LwM2M Time using Unix epoch seconds. The encoded value does not carry timezone metadata. Platform-local interpretation uses /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies. This Resource SHALL always report a valid time at which the current state was established.
]]></Description>
      </Item>
      <Item ID="30">
        <Name>Restart Count Current Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Number of application restarts during the current platform-defined monitoring period.
]]></Description>
      </Item>
      <Item ID="31">
        <Name>Restart Count Lifetime</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Number of application restarts observed across the lifetime of this application installation, subject to platform persistence policy.
]]></Description>
      </Item>
      <Item ID="32">
        <Name>Crash Count Current Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Number of abnormal application exits during the current platform-defined monitoring period.
]]></Description>
      </Item>
      <Item ID="33">
        <Name>Watchdog Enabled</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Boolean</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Indicates whether the platform is applying an application keepalive or watchdog policy to this application instance.
]]></Description>
      </Item>
      <Item ID="34">
        <Name>Watchdog Timeout</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Current watchdog timeout in seconds for this application instance.
]]></Description>
      </Item>
      <Item ID="35">
        <Name>Watchdog Missed Count</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Number of missed application watchdog or keepalive intervals during the current platform-defined monitoring period.
]]></Description>
      </Item>
      <Item ID="40">
        <Name>CPU Current Percent</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Float</Type>
        <RangeEnumeration>0..100</RangeEnumeration>
        <Units>%</Units>
        <Description><![CDATA[
Current or recent CPU utilization estimate for this application instance, reported as a percentage of the CPU allocation or platform basis defined by the platform. This is a bounded estimate, not a perfect platform-wide truth.
]]></Description>
      </Item>
      <Item ID="41">
        <Name>CPU Average Percent</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Float</Type>
        <RangeEnumeration>0..100</RangeEnumeration>
        <Units>%</Units>
        <Description><![CDATA[
Average CPU utilization for this application instance over the platform-defined monitoring window.
]]></Description>
      </Item>
      <Item ID="42">
        <Name>CPU Peak Percent</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Float</Type>
        <RangeEnumeration>0..100</RangeEnumeration>
        <Units>%</Units>
        <Description><![CDATA[
Peak CPU utilization for this application instance over the platform-defined monitoring window.
]]></Description>
      </Item>
      <Item ID="43">
        <Name>Memory Current</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Current memory used by this application instance, such as resident memory of the representative runtime process when that is the platform measurement basis.
]]></Description>
      </Item>
      <Item ID="44">
        <Name>Memory Peak</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Peak memory used by this application instance over the platform-defined monitoring window.
]]></Description>
      </Item>
      <Item ID="45">
        <Name>Memory Limit</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Memory limit currently enforced for this application instance.
]]></Description>
      </Item>
      <Item ID="46">
        <Name>Persistent Storage Used</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Persistent storage currently used by this application instance.
]]></Description>
      </Item>
      <Item ID="47">
        <Name>Persistent Storage Limit</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Persistent storage limit currently enforced for this application instance.
]]></Description>
      </Item>
      <Item ID="48">
        <Name>Non-Persistent Storage Used</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Non-persistent storage currently used by this application instance.
]]></Description>
      </Item>
      <Item ID="49">
        <Name>Non-Persistent Storage Limit</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Non-persistent storage limit currently enforced for this application instance.
]]></Description>
      </Item>
      <Item ID="50">
        <Name>Thread Count</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Current thread count associated with this application instance or representative runtime process, when the execution environment exposes that information.
]]></Description>
      </Item>
      <Item ID="51">
        <Name>Process Count</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Current number of observed processes associated with this application instance, including directly associated child processes when exposed by the execution environment.
]]></Description>
      </Item>
      <Item ID="60">
        <Name>Last Platform Action</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Most recent platform action taken for this application instance.

0 = None
1 = Requested status
2 = Requested clean shutdown
3 = Stopped
4 = Killed or forcibly terminated
5 = Restarted
6 = Quarantined
7 = Unquarantined
8 = Purged local data
9 = Monitoring or runtime policy changed
10..127 = Reserved for future GEISA-defined platform actions
128..255 = Reserved for vendor-specific or operator-specific platform actions
]]></Description>
      </Item>
      <Item ID="61">
        <Name>Last Platform Action Time</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Time at which the platform most recently took an action for this application instance. The value is encoded as LwM2M Time using Unix epoch seconds. The encoded value does not carry timezone metadata. Platform-local interpretation uses /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies.
]]></Description>
      </Item>
      <Item ID="62">
        <Name>Request App Status</Name>
        <Operations>E</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type/>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Request that the platform obtain or refresh application status. The platform MAY satisfy this by using local runtime state, by requesting status from the application, or both.
]]></Description>
      </Item>
      <Item ID="63">
        <Name>Request Clean Shutdown</Name>
        <Operations>E</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type/>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Request that the platform ask the application to shut down cleanly. This operation is advisory and does not replace platform lifecycle enforcement through Software Management or platform execution control.
]]></Description>
      </Item>
      <Item ID="70">
        <Name>Monitoring Window</Name>
        <Operations>RW</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Platform-defined monitoring window in seconds used for average, peak, restart, crash, and watchdog-miss current-period metrics in this object instance.
]]></Description>
      </Item>
      <Item ID="71">
        <Name>Monitoring Period Start Time</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Start time for the active monitoring period used by current-period counters and windowed metrics. The value is encoded as LwM2M Time using Unix epoch seconds. The encoded value does not carry timezone metadata. Platform-local interpretation uses /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies.
]]></Description>
      </Item>
      <Item ID="72">
        <Name>Last Update Timestamp</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Time at which the platform most recently refreshed or updated this AppMonitoring object snapshot for the application instance. The value is encoded as LwM2M Time using Unix epoch seconds. The encoded value does not carry timezone metadata. Platform-local interpretation uses /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies.
]]></Description>
      </Item>
    </Resources>
    <Description2><![CDATA[

]]></Description2>
  </Object>
</LWM2M>
