<form stylesheet="ui_simple.css,hide_timeindicator.css,table_data_bar.css,panel_decoration.css" script="autodiscover.js,table_data_bar.js" isVisible="true" version="1.1" theme="dark">
    <label>NMON Analyser SOLARIS</label>

    <!--
    base search for main dropdown populating
    -->

    <search id="populate">
        <query>| mcatalog values(metric_name) where `nmon_metrics_index` metric_name="os.unix.nmon.cpu.cpu_all.logical_cpus" $osfilter$ host="$host-prefilter$" by host
| `mapping_frameID`
| stats count by frameID, host | sort 0 host</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
    </search>

    <!-- Information panel -->

    <row rejects="$host$">
        <panel>
            <html>

                <div class="imgheader2">
                    <img src="../../static/app/metricator-for-nmon/icons/dark_theme/info.png" alt="Info"/>

                    <h4>Nmon Analyser interfaces have been designed for focused time ranges, very large time ranges may require time to be fully processed</h4>
                    <h4>For long time analysis, please consider using metric dedicated interfaces available from App home pages</h4>

                </div>

            </html>
        </panel>
    </row>

    <!-- Selection panel -->

    <row>
        <panel>

            <input type="time" token="timerange" searchWhenChanged="true">
                <label>Time Range:</label>
                <default>
                    <earliest>-24h</earliest>
                    <latest>now</latest>
                </default>
            </input>

            <input type="dropdown" token="osfilter" searchWhenChanged="true">
                <label>Filter OS Type:</label>
                <default>Solaris</default>
                <prefix>OStype="</prefix>
                <suffix>"</suffix>
                <choice value="*">Any OS</choice>
                <choice value="Solaris">Solaris</choice>
            </input>

            <input id="frameID" type="dropdown" token="frameID" searchWhenChanged="true">
                <label>Frame IDs:</label>
                <search base="populate">
                    <query>stats count by frameID | dedup frameID | sort 0 frameID</query>
                </search>
                <choice value="*">Any</choice>
                <initialValue>*</initialValue>
                <fieldForLabel>frameID</fieldForLabel>
                <fieldForValue>frameID</fieldForValue>
                <prefix>frameID="</prefix>
                <suffix>"</suffix>
            </input>

            <input type="text" token="host-prefilter" searchWhenChanged="true">
                <label>Optional: Filter hosts populating</label>
                <default>*</default>
            </input>

            <input id="host" type="dropdown" token="host" searchWhenChanged="true">
                <label>Host:</label>
                <search base="populate">
                    <query>search $frameID$ | stats count by host | dedup host | sort 0 host</query>
                </search>
                <fieldForLabel>host</fieldForLabel>
                <fieldForValue>host</fieldForValue>
                <prefix>host="</prefix>
                <suffix>"</suffix>
            </input>

            <input type="dropdown" token="span" searchWhenChanged="true">
                <label>Span:</label>
                <default>`nmon_span`</default>
                <choice value="`nmon_span`">auto</choice>
                <choice value="span=1m">1 minute</choice>
                <choice value="span=2m">2 minutes</choice>
                <choice value="span=3m">3 minutes</choice>
                <choice value="span=4m">4 minutes</choice>
                <choice value="span=5m">5 minutes</choice>
                <choice value="span=10m">10 minutes</choice>
                <choice value="span=15m">15 minutes</choice>
                <choice value="span=30m">30 minutes</choice>
                <choice value="span=1h">1 hour</choice>
                <choice value="span=2h">2 hours</choice>
                <choice value="span=12h">12 hours</choice>
                <choice value="span=4h">4 hours</choice>
                <choice value="span=1d">1 day</choice>
                <choice value="span=2d">2 days</choice>
                <choice value="span=1w">7 days</choice>
                <choice value="span=1mon">1 month</choice>
            </input>

        </panel>
    </row>

    <!-- Help the user -->

    <row rejects="$host$">
        <panel>
            <html>
                <div class="red_help_user">
                    <p>- - - - - - - - - - ACTION REQUIRED: please select your server name(s) in the host selector above - - - - - - - - - -</p>
                </div>
            </html>
        </panel>
    </row>

    <!--
    Dynamic configuration
    The following searches are being used to define various tokens using event handlers
    -->

    <!-- DF_STORAGE data availability -->

    <search>
        <query>| mcatalog values(metric_name) where `nmon_metrics_index` metric_name="os.unix.nmon.storage.df_storage.Use_pct" $host$ | stats count | where count&gt;0</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
        <progress>
            <condition match="$job.resultCount$ == 0">
                    <set token="start_jfs_storage_search">true</set>
                    <set token="storage_usage_datasource">JFSFILE</set>
                    <unset token="start_df_storage_search"></unset>
            </condition>
            <condition>
                    <set token="start_df_storage_search">true</set>
                    <set token="storage_usage_datasource">DF_STORAGE</set>
                    <unset token="start_jfs_storage_search"></unset>
            </condition>
        </progress>
    </search>

    <!-- Configuration Search uses the nmon_inventory data over the report -->

    <search ref="NMON Inventory Solaris" id="configSearch">
    </search>

    <row>
        <panel>
            <title>SYSTEM SUMMARY OVERVIEW</title>

            <table rejects="$show_null_config$">
                <title></title>
                <search base="configSearch">
                    <query>rename hostname AS host | search $host$ | fields - host,Virtual_mem_MB</query>
                    <!-- Progress event has access to job properties only -->
                    <progress>
                        <condition match="'job.resultCount' == 0">
                            <set token="show_null_config">True</set>
                        </condition>
                        <condition>
                            <unset token="show_null_config"/>
                        </condition>
                    </progress>
                </search>
            </table>
            <html depends="$show_null_config$">
                <p style="color:blue;margin-left:30px;font-size:14px">SYSTEM SUMMARY OVERVIEW Search returned no results, The nmon inventory data may not be available yet for this host, manually run the Nmon Inventory Generation report or wait for the auto update. (occurs every hour by default)</p>
            </html>

        </panel>
    </row>

    <row>
        <panel>

            <input type="dropdown" token="statsmode" searchWhenChanged="true">
                <label></label>
                <default>max</default>
                <choice value="max">max</choice>
                <choice value="avg">avg</choice>
            </input>

            <chart>
                <title>CPU Usage</title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` `def_cpu_all_os_metric_filters` $host$ by metric_name, OStype, host span=1m
| `def_all_os_cpu_load_percent`
| timechart $span$ $statsmode$(cpu_load_percent) AS cpu_load_percent</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">CPU Usage</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` `def_cpu_all_os_metric_filters` $host$ by metric_name, OStype, host span=1m
| `def_all_os_cpu_load_percent`
| timechart $span$ $statsmode$(cpu_load_percent) AS cpu_load_percent
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
        <panel>

            <input type="dropdown" token="statsmode" searchWhenChanged="true">
                <label></label>
                <default>max</default>
                <choice value="max">max</choice>
                <choice value="avg">avg</choice>
            </input>

            <chart>
                <title>I/O Per second</title>
                <search>
                    <query>| mstats sum(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskxfer" $host$ by host, metric_name span=1m
| timechart $span$ $statsmode$(value) as avg_iops</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">I/O per Sec</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats sum(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskxfer" $host$ by host, metric_name span=1m
| timechart $span$ $statsmode$(value) as avg_iops
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <row>
        <panel id="cpu">
            <title>CPU statistics</title>
        </panel>
    </row>

    <search id="CPU_ALL">
        <query>| mstats avg(_value) as value where `nmon_metrics_index` (metric_name=os.unix.nmon.cpu.cpu_all.Sys_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.User_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.Wait_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.Idle_PCT) $host$ by metric_name, host span=1m
| eval Sys_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Sys_PCT", value), User_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.User_PCT", value), Wait_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Wait_PCT", value), Idle_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Idle_PCT", value)
| stats values(Sys_percent) as Sys_percent, values(User_percent) as User_percent, values(Wait_percent) as Wait_percent, values(Idle_percent) as Idle_percent by _time, host
| fillnull value=0 Sys_percent,User_percent,Wait_percent
| eval cpu_load_percent=(Sys_percent+User_percent+Wait_percent)
| timechart $span$
avg(Idle_percent) AS "Idle %",
avg(Sys_percent) AS "Sys %",
avg(User_percent) AS "User %",
avg(Wait_percent) AS "Wait %",
avg(cpu_load_percent) as "CPU %"</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
    </search>

    <row>
        <panel>

            <input type="link" token="cpu_all_linkinput">
                <label></label>
                <choice value="cpu_all_chart1">CPU_ALL, % by category</choice>
                <choice value="cpu_all_chart2">CPU_ALL, % global usage</choice>
                <choice value="cpu_nn_chart1">CPUnn, % global usage by processor</choice>
                <default>cpu_all_chart1</default>
                <change>
                    <condition value="cpu_all_chart1">
                        <set token="cpu_all_chart1">true</set>
                        <unset token="cpu_all_chart2"></unset>
                        <unset token="cpu_nn_chart1"></unset>
                    </condition>
                    <condition value="cpu_all_chart2">
                        <set token="cpu_all_chart2">true</set>
                        <unset token="cpu_all_chart1"></unset>
                        <unset token="cpu_nn_chart1"></unset>
                    </condition>
                    <condition value="cpu_nn_chart1">
                        <set token="cpu_nn_chart1">true</set>
                        <unset token="cpu_all_chart1"></unset>
                        <unset token="cpu_all_chart2"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$cpu_all_chart1$">
                <title></title>
                <search base="CPU_ALL">
                    <query>fields _time,"Idle %","Sys %","User %","Wait %"</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% of CPUs utilization</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisY.maximumNumber">100</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` (metric_name=os.unix.nmon.cpu.cpu_all.Sys_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.User_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.Wait_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.Idle_PCT) $host$ by metric_name, host span=1m
