2017-08-30 10 views
3

Data Access Tracing in SQL Server 2008に記載されているように、ADO.Net診断ETWをキャプチャしています。セットアップは、たとえば、ETLファイルが生成され、私が使用している場合、私はADO.Netトレースを見ることができ、作品tracerptWPAにETWイベントデータが表示されない場合は、

System.Data,  TextA,   0,   0,   0,   0,   17,   0, 0x0000000000000000, 0x000007D0, 0x00003A64,     1,    ,      , {00000000-0000-0000-0000-000000000000},           , 131485096603462277,  450,  2400,  2, "enter_01 <prov.DbConnectionHelper.CreateDbCommand|API> 1# " 
System.Data,  TextA,   0,   0,   0,   0,   17,   0, 0x0000000000000000, 0x000007D0, 0x00003A64,     1,    ,      , {00000000-0000-0000-0000-000000000000},           , 131485096603469806,  450,  2400,  2, "<sc.SqlCommand.set_Connection|API> 1#, 1# " 
System.Data,  TextA,   0,   0,   0,   0,   17,   0, 0x0000000000000000, 0x000007D0, 0x00003A64,     1,    ,      , {00000000-0000-0000-0000-000000000000},           , 131485096603469816,  450,  2400,  2, "leave_01 " 
System.Data,  TextA,   0,   0,   0,   0,   17,   0, 0x0000000000000000, 0x000007D0, 0x00003A64,     1,    ,      , {00000000-0000-0000-0000-000000000000},           , 131485096603471294,  450,  2400,  2, "<sc.SqlCommand.set_CommandText|API> 1#, '" 
System.Data,  TextA,   0,   0,   0,   0,   17,   0, 0x0000000000000000, 0x000007D0, 0x00003A64,     1,    ,      , {00000000-0000-0000-0000-000000000000},           , 131485096603474160,  450,  2400,  2, "select cast(serverproperty('EngineEdition') as int)" 
System.Data,  TextA,   0,   0,   0,   0,   17,   0, 0x0000000000000000, 0x000007D0, 0x00003A64,     1,    ,      , {00000000-0000-0000-0000-000000000000},           , 131485096603474174,  450,  2400,  2, "' " 
System.Data,  TextA,   0,   0,   0,   0,   17,   0, 0x0000000000000000, 0x000007D0, 0x00003A64,     1,    ,      , {00000000-0000-0000-0000-000000000000},           , 131485096603523068,  450,  2400,  2, "<sc.SqlCommand.ExecuteReader|INFO> 1#, Command executed as SQLBATCH. " 

しかし、私はWPAに同じETLをロードする場合、私は、取得されたイベントに関する有用な何も見ません。このプロバイダ表示Event Name<Unknown>からすべてのイベント、Event TypeClassicと実際のADO.Netイベント情報(すなわちtracerpt CSV出力の右端の列。)についての情報:私は私ができるキャプチャ他のすべてのデータ以来

Line #, Provider Name, Task Name, Type (Opcode/Type), Opcode Name, Id, Process, Annotation, Event Name, Event Type, Message, Cpu, ThreadId, Message, UserDataLength, Time (s) 
1, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 3, 14056, , 0, 22.877068496 
2, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 0, 14056, , 0, 22.877265256 
3, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 0, 14056, , 0, 22.877275482 
4, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 0, 14056, , 0, 22.877276892 
5, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 0, 14056, , 0, 22.877299460 
6, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 0, 14056, , 0, 22.877301223 
7, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 1, 13276, , 0, 23.061972110 
8, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 1, 13276, , 0, 23.061975636 
9, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 1, 13276, , 0, 23.062004550 
10, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 1, 13276, , 0, 23.063588859 
11, 914abde3-171e-c600-3348-c514171de148, <Unknown>, 17, , 0, Unknown, <Not Annotated>, <Unknown>, Classic, , 1, 13276, , 0, 23.063617421 

WPAで分析すると、イベントがWPAにとって非常に不透明であるというADO.Netダイアグプロバイダーとは何が違うのだろうか?

+0

私は同じ困難があります。参考資料Microsoft Message Analyzer(https://technet.microsoft.com/en-us/library/jj649776.aspx)を使用していますが、正確には同じ.etlで動作しています。 –

答えて

2

Windowsパフォーマンスアナライザは、レジストリからマニフェストデータを読み取り、イベントをデコードします。 WPAがデータの取得に失敗した場合は、プロバイダのGUIDのみが表示され、TasknameおよびEventnameには<Unknown>が表示されます。 ADOトレースによるものであるManaged Object Format (MOF) filesは、WPA(従来のレガシープロバイダ)ではサポートされていませんが、tracerpt.exeがサポートしているようです。

イベントのみを探すETLファイルの生の解析については、Perfviewをお勧めします。

それはデコードイベントを取得するために、独自のパーサーを持っています

enter image description here

<Event MSec= "26176,0393" PID="11304" PName="foo" TID="8336" EventName="AdoNetDiag/TextW" 
    TimeStamp="09.02.17 16:47:39.338496" ID="Illegal" Version="0" Keywords="0x00000000" TimeStampQPC="1.241.241.278.025" 
    Level="Always" ProviderName="Bid2Etw_ADONETDIAG_ETW" ProviderGuid="7acdcac8-8947-f88a-e51a-24018f5129ef" ClassicProvider="True" 
    Opcode="18" TaskGuid="7acdcac9-8947-f88a-e51a-24018f5129ef" Channel="0" PointerSize="4" 
    CPU="1" EventIndex="1328680" TemplateType="DynamicTraceEventData"> 
    <PrettyPrint> 
    <Event MSec= "26176,0393" PID="11304" PName="foo" TID="8336" EventName="AdoNetDiag/TextW" ProviderName="Bid2Etw_ADONETDIAG_ETW" ModID="0" msgStr="01:CONNECTED [526D0000]C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll &quot;System.Data.SNI.1&quot; {C9996FA5-C06F-F20C-8A20-69B3BA392315} 
    "/> 
    </PrettyPrint> 

だから、イベント用のCPU、ディスク、ファイルIOとのPerfViewのパフォーマンス分析のためのWPAを使用しています。

関連する問題