<!-- <?xml version="1.0" encoding="UTF-16"?> -->
<instrumentationManifest
    xmlns="http://schemas.microsoft.com/win/2004/08/events"
    xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    >

  <instrumentation>
    <events>
      <provider   name="Microsoft.VisualCpp.BuildInsights"
                  guid="{f78a07b0-796a-5da4-5c20-61aa526e77af}"
                  symbol="GUID_CPP_BUILDINSIGHTS_PROVIDER"
                  resourceFileName="%MICROSOFT_CPP_BUILDINSIGHTS_ETW_IMAGEPATH%"
                  messageFileName="%MICROSOFT_CPP_BUILDINSIGHTS_ETW_IMAGEPATH%"
                        >

        <opcodes>
          <opcode name="Activity"
                  symbol="CPP_BUILDINSIGHTS_OPCODE_ACTIVITY"
                  value="20"/>

          <opcode name="SimpleEvent"
                  symbol="CPP_BUILDINSIGHTS_OPCODE_SIMPLEEVENT"
                  value="22"/>

          <opcode name="ActivityExtension1"
                  symbol="CPP_BUILDINSIGHTS_OPCODE_ACTIVITYEXTENSION1"
                  value="23"/>

          <opcode name="SimpleEventExtension1"
                  symbol="CPP_BUILDINSIGHTS_OPCODE_SIMPLEEVENTEXTENSION1"
                  value="24"/>

          <opcode name="GenericField"
                  symbol="CPP_BUILDINSIGHTS_OPCODE_GENERICFIELD"
                  value="25"/>
        
        </opcodes>


        <tasks>
          <task name="BuildExplorer"
                symbol="CPP_BUILDINSIGHTS_TASK_BUILDEXPLORER"
                value="1">

          </task>
        </tasks>

        <templates>
          <template tid="BuildExplorerActivityTemplate_V0">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="InvocationDescription" inType="win:UnicodeString"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="ActivityName" inType="win:AnsiString"/>
            <data name="ExclusiveMillisecondDuration" inType="win:UInt32"/>
            <data name="InclusiveMillisecondDuration" inType="win:UInt32"/>
            <data name="ExclusiveMillisecondCPUTime" inType="win:UInt32"/>
            <data name="InclusiveMillisecondCPUTime" inType="win:UInt32"/>
          </template>

          <template tid="BuildExplorerActivityTemplate_V1">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="InvocationDescription" inType="win:UnicodeString"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="ActivityName" inType="win:AnsiString"/>
            <data name="ExclusiveMillisecondDuration" inType="win:UInt32"/>
            <data name="InclusiveMillisecondDuration" inType="win:UInt32"/>
            <data name="ExclusiveMillisecondCPUTime" inType="win:UInt32"/>
            <data name="InclusiveMillisecondCPUTime" inType="win:UInt32"/>
            <data name="WallClockMillisecondTimeResponsibility" inType="win:UInt32"/>
          </template>

          <template tid="BuildExplorerAnsiStringPropertyTemplate">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="InvocationDescription" inType="win:UnicodeString"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="Name" inType="win:AnsiString"/>
            <data name="Value" inType="win:AnsiString"/>
          </template>

          <template tid="BuildExplorerUnicodeStringPropertyTemplate">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="InvocationDescription" inType="win:UnicodeString"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="Name" inType="win:AnsiString"/>
            <data name="Value" inType="win:UnicodeString"/>
          </template>
          
        </templates>

        <events>
          <!-- BuildExplorer event values must be between 0 and 499 -->
          <event value="0"
              symbol="CppBuildInsightsBuildExplorerActivity_V0"
              task="BuildExplorer"
              opcode="Activity"
              template="BuildExplorerActivityTemplate_V0"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="0"
              symbol="CppBuildInsightsBuildExplorerActivity_V1"
              task="BuildExplorer"
              opcode="Activity"
              template="BuildExplorerActivityTemplate_V1"
              level="win:Informational"
              version="1"
              keywords="" />

          <event value="1"
              symbol="CppBuildInsightsBuildExplorerAnsiStringProperty"
              task="BuildExplorer"
              opcode="SimpleEvent"
              template="BuildExplorerAnsiStringPropertyTemplate"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="2"
              symbol="CppBuildInsightsBuildExplorerUnicodeStringProperty"
              task="BuildExplorer"
              opcode="SimpleEvent"
              template="BuildExplorerUnicodeStringPropertyTemplate"
              level="win:Informational"
              version="0"
              keywords="" />
          
        </events>


        <tasks>
          <task name="Files"
                symbol="CPP_BUILDINSIGHTS_TASK_FILES"
                value="2">
        
          </task>
        </tasks>

        <templates>
          
          <template tid="FileActivityTemplate_V0">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="IncludedPath" inType="win:AnsiString"/>
            <data name="ParentPath" inType="win:AnsiString"/>
            <data name="Depth" inType="win:UInt16"/>
            <data name="ActivityName" inType="win:AnsiString"/>
            <data name="ExclusiveMillisecondDuration" inType="win:UInt32"/>
            <data name="InclusiveMillisecondDuration" inType="win:UInt32"/>
          </template>

          <template tid="FileActivityTemplate_V1">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="IncludedPath" inType="win:AnsiString"/>
            <data name="ParentPath" inType="win:AnsiString"/>
            <data name="Depth" inType="win:UInt16"/>
            <data name="ActivityName" inType="win:AnsiString"/>
            <data name="ExclusiveMillisecondDuration" inType="win:UInt32"/>
            <data name="InclusiveMillisecondDuration" inType="win:UInt32"/>
            <data name="WallClockMillisecondTimeResponsibility" inType="win:UInt32"/>
          </template>
          
        </templates>

        <events>
          <!-- FileActivities event values must be between 1000 and 1499 -->
          <event value="1000"
              symbol="CppBuildInsightsFileActivity_V0"
              task="Files"
              opcode="Activity"
              template="FileActivityTemplate_V0"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="1000"
              symbol="CppBuildInsightsFileActivity_V1"
              task="Files"
              opcode="Activity"
              template="FileActivityTemplate_V1"
              level="win:Informational"
              version="1"
              keywords="" />

        </events>
        

        <tasks>
          <task name="Functions"
                symbol="CPP_BUILDINSIGHTS_TASK_FUNCTIONS"
                value="3">

          </task>
        </tasks>

        <templates>
          
          <template tid="FunctionActivityTemplate_V0">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="FunctionName" inType="win:AnsiString"/>
            <data name="ActivityName" inType="win:AnsiString"/>
            <data name="MillisecondDuration" inType="win:UInt32"/>
          </template>

          <template tid="FunctionActivityTemplate_V1">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="FunctionInstanceId" inType="win:UInt64"/>
            <data name="FunctionName" inType="win:AnsiString"/>
            <data name="ActivityName" inType="win:AnsiString"/>
            <data name="MillisecondDuration" inType="win:UInt32"/>
            <data name="WallClockMillisecondTimeResponsibility" inType="win:UInt32"/>
          </template>

          <template tid="FunctionActivityTemplate_Extended1">
            <data name="FunctionInstanceId" inType="win:UInt64"/>
          </template>

          <template tid="FunctionSimpleEventTemplate_V0">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="FunctionName" inType="win:AnsiString"/>
            <data name="ActivityName" inType="win:AnsiString"/>
            <data name="EventName" inType="win:AnsiString"/>
            <data name="StringDescription" inType="win:AnsiString"/>
            <data name="StringValue" inType="win:AnsiString"/>
            <data name="NumericDescription" inType="win:AnsiString"/>
            <data name="NumericValue" inType="win:Int32"/>
          </template>

          <template tid="FunctionSimpleEventTemplate_V1">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="FunctionInstanceId" inType="win:UInt64"/>
            <data name="FunctionName" inType="win:AnsiString"/>
            <data name="ActivityName" inType="win:AnsiString"/>
            <data name="EventId" inType="win:UInt16"/>
            <data name="EventName" inType="win:AnsiString"/>
            <data name="StringValue" inType="win:AnsiString"/>
            <data name="NumericValue" inType="win:Int32"/>
          </template>

          <template tid="FunctionSimpleEventTemplate_Extended1">
            <data name="FunctionInstanceId" inType="win:UInt64"/>
            <data name="EventId" inType="win:UInt16"/>
          </template>
          
        </templates>

        <events>
          <!-- FunctionActivities event values must be between 1500 and 1999 -->
          <event value="1500"
              symbol="CppBuildInsightsFunctionActivity_V0"
              task="Functions"
              opcode="Activity"
              template="FunctionActivityTemplate_V0"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="1500"
              symbol="CppBuildInsightsFunctionActivity_V1"
              task="Functions"
              opcode="Activity"
              template="FunctionActivityTemplate_V1"
              level="win:Informational"
              version="1"
              keywords="" />

          <event value="1501"
              symbol="CppBuildInsightsFunctionSimpleEvent_V0"
              task="Functions"
              opcode="SimpleEvent"
              template="FunctionSimpleEventTemplate_V0"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="1501"
              symbol="CppBuildInsightsFunctionSimpleEvent_V1"
              task="Functions"
              opcode="SimpleEvent"
              template="FunctionSimpleEventTemplate_V1"
              level="win:Informational"
              version="1"
              keywords="" />

          <event value="1502"
              symbol="CppBuildInsightsFunctionActivity_Extended1_Deprecated"
              task="Functions"
              opcode="ActivityExtension1"
              template="FunctionActivityTemplate_Extended1"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="1503"
              symbol="CppBuildInsightsFunctionSimpleEvent_Extended1_Deprecated"
              task="Functions"
              opcode="SimpleEventExtension1"
              template="FunctionSimpleEventTemplate_Extended1"
              level="win:Informational"
              version="0"
              keywords="" />
          
        </events>

        <tasks>
          <task name="TemplateInstantiations"
                symbol="CPP_BUILDINSIGHTS_TASK_TEMPLATEINSTANTIATIONS"
                value="4">

          </task>
        </tasks>

        <templates>

          <template tid="TemplateInstantiationActivityTemplate_V0">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="PrimaryTemplateName" inType="win:AnsiString"/>
            <data name="SpecializationName" inType="win:AnsiString"/>
            <data name="MicrosecondDuration" inType="win:UInt32"/>
          </template>

          <template tid="TemplateInstantiationActivityTemplate_V1">
            <data name="TimelineId" inType="win:UInt16"/>
            <data name="TimelineDescription" inType="win:AnsiString"/>
            <data name="Tool" inType="win:AnsiString"/>
            <data name="InvocationId" inType="win:UInt32"/>
            <data name="Component" inType="win:UnicodeString"/>
            <data name="PrimaryTemplateName" inType="win:AnsiString"/>
            <data name="SpecializationName" inType="win:AnsiString"/>
            <data name="MicrosecondDuration" inType="win:UInt32"/>
            <data name="WallClockMicrosecondTimeResponsibility" inType="win:UInt32"/>
          </template>

        </templates>

        <events>
          <!-- TemplateInstantiationActivities event values must be between 2000 and 2499 -->
          <event value="2000"
              symbol="CppBuildInsightsTemplateInstantiationActivity_V0"
              task="TemplateInstantiations"
              opcode="Activity"
              template="TemplateInstantiationActivityTemplate_V0"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="2000"
              symbol="CppBuildInsightsTemplateInstantiationActivity_V1"
              task="TemplateInstantiations"
              opcode="Activity"
              template="TemplateInstantiationActivityTemplate_V1"
              level="win:Informational"
              version="1"
              keywords="" />

        </events>

        <templates>

          <template tid="AnsiStringGenericFieldTemplate">
            <data name="Value" inType="win:AnsiString"/>
          </template>

          <template tid="UTF8StringGenericFieldTemplate">
            <data name="Value" inType="win:AnsiString"/>
          </template>

          <template tid="UnicodeStringGenericFieldTemplate">
            <data name="Value" inType="win:UnicodeString"/>
          </template>

          <template tid="IntegerGenericFieldTemplate">
            <data name="Value" inType="win:Int64"/>
          </template>

        </templates>

        <events>
          <!-- Generic field event values must be between 2500 and 2999 -->
          <event value="2500"
              symbol="CppBuildInsightsAnsiStringGenericField"
              opcode="GenericField"
              template="AnsiStringGenericFieldTemplate"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="2501"
              symbol="CppBuildInsightsUTF8StringGenericField"
              opcode="GenericField"
              template="UTF8StringGenericFieldTemplate"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="2502"
              symbol="CppBuildInsightsUnicodeStringGenericField"
              opcode="GenericField"
              template="UnicodeStringGenericFieldTemplate"
              level="win:Informational"
              version="0"
              keywords="" />

          <event value="2503"
              symbol="CppBuildInsightsIntegerGenericField"
              opcode="GenericField"
              template="IntegerGenericFieldTemplate"
              level="win:Informational"
              version="0"
              keywords="" />

        </events>

      </provider>
    </events>

  </instrumentation>

</instrumentationManifest>