| eval Sys_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Sys_PCT", value), User_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.User_PCT", value), Wait_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Wait_PCT", value), Idle_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Idle_PCT", value)
| stats values(Sys_percent) as Sys_percent, values(User_percent) as User_percent, values(Wait_percent) as Wait_percent, values(Idle_percent) as Idle_percent by _time, host
| eval cpu_load_percent=(Sys_percent%2BUser_percent%2BWait_percent)
| timechart $span$ avg(Idle_percent) AS Idle_percent, avg(Sys_percent) AS Sys_percent, avg(User_percent) AS User_percent, avg(Wait_percent) AS Wait_percent, avg(cpu_load_percent) as cpu_load_percent
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$cpu_all_chart2$">
                <title></title>
                <search base="CPU_ALL">
                    <query>fields _time,"CPU %"</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% of CPUs utilization</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisY.maximumNumber">100</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` (metric_name=os.unix.nmon.cpu.cpu_all.Sys_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.User_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.Wait_PCT OR metric_name=os.unix.nmon.cpu.cpu_all.Idle_PCT) $host$ by metric_name, host span=1m
| eval Sys_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Sys_PCT", value), User_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.User_PCT", value), Wait_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Wait_PCT", value), Idle_percent=case(metric_name=="os.unix.nmon.cpu.cpu_all.Idle_PCT", value)
| stats values(Sys_percent) as Sys_percent, values(User_percent) as User_percent, values(Wait_percent) as Wait_percent, values(Idle_percent) as Idle_percent by _time, host
| eval cpu_load_percent=(Sys_percent%2BUser_percent%2BWait_percent)
| timechart $span$ avg(Idle_percent) AS Idle_percent, avg(Sys_percent) AS Sys_percent, avg(User_percent) AS User_percent, avg(Wait_percent) AS Wait_percent, avg(cpu_load_percent) as cpu_load_percent
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$cpu_nn_chart1$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.cpu.cpunn.* $host$ by metric_name span=1m
| `extract_metrics_cpu_all("Sys_PCT, User_PCT, Wait_PCT")`
| stats values(Sys_PCT) as Sys_PCT, values(User_PCT) as User_PCT, values(Wait_PCT) as Wait_PCT by _time, cpu_core | fillnull value=0
| fillnull value=0 Sys_PCT,User_PCT,Wait_PCT
| eval cpu_PCT=(Sys_PCT+User_PCT+Wait_PCT)
| timechart $span$ useother=f limit=0 avg(cpu_PCT) AS cpu_PCT by cpu_core</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% of CPU utilization</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisY.maximumNumber">100</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.cpu.cpunn.* $host$ by metric_name span=1m
| `extract_metrics_cpu_all("Sys_PCT, User_PCT, Wait_PCT")`
| stats values(Sys_PCT) as Sys_PCT, values(User_PCT) as User_PCT, values(Wait_PCT) as Wait_PCT by _time, cpu_core | fillnull value=0
| eval cpu_PCT=(Sys_PCT%2BUser_PCT%2BWait_PCT)
| timechart $span$ useother=f limit=0 avg(cpu_PCT) AS cpu_PCT by cpu_core
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <row>
        <panel>

            <input type="link" token="wlm_cpu_all_linkinput">
                <label></label>
                <choice value="wlm_cpu_all_chart1">WLM, % CPU by Zone</choice>
                <choice value="wlm_cpu_all_chart2">WLM, % CPU by Project</choice>
                <choice value="wlm_cpu_all_chart3">WLM, % CPU by Task</choice>
                <choice value="wlm_cpu_all_chart4">WLM, % CPU by User</choice>
                <default>wlm_cpu_all_chart1</default>
                <change>
                    <condition value="wlm_cpu_all_chart1">
                        <set token="wlm_cpu_all_chart1">true</set>
                        <unset token="wlm_cpu_all_chart2"></unset>
                        <unset token="wlm_cpu_all_chart3"></unset>
                        <unset token="wlm_cpu_all_chart4"></unset>
                    </condition>
                    <condition value="wlm_cpu_all_chart2">
                        <set token="wlm_cpu_all_chart2">true</set>
                        <unset token="wlm_cpu_all_chart1"></unset>
                        <unset token="wlm_cpu_all_chart3"></unset>
                        <unset token="wlm_cpu_all_chart4"></unset>
                    </condition>
                    <condition value="wlm_cpu_all_chart3">
                        <set token="wlm_cpu_all_chart3">true</set>
                        <unset token="wlm_cpu_all_chart1"></unset>
                        <unset token="wlm_cpu_all_chart2"></unset>
                        <unset token="wlm_cpu_all_chart4"></unset>
                    </condition>
                    <condition value="wlm_cpu_all_chart4">
                        <set token="wlm_cpu_all_chart4">true</set>
                        <unset token="wlm_cpu_all_chart1"></unset>
                        <unset token="wlm_cpu_all_chart2"></unset>
                        <unset token="wlm_cpu_all_chart3"></unset>
                    </condition>
                </change>
            </input>
            
            <chart depends="$wlm_cpu_all_chart1$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmzonecpu $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% CPUs</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmzonecpu dimension_device="$click.name2$" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$wlm_cpu_all_chart2$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmprojectcpu $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% CPUs</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmprojectcpu dimension_device="$click.name2$" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$wlm_cpu_all_chart3$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmtaskcpu $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% CPUs</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmtaskcpu dimension_device="$click.name2$" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$wlm_cpu_all_chart4$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmusercpu $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% CPUs</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmusercpu dimension_device="$click.name2$" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <row>
        <panel id="process">
            <title>Process, Kernel, I/O Statistics</title>
        </panel>
    </row>

    <!-- TOP data availability -->

    <search>
        <query>| mcatalog values(metric_name) where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.pct_CPU" $host$ | stats count | where count&gt;0</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
        <progress>
            <condition match="$job.resultCount$ == 0">
                    <unset token="start_top_search"></unset>
                    <set token="show_null_top"></set>
            </condition>
            <condition>
                    <set token="start_top_search">true</set>
                    <unset token="show_null_top"></unset>
            </condition>
        </progress>
    </search>

    <row>
        <panel>

            <input type="link" token="top_linkinput">
                <label></label>
                <choice value="top_chart1">TOP, CPU Usage per logical core</choice>
                <choice value="top_chart2">TOP, Physical Memory (RSS) Usage per command invocation</choice>
                <choice value="top_chart3">TOP, Virtual Memory (SIZE) Usage per command invocation</choice>
                <choice value="top_chart4">TOP, Paging, Sum of page faults</choice>
                <choice value="top_chart5">TOP, Threads per Command invocation</choice>
                <choice value="top_chart6">TOP, Count of bytes/sec being passed via the read and write system calls</choice>
                <default>top_chart1</default>
                <change>
                    <condition value="top_chart1">
                        <set token="top_chart1">true</set>
                        <unset token="top_chart2"></unset>
                        <unset token="top_chart3"></unset>
                        <unset token="top_chart4"></unset>
                        <unset token="top_chart5"></unset>
                        <unset token="top_chart6"></unset>
                    </condition>
                    <condition value="top_chart2">
                        <set token="top_chart2">true</set>
                        <unset token="top_chart1"></unset>
                        <unset token="top_chart3"></unset>
                        <unset token="top_chart4"></unset>
                        <unset token="top_chart5"></unset>
                        <unset token="top_chart6"></unset>
                    </condition>
                    <condition value="top_chart3">
                        <set token="top_chart3">true</set>
                        <unset token="top_chart2"></unset>
                        <unset token="top_chart1"></unset>
                        <unset token="top_chart4"></unset>
                        <unset token="top_chart5"></unset>
                        <unset token="top_chart6"></unset>
                    </condition>
                    <condition value="top_chart4">
                        <set token="top_chart4">true</set>
                        <unset token="top_chart2"></unset>
                        <unset token="top_chart3"></unset>
                        <unset token="top_chart1"></unset>
                        <unset token="top_chart5"></unset>
                        <unset token="top_chart6"></unset>
                    </condition>
                    <condition value="top_chart5">
                        <set token="top_chart5">true</set>
                        <unset token="top_chart2"></unset>
                        <unset token="top_chart3"></unset>
                        <unset token="top_chart4"></unset>
                        <unset token="top_chart1"></unset>
                        <unset token="top_chart6"></unset>
                    </condition>
                    <condition value="top_chart6">
                        <set token="top_chart6">true</set>
                        <unset token="top_chart2"></unset>
                        <unset token="top_chart3"></unset>
                        <unset token="top_chart4"></unset>
                        <unset token="top_chart5"></unset>
                        <unset token="top_chart1"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$top_chart1$">
                <title></title>
                <search depends="$top_chart1$">
                    <query>| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.pct_CPU" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as pct_CPU by _time, dimension_Command
