﻿<?xml version="1.0" encoding="utf-8"?>
<AxeAssessmentManifest xmlns="http://www.microsoft.com/axe/assessment/manifest">

    <VersionedId>
        <Guid>{ca042876-48d8-41b6-b7cc-f6877ee8842c}</Guid>
        <Version>
            <Major>1</Major>
            <Minor>0</Minor>
            <Build>0</Build>
            <Revision>1</Revision>
        </Version>
    </VersionedId>

    <MinimumAxeVersionRequired>
        <Version>
            <Major>6</Major>
            <Minor>2</Minor>
            <Build>0</Build>
            <Revision>0</Revision>
        </Version>
    </MinimumAxeVersionRequired>

    <Description>
        <ProgrammaticName>SSFun</ProgrammaticName>
        <DisplayName>ADK Samples - System Fundamentals Assessment</DisplayName>
        <ToolTip>Gathers basic system fundamental metrics such as processes running and memory used.</ToolTip>
    </Description>

    <Properties>
        <Author>Microsoft Corporation</Author>
        <Copyright>© 2013 Microsoft Corporation. All rights reserved.</Copyright>
        <Url>http://go.microsoft.com/fwlink/?LinkID=232339&amp;clcid=0x409</Url>
        <AuthorUrl>http://go.microsoft.com/fwlink/?LinkID=232354&amp;clcid=0x409</AuthorUrl>
        <UpdateUrl>http://go.microsoft.com/fwlink/?LinkID=232356&amp;clcid=0x409</UpdateUrl>
        <OnlyForProcessor>
            <X86 />
            <X64 />
        </OnlyForProcessor>
        <ExitValueMeaning>
            <ZeroIsSuccess />
        </ExitValueMeaning>
        <CheckForProcess>
            <Warn>wac.exe</Warn>
        </CheckForProcess>
    </Properties>

    <ParameterDefinitions>

        <ParameterDefinition>
            <Description>
                <ProgrammaticName>Restart</ProgrammaticName>
                <DisplayName>Restart</DisplayName>
                <ToolTip>Resart computer before capturing metrics.</ToolTip>
            </Description>
            <Type>
                <Boolean />
            </Type>
            <DefaultValue>False</DefaultValue>
            <BenchmarkValue>False</BenchmarkValue>
            <CommandLineFormat>-Restart</CommandLineFormat>
        </ParameterDefinition>

        <ParameterDefinition>
            <Description>
                <ProgrammaticName>Delay</ProgrammaticName>
                <DisplayName>Delay in Seconds</DisplayName>
                <ToolTip>Number seconds to wait before capturing metrics (usefull after a reboot to ensure everything has started).</ToolTip>
            </Description>
            <Type>
                <UInt32 />
            </Type>
            <CommandLineFormat>-Delay {0}</CommandLineFormat>
        </ParameterDefinition>

    </ParameterDefinitions>

    <PresentationHints>
        <Columns>
            <Column>
                <Metric>ProcessCount</Metric>
            </Column>
            <Column>
                <Metric>MemoryUsedGB</Metric>
                <PageLink>Memory</PageLink>
                <Charted>true</Charted>
            </Column>
        </Columns>
        <Pages>
            <Page>
                <Description>
                    <ProgrammaticName>Memory</ProgrammaticName>
                </Description>
                <Groups>
                    <Group>
                        <Description/>
                        <Columns>
                            <Column>
                                <Metric>TotalMemoryGB</Metric>
                                <Charted>true</Charted>
                            </Column>
                            <Column>
                                <Metric>MemoryAvailableGB</Metric>
                            </Column>
                            <Column>
                                <Metric>MemoryCommittedGB</Metric>
                            </Column>
                            <Column>
                                <Metric>MemoryCommitLimitGB</Metric>
                            </Column>
                            <Column>
                                <Metric>MemoryCachedGB</Metric>
                            </Column>
                            <Column>
                                <Metric>MemoryPagedPoolMB</Metric>
                            </Column>
                            <Column>
                                <Metric>MemoryNonPagedPoolMB</Metric>
                            </Column>
                        </Columns>
                    </Group>
                </Groups>
            </Page>
        </Pages>
    </PresentationHints>

    <MetricDefinitions>

        <MetricDefinition>
            <Description>
                <ProgrammaticName>ProcessCount</ProgrammaticName>
                <DisplayName>Processes</DisplayName>
                <ToolTip>Total processes running</ToolTip>
            </Description>
            <Type>
                <UInt32 />
            </Type>
            <Units>#</Units>
        </MetricDefinition>

        <MetricDefinition>
            <Description>
                <ProgrammaticName>ProcessWorkingSetGB</ProgrammaticName>
                <DisplayName>Working Set</DisplayName>
                <ToolTip>Total memory working set used</ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>3</DecimalPlaces>
            <Units>GB</Units>
        </MetricDefinition>

        <MetricDefinition>
            <Description>
                <ProgrammaticName>TotalMemoryGB</ProgrammaticName>
                <DisplayName>Total Memory</DisplayName>
                <ToolTip>Total physical memory</ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>1</DecimalPlaces>
            <Units>GB</Units>
        </MetricDefinition>
        <MetricDefinition>
            <Description>
                <ProgrammaticName>MemoryUsedGB</ProgrammaticName>
                <DisplayName>Memory Used</DisplayName>
                <ToolTip></ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>3</DecimalPlaces>
            <Units>GB</Units>
        </MetricDefinition>
        <MetricDefinition>
            <Description>
                <ProgrammaticName>MemoryAvailableGB</ProgrammaticName>
                <DisplayName>Memory Available</DisplayName>
                <ToolTip></ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>3</DecimalPlaces>
            <Units>GB</Units>
        </MetricDefinition>
        <MetricDefinition>
            <Description>
                <ProgrammaticName>MemoryCommittedGB</ProgrammaticName>
                <DisplayName>Memory Committed</DisplayName>
                <ToolTip></ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>1</DecimalPlaces>
            <Units>GB</Units>
        </MetricDefinition>
        <MetricDefinition>
            <Description>
                <ProgrammaticName>MemoryCommitLimitGB</ProgrammaticName>
                <DisplayName>Memory Commit Limit</DisplayName>
                <ToolTip></ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>1</DecimalPlaces>
            <Units>GB</Units>
        </MetricDefinition>
        <MetricDefinition>
            <Description>
                <ProgrammaticName>MemoryCachedGB</ProgrammaticName>
                <DisplayName>Memory Cached</DisplayName>
                <ToolTip></ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>1</DecimalPlaces>
            <Units>GB</Units>
        </MetricDefinition>
        <MetricDefinition>
            <Description>
                <ProgrammaticName>MemoryPagedPoolMB</ProgrammaticName>
                <DisplayName>Memory Paged Pool</DisplayName>
                <ToolTip></ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>1</DecimalPlaces>
            <Units>MB</Units>
        </MetricDefinition>
        <MetricDefinition>
            <Description>
                <ProgrammaticName>MemoryNonPagedPoolMB</ProgrammaticName>
                <DisplayName>Memory Non-paged pool</DisplayName>
                <ToolTip></ToolTip>
            </Description>
            <Type>
                <Single />
            </Type>
            <DecimalPlaces>1</DecimalPlaces>
            <Units>MB</Units>
        </MetricDefinition>

    </MetricDefinitions>

    <Execution>
        <CreateProcess>
            <ApplicationName>powershell.exe -ExecutionPolicy bypass -Command .\processes.ps1 -ResultFile '%AssessmentResultsPath%\result.xml' -AxeCoreNet '%AssessmentAxeBinPath%\Microsoft.Assessments.Core.dll' -RestartCount %AssessmentRebootIteration%</ApplicationName>
            <CreateNewConsole />
        </CreateProcess>
    </Execution>

</AxeAssessmentManifest>