| eval usage_per_core=(pct_CPU/100)
| timechart $span$ useother=f limit="50" max(usage_per_core) as "CPU Usage per core" by dimension_Command</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">column</option>
                <option name="charting.chart.nullValueMode">0</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Logical Core</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.pct_CPU" dimension_Command="$click.name2$" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as pct_CPU by _time, dimension_Command
| eval usage_per_core=(pct_CPU/100)
| timechart $span$ useother=f limit="50" max(usage_per_core) as "CPU Usage per core" by dimension_Command
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$top_chart2$">
                <title></title>
                <search depends="$top_chart2$">
                    <query>| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.ResSize" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| eval Used_Mem_MB=((value)/1024)
| timechart $span$ useother=f limit="50" avg(Used_Mem_MB) as "memory usage (MB)" by dimension_Command</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">column</option>
                <option name="charting.chart.nullValueMode">0</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Megabytes (MB)</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.ResSize" dimension_Command="$click.name2$" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| eval Used_Mem_MB=((value)/1024)
| timechart $span$ useother=f limit="50" avg(Used_Mem_MB) as "memory usage (MB)" by dimension_Command
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$top_chart3$">
                <title></title>
                <search depends="$top_chart3$">
                    <query>| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.Size" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| eval Used_Mem_MB=((value)/1024)
| timechart $span$ useother=f limit="50" avg(Used_Mem_MB) as "memory usage (MB)" by dimension_Command</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">column</option>
                <option name="charting.chart.nullValueMode">0</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Megabytes (MB)</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.Size" dimension_Command="$click.name2$" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| eval Used_Mem_MB=((value)/1024)
| timechart $span$ useother=f limit="50" avg(Used_Mem_MB) as "memory usage (MB)" by dimension_Command
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$top_chart4$">
                <title></title>
                <search depends="$top_chart4$">
                    <query>| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.Paging" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| timechart $span$ useother=f limit="50" avg(value) as "Paging" by dimension_Command</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">column</option>
                <option name="charting.chart.nullValueMode">0</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Number of Page</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.Paging" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| timechart $span$ useother=f limit="50" avg(value) as "Paging" by dimension_Command
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$top_chart5$">
                <title></title>
                <search depends="$top_chart5$">
                    <query>| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.Threads" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| timechart $span$ useother=f limit="50" avg(value) as "Threads" by dimension_Command</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">column</option>
                <option name="charting.chart.nullValueMode">0</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Number of Threads</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.Threads" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| timechart $span$ useother=f limit="50" avg(value) as "Paging" by dimension_Command
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$top_chart6$">
                <title></title>
                <search depends="$top_chart6$">
                    <query>| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.CharIO" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| timechart $span$ useother=f limit="50" avg(value) as "CharIO" by dimension_Command</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">column</option>
                <option name="charting.chart.nullValueMode">0</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">bytes/sec</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.processes.top.CharIO" $host$ by dimension_Command dimension_PID span=1m
| stats sum(value) as value by _time, dimension_Command
| timechart $span$ useother=f limit="50" avg(value) as "CharIO" by dimension_Command
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <html depends="$show_null_top$">
                <p style="color:blue;margin-left:30px;font-size:14px">Search returned no results, TOP collection (processes activity) has not been activated or no processes were captured due to lack of activity</p>
            </html>

        </panel>
    </row>

    <search id="FILE">
        <query>| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.kernel.file.*" $host$ by metric_name span=1m
| `extract_metrics("readch writech iget namei dirblk ttycanch ttyoutch ttyrawch")`
| stats values(readch) as readch, values(writech) as writech
values(iget) as iget, values(namei) as namei, values(dirblk) as dirblk
values(ttycanch) as ttycanch, values(ttyoutch) as ttyoutch, values(ttyrawch) as ttyrawch by _time
| timechart $span$ max(readch) as readch, max(writech) as writech
max(iget) as iget, max(namei) as namei, max(dirblk) as dirblk
max(ttycanch) as ttycanch, max(ttyoutch) as ttyoutch, max(ttyrawch) as ttyrawch</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
    </search>

    <row>
        <panel>

            <input type="link" token="file_linkinput">
                <label></label>
                <choice value="file_chart1">FILE, Read/Write system calls</choice>
                <choice value="file_chart2">FILE, Various statistics</choice>
                <default>file_chart1</default>
                <change>
                    <condition value="file_chart1">
                        <set token="file_chart1">true</set>
                        <unset token="file_chart2"></unset>
                    </condition>
                    <condition value="file_chart2">
                        <set token="file_chart2">true</set>
                        <unset token="file_chart1"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$file_chart1$">
                <title></title>
                <search base="FILE">
                    <query>fields _time,readch,writech</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Rate/Sec</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$q=| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.kernel.file.*" $host$ by metric_name span=1m
| `extract_metrics("readch writech iget namei dirblk ttycanch ttyoutch ttyrawch")`
| stats values(readch) as readch, values(writech) as writech
values(iget) as iget, values(namei) as namei, values(dirblk) as dirblk
values(ttycanch) as ttycanch, values(ttyoutch) as ttyoutch, values(ttyrawch) as ttyrawch by _time
| timechart $span$ max(readch) as readch, max(writech) as writech
max(iget) as iget, max(namei) as namei, max(dirblk) as dirblk
max(ttycanch) as ttycanch, max(ttyoutch) as ttyoutch, max(ttyrawch) as ttyrawch
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$file_chart2$">
                <title></title>
                <search base="FILE">
                    <query>fields _time,iget,namei,dirblk,ttycanch,ttyoutch,ttyrawch</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Rate/Sec</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$q=| mstats max(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.kernel.file.*" $host$ by metric_name span=1m
| `extract_metrics("readch writech iget namei dirblk ttycanch ttyoutch ttyrawch")`
| stats values(readch) as readch, values(writech) as writech
values(iget) as iget, values(namei) as namei, values(dirblk) as dirblk
values(ttycanch) as ttycanch, values(ttyoutch) as ttyoutch, values(ttyrawch) as ttyrawch by _time
| timechart $span$ max(readch) as readch, max(writech) as writech
max(iget) as iget, max(namei) as namei, max(dirblk) as dirblk
max(ttycanch) as ttycanch, max(ttyoutch) as ttyoutch, max(ttyrawch) as ttyrawch
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <search id="PROC">
        <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.kernel.proc.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
    </search>

    <row>
        <panel>

            <input type="link" token="proc_linkinput">
                <label></label>
                <choice value="proc_chart1">PROC, Kernel Threads in run queue and to be paged (RunQueue, Swap-In)</choice>
                <choice value="proc_chart2">PROC, Context switches and system calls (pswitch, syscall)</choice>
                <choice value="proc_chart3">PROC, Fork and Exec system calls (fork, exec)</choice>
                <default>proc_chart1</default>
                <change>
                    <condition value="proc_chart1">
                        <set token="proc_chart1">true</set>
                        <unset token="proc_chart2"></unset>
                        <unset token="proc_chart3"></unset>
                    </condition>
                    <condition value="proc_chart2">
                        <set token="proc_chart2">true</set>
                        <unset token="proc_chart1"></unset>
                        <unset token="proc_chart3"></unset>
                    </condition>
                    <condition value="proc_chart3">
                        <set token="proc_chart3">true</set>
                        <unset token="proc_chart2"></unset>
                        <unset token="proc_chart1"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$proc_chart1$">
                <title></title>
                <search base="PROC">
                    <query>fields _time,Runnable,Swap_in</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Value</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$timerange.earliest$&latest=$timerange.latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.kernel.proc.Runnable OR metric_name=os.unix.nmon.kernel.proc.Swap_in $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric&display.general.type=visualizations&display.page.search.tab=visualizations&display.visualizations.charting.chart=line
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$proc_chart2$">
                <title></title>
                <search base="PROC">
                    <query>fields _time,pswitch,syscall</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">$chart.stackingmode$</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Rates per Second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$timerange.earliest$&latest=$timerange.latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.kernel.proc.pswitch OR metric_name=os.unix.nmon.kernel.proc.syscall $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric&display.general.type=visualizations&display.page.search.tab=visualizations&display.visualizations.charting.chart=line
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$proc_chart3$">
                <title></title>
                <search base="PROC">
                    <query>fields _time,fork,exec</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Rates per Second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$timerange.earliest$&latest=$timerange.latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.kernel.proc.fork OR metric_name=os.unix.nmon.kernel.proc.exec $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric&display.general.type=visualizations&display.page.search.tab=visualizations&display.visualizations.charting.chart=line
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <row>
        <panel>

            <input type="link" token="procsol_linkinput">
                <label></label>
                <choice value="procsol_chart1">PROCSOL, Percentage of Time All processes have spent in: (estimation since terminated processes are not accounted)</choice>
                <default>procsol_chart1</default>
                <change>
                    <condition value="procsol_chart1">
                        <set token="procsol_chart1">true</set>
                    </condition>
                </change>
            </input>

            <chart depends="$procsol_chart1$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.kernel.procsol.* by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ avg(value) by metric
| rename USR as "USR (%time in User Mode)",
SYS as "SYS (%time in System Mode)",
TRP as "TRP (%time Processing system traps)",
TFL as "TFL (%time Processing text page faults)",
DFL as "DFL (%time Processing data page faults)",
LAT as "LAT (%time Waiting for CPU)"</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">% Of Time</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.kernel.procsol.* by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ avg(value) by metric
| rename USR as "USR (pct_time in User Mode)",
SYS as "SYS (pct_time in System Mode)",
TRP as "TRP (pct_time Processing system traps)",
TFL as "TFL (pct_time Processing text page faults)",
DFL as "DFL (pct_time Processing data page faults)",
LAT as "LAT (pct_time Waiting for CPU)"
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <search id="VM">
        <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.vm.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
    </search>

    <row>
        <panel>

            <input type="link" token="vm_linkinput">
                <label></label>
                <choice value="vm_chart1">VM, (pages/s) Minor faults and major faults</choice>
                <choice value="vm_chart2">VM, (pages/s) Pages IN and OUT</choice>
                <choice value="vm_chart3">VM, (pages/s) Pages examined and freed by pageout daemon</choice>
                <choice value="vm_chart4">VM, (KB/s) Pages paged IN and OUT</choice>
                <choice value="vm_chart5">VM, (KB/s) Pages swapped IN and OUT</choice>
                <choice value="vm_chart6">VM, (KB/s) Pages freed by daemon or auto</choice>
                <default>vm_chart1</default>
                <change>
                    <condition value="vm_chart1">
                        <set token="vm_chart1">true</set>
                        <unset token="vm_chart2"></unset>
                        <unset token="vm_chart3"></unset>
                        <unset token="vm_chart4"></unset>
                        <unset token="vm_chart5"></unset>
                        <unset token="vm_chart6"></unset>
                    </condition>
                    <condition value="vm_chart2">
                        <set token="vm_chart2">true</set>
                        <unset token="vm_chart1"></unset>
                        <unset token="vm_chart3"></unset>
                        <unset token="vm_chart4"></unset>
                        <unset token="vm_chart5"></unset>
                        <unset token="vm_chart6"></unset>
                    </condition>
                    <condition value="vm_chart3">
                        <set token="vm_chart3">true</set>
                        <unset token="vm_chart2"></unset>
                        <unset token="vm_chart1"></unset>
                        <unset token="vm_chart4"></unset>
                        <unset token="vm_chart5"></unset>
                        <unset token="vm_chart6"></unset>
                    </condition>
                    <condition value="vm_chart4">
                        <set token="vm_chart4">true</set>
                        <unset token="vm_chart2"></unset>
                        <unset token="vm_chart3"></unset>
                        <unset token="vm_chart1"></unset>
                        <unset token="vm_chart5"></unset>
                        <unset token="vm_chart6"></unset>
                    </condition>
                    <condition value="vm_chart5">
                        <set token="vm_chart5">true</set>
                        <unset token="vm_chart2"></unset>
                        <unset token="vm_chart3"></unset>
                        <unset token="vm_chart4"></unset>
                        <unset token="vm_chart1"></unset>
                        <unset token="vm_chart6"></unset>
                    </condition>
                    <condition value="vm_chart6">
                        <set token="vm_chart6">true</set>
                        <unset token="vm_chart2"></unset>
                        <unset token="vm_chart3"></unset>
                        <unset token="vm_chart4"></unset>
                        <unset token="vm_chart5"></unset>
                        <unset token="vm_chart1"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$vm_chart1$">
                <title></title>
                <search base="VM">
                    <query>fields _time,minfaults,majfaults</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Pages/second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.vm.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,*minfaults*,*majfaults*
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$vm_chart2$">
                <title></title>
                <search base="VM">
                    <query>fields _time,pgin,pgout</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Pages/second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.vm.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,*pgin*,*pgout*
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$vm_chart3$">
                <title></title>
                <search base="VM">
                    <query>fields _time,scans,reclaims</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Pages/second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.vm.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,*scans*,*reclaims*
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$vm_chart4$">
                <title></title>
                <search base="VM">
                    <query>fields _time,pgpgin,pgpgout</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Pages/second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.vm.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,*pgpgin*,*pgpgout*
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$vm_chart5$">
                <title></title>
                <search base="VM">
                    <query>fields _time,pswpin,pswpout</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">KB/s</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.vm.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,*pswpin*,*pswpout*
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$vm_chart6$">
                <title></title>
                <search base="VM">
                    <query>fields _time,pgfree</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">KB/s</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.vm.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,*pgfree*
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <row>
        <panel id="memory">
            <title>MEMORY Usage Statistics</title>
        </panel>
    </row>

    <search id="MEM">
        <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.memuse.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
    </search>

    <search id="MEMUSE">
        <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.memuse.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric</query>
        <earliest>$timerange.earliest$</earliest>
        <latest>$timerange.latest$</latest>
    </search>

    <row>
        <panel>

            <input type="link" token="mem_linkinput">
                <label></label>
                <choice value="mem_chart1">MEM, Memory/Swap usage (% usage)</choice>
                <choice value="mem_chart2">MEM, Memory usage (Volume usage in MB)</choice>
                <choice value="mem_chart3">MEM, Swap usage (Volume usage in MB)</choice>
                <choice value="mem_chart4">MEMUSE, Cache Hit Ratio (%)</choice>
                <choice value="mem_chart5">MEMUSE, System Buffer Accesses</choice>
                <choice value="mem_chart6">MEMUSE, Transfers using raw (physical) device mechanism</choice>
                <choice value="mem_chart7">MEMUSE, Transfer of data between system buffers and disk or other block device</choice>
                <default>mem_chart1</default>
                <change>
                    <condition value="mem_chart1">
                        <set token="mem_chart1">true</set>
                        <unset token="mem_chart2"></unset>
                        <unset token="mem_chart3"></unset>
                        <unset token="mem_chart4"></unset>
                        <unset token="mem_chart5"></unset>
                        <unset token="mem_chart6"></unset>
                        <unset token="mem_chart7"></unset>
                    </condition>
                    <condition value="mem_chart2">
                        <set token="mem_chart2">true</set>
                        <unset token="mem_chart1"></unset>
                        <unset token="mem_chart3"></unset>
                        <unset token="mem_chart4"></unset>
                        <unset token="mem_chart5"></unset>
                        <unset token="mem_chart6"></unset>
                        <unset token="mem_chart7"></unset>
                    </condition>
                    <condition value="mem_chart3">
                        <set token="mem_chart3">true</set>
                        <unset token="mem_chart1"></unset>
                        <unset token="mem_chart2"></unset>
                        <unset token="mem_chart4"></unset>
                        <unset token="mem_chart5"></unset>
                        <unset token="mem_chart6"></unset>
                        <unset token="mem_chart7"></unset>
                    </condition>
                    <condition value="mem_chart4">
                        <set token="mem_chart4">true</set>
                        <unset token="mem_chart1"></unset>
                        <unset token="mem_chart2"></unset>
                        <unset token="mem_chart3"></unset>
                        <unset token="mem_chart5"></unset>
                        <unset token="mem_chart6"></unset>
                        <unset token="mem_chart7"></unset>
                    </condition>
                    <condition value="mem_chart5">
                        <set token="mem_chart5">true</set>
                        <unset token="mem_chart1"></unset>
                        <unset token="mem_chart2"></unset>
                        <unset token="mem_chart3"></unset>
                        <unset token="mem_chart4"></unset>
                        <unset token="mem_chart6"></unset>
                        <unset token="mem_chart7"></unset>
                    </condition>
                    <condition value="mem_chart6">
                        <set token="mem_chart6">true</set>
                        <unset token="mem_chart1"></unset>
                        <unset token="mem_chart2"></unset>
                        <unset token="mem_chart3"></unset>
                        <unset token="mem_chart4"></unset>
                        <unset token="mem_chart5"></unset>
                        <unset token="mem_chart7"></unset>
                    </condition>
                    <condition value="mem_chart7">
                        <set token="mem_chart7">true</set>
                        <unset token="mem_chart1"></unset>
                        <unset token="mem_chart2"></unset>
                        <unset token="mem_chart3"></unset>
                        <unset token="mem_chart4"></unset>
                        <unset token="mem_chart5"></unset>
                        <unset token="mem_chart6"></unset>
                    </condition>
                    <condition value="mem_chart8">
                        <set token="mem_chart8">true</set>
                        <unset token="mem_chart1"></unset>
                        <unset token="mem_chart2"></unset>
                        <unset token="mem_chart3"></unset>
                        <unset token="mem_chart4"></unset>
                        <unset token="mem_chart5"></unset>
                        <unset token="mem_chart6"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$mem_chart1$">
                <title></title>
                <search depends="$mem_chart1$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.memory.mem.*" $host$ by OStype, host, metric_name span=1m
| `def_memory_load_percent`
| timechart $span$ avg(mem_used_effective_PCT) as "mem used (%)", avg(swap_used_effective_PCT) as "swap used (%)"</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">Megabytes (MB)</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.memory.mem.*" $host$ by OStype, host, metric_name span=1m
| `def_memory_load_percent`
| timechart $span$ avg(mem_used_effective_PCT) as "mem used (pct)", avg(swap_used_effective_PCT) as "swap used (pct)"
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$mem_chart2$">
                <title></title>
                <search depends="$mem_chart2$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.memory.mem.*" $host$ by OStype, host, metric_name span=1m
| `def_memory_volume_MB`
| timechart $span$ avg(mem_used_effective) as "memused (MB)", avg(memtotal) as "memtotal (MB)", avg(memfree) as "memfree (MB)"</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">Megabytes (MB)</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.memory.mem.*" $host$ by OStype, host, metric_name span=1m
| `def_memory_volume_MB`
| timechart $span$ avg(mem_used_effective) as "memused (MB)", avg(memtotal) as "memtotal (MB)", avg(memfree) as "memfree (MB)"
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$mem_chart3$">
                <title></title>
                <search depends="$mem_chart3$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.memory.mem.*" $host$ by OStype, host, metric_name span=1m
| `def_memory_volume_MB`
| timechart $span$ avg(swap_used_effective) as "swapused (MB)", avg(swaptotal) as "swaptotal (MB)", avg(swapfree) as "swapfree (MB)"</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">Megabytes (MB)</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.memory.mem.*" $host$ by OStype, host, metric_name span=1m
| `def_memory_volume_MB`
| timechart $span$ avg(swap_used_effective) as "swapused (MB)", avg(swaptotal) as "swaptotal (MB)", avg(swapfree) as "swapfree (MB)"
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$mem_chart4$">
                <title></title>
                <search base="MEMUSE">
                    <query>fields _time,PCTrcache,PCTwcache</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">$chart.stackingmode$</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">Memory %</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisY.maximumNumber">100</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.memuse.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,PCTrcache,PCTwcache
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$mem_chart5$">
                <title></title>
                <search base="MEMUSE">
                    <query>fields _time,lread,lwrite</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">$chart.stackingmode$</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Volume per second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.memuse.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,lread,lwrite
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$mem_chart6$">
                <title></title>
                <search base="MEMUSE">
                    <query>fields _time,pread,pwrite</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">$chart.stackingmode$</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Volume per second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.memuse.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,pread,pwrite
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$mem_chart7$">
                <title></title>
                <search base="MEMUSE">
                    <query>fields _time,bread,bwrite</query>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">$chart.stackingmode$</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Volume per second</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.memory.memuse.* $host$ by metric_name span=1m
| `extract_metrics`
| fields _time, metric, value
| timechart $span$ limit=0 useother=f avg(value) by metric | fields _time,bread,bwrite
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <row>
        <panel>

            <input type="link" token="wlm_mem_linkinput">
                <label></label>
                <choice value="wlm_mem_chart1">WLM, % MEM by Zone</choice>
                <choice value="wlm_mem_chart2">WLM, % MEM by Project</choice>
                <choice value="wlm_mem_chart3">WLM, % MEM by Task</choice>
                <choice value="wlm_mem_chart4">WLM, % MEM by User</choice>
                <default>wlm_mem_chart1</default>
                <change>
                    <condition value="wlm_mem_chart1">
                        <set token="wlm_mem_chart1">true</set>
                        <unset token="wlm_mem_chart2"></unset>
                        <unset token="wlm_mem_chart3"></unset>
                        <unset token="wlm_mem_chart4"></unset>
                    </condition>
                    <condition value="wlm_mem_chart2">
                        <set token="wlm_mem_chart2">true</set>
                        <unset token="wlm_mem_chart1"></unset>
                        <unset token="wlm_mem_chart3"></unset>
                        <unset token="wlm_mem_chart4"></unset>
                    </condition>
                    <condition value="wlm_mem_chart3">
                        <set token="wlm_mem_chart3">true</set>
                        <unset token="wlm_mem_chart1"></unset>
                        <unset token="wlm_mem_chart2"></unset>
                        <unset token="wlm_mem_chart4"></unset>
                    </condition>
                    <condition value="wlm_mem_chart4">
                        <set token="wlm_mem_chart4">true</set>
                        <unset token="wlm_mem_chart1"></unset>
                        <unset token="wlm_mem_chart2"></unset>
                        <unset token="wlm_mem_chart3"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$wlm_mem_chart1$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmzonemem $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% MEM</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmzonemem dimension_device="$click.name2$" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$wlm_mem_chart2$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmprojectmem $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% MEM</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmprojectmem dimension_device="$click.name2$" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$wlm_mem_chart3$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmtaskmem $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% MEM</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmtaskmem dimension_device="$click.name2$" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$wlm_mem_chart4$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmusermem $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">area</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% MEM</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.processes.wlmusermem dimension_device="$click.name2$" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as cpu_pct by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <row>
        <panel id="disk">
            <title>Disks performance statistics (active drill-down: click on one of the charts for dimension devices)</title>
        </panel>
    </row>

    <row>
        <panel>

            <input type="link" token="disk_linkinput">
                <label></label>
                <choice value="disk_chart1">DISKBSIZE, Average data transfer size</choice>
                <choice value="disk_chart2">DISKBUSY, Disk Busy Activity</choice>
                <choice value="disk_chart3">DISKREAD/WRITE, Disk Read/Write Data Rate</choice>
                <choice value="disk_chart4">DISKXFER, Disk I/O Operations per second (IOPS)</choice>
                <choice value="disk_chart5">DISKREAD/WRITE by XFER, Disk Read/Write I/O Operations per second (IOPS)</choice>
                <choice value="disk_chart6">DISKSVCTM, Disk Average service time (ms)</choice>
                <choice value="disk_chart7">DISKWAITTM, Disk Average wait time (ms)</choice>
                <default>disk_chart1</default>
                <change>
                    <condition value="disk_chart1">
                        <set token="disk_chart1">true</set>
                        <unset token="disk_chart2"></unset>
                        <unset token="disk_chart3"></unset>
                        <unset token="disk_chart4"></unset>
                        <unset token="disk_chart5"></unset>
                        <unset token="disk_chart6"></unset>
                        <unset token="disk_chart7"></unset>
                    </condition>
                    <condition value="disk_chart2">
                        <set token="disk_chart2">true</set>
                        <unset token="disk_chart1"></unset>
                        <unset token="disk_chart3"></unset>
                        <unset token="disk_chart4"></unset>
                        <unset token="disk_chart5"></unset>
                        <unset token="disk_chart6"></unset>
                        <unset token="disk_chart7"></unset>
                    </condition>
                    <condition value="disk_chart3">
                        <set token="disk_chart3">true</set>
                        <unset token="disk_chart1"></unset>
                        <unset token="disk_chart2"></unset>
                        <unset token="disk_chart4"></unset>
                        <unset token="disk_chart5"></unset>
                        <unset token="disk_chart6"></unset>
                        <unset token="disk_chart7"></unset>
                    </condition>
                    <condition value="disk_chart4">
                        <set token="disk_chart4">true</set>
                        <unset token="disk_chart1"></unset>
                        <unset token="disk_chart2"></unset>
                        <unset token="disk_chart3"></unset>
                        <unset token="disk_chart5"></unset>
                        <unset token="disk_chart6"></unset>
                        <unset token="disk_chart7"></unset>
                    </condition>
                    <condition value="disk_chart5">
                        <set token="disk_chart5">true</set>
                        <unset token="disk_chart1"></unset>
                        <unset token="disk_chart2"></unset>
                        <unset token="disk_chart3"></unset>
                        <unset token="disk_chart4"></unset>
                        <unset token="disk_chart6"></unset>
                        <unset token="disk_chart7"></unset>
                    </condition>
                    <condition value="disk_chart6">
                        <set token="disk_chart6">true</set>
                        <unset token="disk_chart1"></unset>
                        <unset token="disk_chart2"></unset>
                        <unset token="disk_chart3"></unset>
                        <unset token="disk_chart4"></unset>
                        <unset token="disk_chart5"></unset>
                        <unset token="disk_chart7"></unset>
                    </condition>
                    <condition value="disk_chart7">
                        <set token="disk_chart7">true</set>
                        <unset token="disk_chart1"></unset>
                        <unset token="disk_chart2"></unset>
                        <unset token="disk_chart3"></unset>
                        <unset token="disk_chart4"></unset>
                        <unset token="disk_chart5"></unset>
                        <unset token="disk_chart6"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$disk_chart1$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskbsize" $host$ by dimension_device span=1m
| stats sum(value) AS avg_transfer_size by _time
| timechart $span$ avg(avg_transfer_size) AS avg_transfer_size</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">KBytes per Transfer</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskbsize" $host$ by dimension_device span=1m
| timechart useother=f limit=0 $span$ avg(value) AS avg_transfer_size by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$disk_chart2$">
                <title></title>
                <search depends="$disk_chart2$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskbusy" $host$ by dimension_device span=1m
| stats avg(value) AS value by _time
| timechart $span$ avg(value) AS avg_busy_disk</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">% of Time Busy</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskbusy" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) AS avg_busy_disk by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$disk_chart3$">
                <title></title>
                <search depends="$disk_chart3$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` (metric_name="os.unix.nmon.storage.diskread" OR metric_name="os.unix.nmon.storage.diskwrite") $host$ by metric_name, dimension_device span=1m
| eval disk_read=case(match(metric_name, "diskread"), value), diskwrite = case(match(metric_name, "diskwrite"), value)
| stats avg(disk_read) AS disk_read, avg(disk_write) AS disk_write by _time
| timechart $span$ avg(disk_read) AS disk_read, avg(disk_write) AS disk_write</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">KBytes/Sec</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` (metric_name="os.unix.nmon.storage.diskread" OR metric_name="os.unix.nmon.storage.diskwrite") $host$ by metric_name, dimension_device span=1m
| eval disk_read=case(match(metric_name, "diskread"), value), diskwrite = case(match(metric_name, "diskwrite"), value)
| timechart $span$ useother=f limit=0 avg(disk_read) AS disk_read, avg(disk_write) AS disk_write by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$disk_chart4$">
                <title></title>
                <search depends="$disk_chart4$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskxfer" $host$ by dimension_device span=1m
| stats sum(value) AS iops by _time
| timechart $span$ avg(iops) AS iops</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">I/O per Sec</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskxfer" $host$ by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) AS iops by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$disk_chart5$">
                <title></title>
                <search depends="$disk_chart5$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` (metric_name="os.unix.nmon.storage.diskread" OR metric_name="os.unix.nmon.storage.diskwrite" OR metric_name="os.unix.nmon.storage.diskbsize") $host$ by metric_name, dimension_device span=1m
| eval disk_read=case(match(metric_name, "diskread"), value), disk_write=case(match(metric_name, "diskwrite"), value), disk_size=case(match(metric_name, "diskbsize"), value)
| stats values(disk_read) as disk_read values(disk_write) as disk_write values(disk_size) as disk_size by _time, dimension_device
| eval disk_read_iops=(disk_read/disk_size), disk_write_iops=(disk_write/disk_size)
| stats sum(disk_read_iops) as disk_read_iops, sum(disk_write_iops) as disk_write_iops by _time
| timechart $span$ avg(disk_read_iops) as disk_read_iops, avg(disk_write_iops) as disk_write_iops</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">stacked</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">I/O per Sec</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` (metric_name="os.unix.nmon.storage.diskread" OR metric_name="os.unix.nmon.storage.diskwrite" OR metric_name="os.unix.nmon.storage.diskbsize") $host$ by metric_name, dimension_device span=1m
| eval disk_read=case(match(metric_name, "diskread"), value), disk_write=case(match(metric_name, "diskwrite"), value), disk_size=case(match(metric_name, "diskbsize"), value)
| stats values(disk_read) as disk_read values(disk_write) as disk_write values(disk_size) as disk_size by _time, dimension_device
| eval disk_read_iops=(disk_read/disk_size), disk_write_iops=(disk_write/disk_size)
| stats sum(disk_read_iops) as disk_read_iops, sum(disk_write_iops) as disk_write_iops by _time, dimension_device
| timechart $span$ useother=f limit=0 avg(disk_read_iops) as disk_read_iops, avg(disk_write_iops) as disk_write_iops by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$disk_chart6$">
                <title></title>
                <search depends="$disk_chart6$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.disksvctm" $host$ by metric_name, dimension_device span=1m
| timechart $span$ avg(value) as "Avg Service time"</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Average service time (ms)</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.disksvctm" $host$ by metric_name, dimension_device span=1m
| timechart $span$ avg(value) as "Avg Service time" by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$disk_chart7$">
                <title></title>
                <search depends="$disk_chart7$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskwaittm" $host$ by metric_name, dimension_device span=1m
| timechart $span$ avg(value) as "Avg Wait time"</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisTitleY.text">Average wait time (ms)</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.diskwaittm" $host$ by metric_name, dimension_device span=1m
| timechart $span$ avg(value) as "Avg Wait time" by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

    <row>
        <panel id="disk2">
            <title>File-systems utilization statistics</title>
        </panel>
    </row>

    <row>
        <panel>

            <input type="link" token="jfs_linkinput">
                <label></label>
                <choice value="jfs_chart1">Summary of file-systems utilization</choice>
                <choice value="jfs_chart2">File-systems utilization over time</choice>
                <default>jfs_chart1</default>
                <change>
                    <condition value="jfs_chart1">
                        <set token="jfs_chart1">true</set>
                        <unset token="jfs_chart2"></unset>
                        <unset token="jfs_chart3"></unset>
                    </condition>
                    <condition value="jfs_chart2">
                        <set token="jfs_chart2">true</set>
                        <unset token="jfs_chart1"></unset>
                        <unset token="jfs_chart3"></unset>
                    </condition>
                </change>
            </input>

            <!--

            ### file systems SUMMARY ###

            file systems utilisation, either DF_STORAGE (default) or JFSFILE
            -->

            <!-- DF_STORAGE -->

            <table id="tablebar" depends="$start_df_storage_search$ $jfs_chart1$">
                <title>Data source: $storage_usage_datasource$</title>
                <search depends="$start_df_storage_search$">
                    <query>| mstats latest(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.df_storage.*" $host$ by host, metric_name, dimension_mount
| eval Available=case(metric_name=="os.unix.nmon.storage.df_storage.Available", value), Use_pct=case(metric_name=="os.unix.nmon.storage.df_storage.Use_pct", value), Used=case(metric_name=="os.unix.nmon.storage.df_storage.Used", value), blocks=case(metric_name=="os.unix.nmon.storage.df_storage.blocks", value)
| stats first(Available) as Available, first(Use_pct) as Use_pct, first(Used) as Used, first(blocks) as blocks by host, dimension_mount
| rename dimension_mount as mount
| eval storage_free=blocks-Used, storage_free_percent=(100-Use_pct)
| rename Use_pct as storage_used_percent, blocks as storage, Used as storage_used, Available as storage_free
| foreach storage, storage_free, storage_used [ eval &lt;&lt;FIELD&gt;&gt; = round('&lt;&lt;FIELD&gt;&gt;'/1024/1024, 2) ]
| foreach storage*percent [ eval &lt;&lt;FIELD&gt;&gt; = round('&lt;&lt;FIELD&gt;&gt;', 2) ]
| rename storage as "storage (GB)", storage_free as "storage free (GB)", storage_used as "storage used (GB)", storage_free_percent as "storage free (%)", storage_used_percent as "storage used (%)"
| eval UsedPct=if(isnum('storage used (%)'), 'storage used (%)', 0 )
| fields mount, "storage (GB)", "storage free (GB)", "storage used (GB)", "storage free (%)", "storage used (%)", UsedPct
| appendpipe [ stats sum("storage (GB)") as "storage (GB)", sum("storage free (GB)") as "storage free (GB)", sum("storage used (GB)") as "storage used (GB)" ]
| eval "storage free (%)" = if(isnull('storage free (%)'), (('storage free (GB)'/'storage (GB)')*100), 'storage free (%)'), "storage used (%)" = if(isnull('storage used (%)'), (('storage used (GB)'/'storage (GB)')*100), 'storage used (%)'), UsedPct = if(isnull(UsedPct), 'storage used (%)', UsedPct)
| fillnull value="*** TOTAL GB / AVERAGE % ****" mount
| foreach storage*%* UsedPct [ eval &lt;&lt;FIELD&gt;&gt; = round('&lt;&lt;FIELD&gt;&gt;', 2) ]</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                    <refresh>$refresh$</refresh>
                    <refreshType>delay</refreshType>
                </search>
                <option name="wrap">true</option>
                <option name="rowNumbers">false</option>
                <option name="dataOverlayMode">none</option>
                <option name="drilldown">row</option>
                <option name="count">10</option>
                <option name="refresh.display">none</option>
            </table>

            <!-- JFSFILE -->

            <table depends="$start_jfs_storage_search$ $jfs_chart1$">
                <title>Data source: $storage_usage_datasource$</title>
                <search depends="$start_jfs_storage_search$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.jfsfile" $host$ by host, dimension_mount span=1m
| stats max(value) AS max_value, avg(value) AS avg_value, min(value) AS min_value, latest(value) AS UsedPct by dimension_mount
| sort limit=0 dimension_mount | rename dimension_mount AS "Mount point"
| eval value=round(value,2)
| fields "Mount point",max_value, avg_value, min_value, UsedPct | eval avg_value=round(avg_value,2)
| rename max_value AS "Max value in period (%)", avg_value AS "Average value in period (%)", min_value AS "Min value in Period (%)"</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                    <refresh>$refresh$</refresh>
                    <refreshType>delay</refreshType>
                </search>
                <option name="wrap">true</option>
                <option name="rowNumbers">false</option>
                <option name="dataOverlayMode">none</option>
                <option name="drilldown">row</option>
                <option name="count">10</option>
                <option name="refresh.display">none</option>
            </table>

            <!--

            ### file systems utilisation over time ###

            file systems utilisation, either DF_STORAGE (default) or JFSFILE
            -->

            <!-- DF_STORAGE -->

            <input type="text" token="df_storage_mount" depends="$start_df_storage_search$ $jfs_chart2$">
              <label>mount</label>
              <default>*</default>
            </input>

            <input type="dropdown" token="df_storage_monitor" depends="$start_df_storage_search$ $jfs_chart2$">
                <label>Monitor:</label>
                <choice value="storage">storage (volume size)</choice>
                <choice value="storage_free">storage_free (volume free)</choice>
                <choice value="storage_used">storage_used (volume used)</choice>
                <choice value="storage_free_percent">storage_free_percent (%)</choice>
                <choice value="storage_used_percent">storage_used_percent (%)</choice>
                <default>storage_used_percent</default>
                <change>
                    <condition value="storage">
                        <unset token="form.df_storage_monitor_unit"></unset>
                        <set token="df_storage_show_unit">true</set>
                        <unset token="df_storage_monitor_max_chart"></unset>
                    </condition>
                    <condition value="storage_free">
                        <unset token="form.df_storage_monitor_unit"></unset>
                        <set token="df_storage_show_unit">true</set>
                        <unset token="df_storage_monitor_max_chart"></unset>
                    </condition>
                    <condition value="storage_used">
                        <unset token="form.df_storage_monitor_unit"></unset>
                        <set token="df_storage_show_unit">true</set>
                        <unset token="df_storage_monitor_max_chart"></unset>
                    </condition>
                    <condition value="storage_free_percent">
                        <set token="df_storage_unit">%</set>
                        <unset token="df_storage_show_unit"></unset>
                        <set token="df_storage_monitor_max_chart">101</set>
                    </condition>
                    <condition value="storage_used_percent">
                        <set token="form.df_storage_monitor_unit">pct</set>
                        <set token="df_storage_monitor_max_chart">101</set>
                        <unset token="df_storage_show_unit"></unset>
                    </condition>
                </change>
            </input>

            <input type="dropdown" token="df_storage_monitor_unit" depends="$start_df_storage_search$ $df_storage_show_unit$ $jfs_chart2$">
                <label>Unit:</label>
                <choice value="MB">MB</choice>
                <choice value="GB">GB</choice>
                <choice value="TB">TB</choice>
                <default>GB</default>
                <change>
                    <condition value="MB">
                        <set token="df_storage_unit_math">value</set>
                        <set token="df_storage_unit_legend">MB</set>
                    </condition>
                    <condition value="GB">
                        <set token="df_storage_unit_math">value/1024</set>
                        <set token="df_storage_unit_legend">GB</set>
                    </condition>
                    <condition value="TB">
                        <set token="df_storage_unit_math">value/1024/1204</set>
                        <set token="df_storage_unit_legend">TB</set>
                    </condition>
                    <condition value="pct">
                        <set token="df_storage_unit_math">value</set>
                        <set token="df_storage_unit_legend">pct</set>
                    </condition>
                </change>
            </input>

            <chart depends="$start_df_storage_search$ $jfs_chart2$">
                <title>Data source: $storage_usage_datasource$</title>
                <search depends="$start_df_storage_search$ $jfs_chart2$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.df_storage.*" $host$ dimension_mount="$df_storage_mount$" by host, metric_name, dimension_mount span=1m
| eval Available=case(metric_name=="os.unix.nmon.storage.df_storage.Available", value), Use_pct=case(metric_name=="os.unix.nmon.storage.df_storage.Use_pct", value), Used=case(metric_name=="os.unix.nmon.storage.df_storage.Used", value), blocks=case(metric_name=="os.unix.nmon.storage.df_storage.blocks", value)
| eval storage_free=blocks-Used, storage_free_percent=(100-Use_pct)
| rename Use_pct as storage_used_percent, blocks as storage, Used as storage_used, Available as storage_free
| foreach storage, storage_free, storage_used [ eval &lt;&lt;FIELD&gt;&gt; = round('&lt;&lt;FIELD&gt;&gt;'/1024, 2) ]
| stats latest(storage*) as "storage*" by _time, dimension_mount, host
| eval value=$df_storage_monitor$
| eval value=$df_storage_unit_math$
| timechart $span$ latest(value) as $df_storage_monitor$ by dimension_mount</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                    <refresh>$refresh$</refresh>
                    <refreshType>delay</refreshType>
                </search>
                <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
                <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
                <option name="charting.axisTitleX.visibility">collapsed</option>
                <option name="charting.axisTitleY.text">$df_storage_unit_legend$</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisTitleY2.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.axisY2.enabled">0</option>
                <option name="charting.axisY2.scale">inherit</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.showDataLabels">none</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">none</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisY.maximumNumber">$df_storage_monitor_max_chart$</option>
            </chart>

            <!-- JFSFILE -->

            <input type="text" token="fsfilter" searchWhenChanged="true" depends="$start_jfs_storage_search$ $jfs_chart2$">
                <label>mount:</label>
                <default>*</default>
            </input>

            <chart depends="$start_jfs_storage_search$ $jfs_chart2$">
                <title>Data source: $storage_usage_datasource$</title>
                <search depends="$start_jfs_storage_search$ $jfs_chart2$">
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name="os.unix.nmon.storage.jfsfile" $host$ dimension_mount="$fsfilter$" by host, dimension_mount span=1m
| timechart $span$ limit=0 useother=f latest(value) As value by dimension_mount</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                    <refresh>$refresh$</refresh>
                    <refreshType>delay</refreshType>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">connect</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">$charting.legend.placement$</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">% Used</option>
                <option name="charting.axisY.minimumNumber">0</option>
                <option name="charting.axisY.maximumNumber">100</option>
                <option name="refresh.display">none</option>
            </chart>

        </panel>
    </row>

    <row>
        <panel id="network2">
            <title>NETWORK Usage Statistics</title>
        </panel>
    </row>

    <row>
        <panel>

            <input type="link" token="net_linkinput">
                <label></label>
                <choice value="net_chart1">NET - Inbound/Outbound traffic</choice>
                <choice value="net_chart2">NETPACKET - Inbound/Outbound packets</choice>
                <choice value="net_chart3">NETERROR - Inbound/Outbound error packets</choice>
                <default>net_chart1</default>
                <change>
                    <condition value="net_chart1">
                        <set token="net_chart1">true</set>
                        <unset token="net_chart2"></unset>
                        <unset token="net_chart3"></unset>
                    </condition>
                    <condition value="net_chart2">
                        <set token="net_chart2">true</set>
                        <unset token="net_chart1"></unset>
                        <unset token="net_chart3"></unset>
                    </condition>
                    <condition value="net_chart3">
                        <set token="net_chart3">true</set>
                        <unset token="net_chart1"></unset>
                        <unset token="net_chart2"></unset>
                    </condition>
                </change>
            </input>

            <chart depends="$net_chart1$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.network.net $host$ (dimension_device!="*lo*") by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as value by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">Outbound KBps / Inbound KBps</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.network.net $host$ (dimension_device!="*lo*") by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as value by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$net_chart2$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.network.netpacket $host$ (dimension_device!="*lo*") by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as value by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">Outbound / Inbound packets</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                            search?earliest=$timerange.earliest$&latest=$timerange.latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.network.netpacket $host$ (dimension_device!="*lo*") by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as value by dimension_device&display.general.type=visualizations&display.page.search.tab=visualizations&display.visualizations.charting.chart=line
                        ]]>
                    </link>
                </drilldown>
            </chart>

            <chart depends="$net_chart3$">
                <title></title>
                <search>
                    <query>| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.network.neterror $host$ (dimension_device!="*lo*") by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as value by dimension_device</query>
                    <earliest>$timerange.earliest$</earliest>
                    <latest>$timerange.latest$</latest>
                </search>
                <option name="charting.axisTitleX.visibility">visible</option>
                <option name="charting.axisTitleY.visibility">visible</option>
                <option name="charting.axisX.scale">linear</option>
                <option name="charting.axisY.scale">linear</option>
                <option name="charting.chart">line</option>
                <option name="charting.chart.nullValueMode">gaps</option>
                <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
                <option name="charting.chart.stackMode">default</option>
                <option name="charting.chart.style">shiny</option>
                <option name="charting.drilldown">all</option>
                <option name="charting.layout.splitSeries">0</option>
                <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
                <option name="charting.legend.placement">bottom</option>
                <option name="height">680</option>
                <option name="charting.axisTitleX.text">Time</option>
                <option name="charting.axisTitleY.text">Number of Network Packets</option>
                <drilldown target="search">
                    <link>
                        <![CDATA[
                        search?earliest=$earliest$&latest=$latest$&q=| mstats avg(_value) as value where `nmon_metrics_index` metric_name=os.unix.nmon.network.neterror $host$ (dimension_device!="*lo*") by dimension_device span=1m
| timechart $span$ useother=f limit=0 avg(value) as value by dimension_device
                        ]]>
                    </link>
                </drilldown>
            </chart>

        </panel>
    </row>

</form>
