.NET 4.0中的新特性系列课程程1

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

追踪CLR追踪使用Windows事件跟踪(ETW)观察公共语言运行时CLR观察公共语言运行时CLRYongtaiZhuYongtaiZhuMicrosoftLevel300什么是Code7 大赛?Windows 7 Code7大赛是一个全球性的大赛,旨在奖励那些通过开发在的大赛,旨在奖励那些通过开发在Windows7上运行的酷炫应用程序来展现Windows7 崭新特性的的开发人员。立即行动赢得比赛!立即行动赢得比赛!现在就加入比赛吧,来赢取笔记本电脑以及往返美国洛杉矶参加Professional Developers Conference2009的旅程!您的作品需要利用以下一个或多个技术:媒体库(Libi)此外,全球六名决赛选手将获得$7,777美元的奖金;其中一名决赛选手会获得更加惊喜大奖,该获奖者将被评委团选出并赢得$17777美元的奖金!•媒体库(Libraries)•Windows触摸技术(WindowsTouch)•Shell集成(Shell赢得$17,777美元的奖金!如何参加?请在2009年10月10日之前到H//d7上传(Integration)•DirectX11•传感和定位平台(SensorandLocationPlatform)上传您的视频!1.注册2.开发应用LocationPlatform)2.开发应用3.上传视频更多信息请访问:msdn.microsoft.com/zh-cn/ee364703.aspx(中文)或:(全球官方网站,英文)收听本次课程需具备的条件收听本次课程需具备的条件有•对.NET以及C#有一定了解•对性能度量有一定经验对性能度量有定经验Level300日程日程次的安全•上次课程的回顾(CLR4安全级别)•ETW(Windows事件追踪)简介ETW(Windows事件追踪)简介•CLRV4对ETW的支持•CLRETW事件选讲•Manifest文件格式介绍•Manifest文件格式介绍Level300上次课程的回顾(CLR4安全级别)Level300三层级别三层级别Transparent•Transparent:可以在部分信任情况下运行的代码,不能做执行危险的操作险的操作•Critical:只能在完全信任的情况SafeCritical下运行的代码,可以执行任何操作•SafeCritical:在Transparent和Critical之间的层,应当验证Transparent的代码并执行CriticalTransparent的代码,并执行Critical代码的功能。ETW(Windows事件追踪)简介Level300如何提高性能?如何提高性能?快的算法•更快的算法?•更好的数据结构?更好的数据结构?•更强的硬件?Level300性能提升的一般方法性能提升的般方法度性能•度量性能–确定性能度量场景确定性能度量场景•一个操作的完成时间–加入具体代码记录时间–加入具体代码,记录时间–运行程序,收集数据单个应用程序•单个应用程序•服务器端log分析瓶颈–分析瓶颈ETW---Windows事件追踪ETW---Windows事件追踪•ETW是windows提供的时间戳•ETW是windows提供的时间戳–统一的时间提供程序模型便捷的控制–便捷的控制•ETW三要素控制器–控制器–事件提供者(provider)–事件消费者(consumer)CLRV4对ETW的支持CLR是ETW的提供者CLR是ETW的提供者KEYWORDSMASK(xperf中使用)GC0x1GC0x1Fusion0x4Loader0x8010JIT0x10NGEN0x20Security0x400AppDomainResource0x800JitTracing0x1000Interop0x2000Contention0x4000Exception0x8000Threading0x10000详见${SysDir}\Microsoft.NET\Framework\v4.0.${version}\CLR-ETW.manStack0x400000000查看CLR事件的方法查看CLR事件的方法1.注册CLRManifest–wevtutilimclr-etw.man2.开始CLRETW会话–xperf-startclr-one13c0d23-ccbc-4e12-931b-d9cc2eee27e4-fclr.etl3运行NET程序3.运行.NET程序4.结束CLRETW会话–xperf-stopclr–xperf-stopclr5.转化结果文件–xperf-iclr.etl-oclr.csvxperficlr.etloclr.csv或者–xperfclr.etlDemoDemo观察CLR的windows事件CLRETW事件选讲Level300GC事件GC事件1.Start–GC开始(和GCCounter保持一致)2.Stop–GC结束3.Suspend–GC重新启动CLR4.Extension–GCHeap统计信息5.Send–GC中断CLR结束6.GCSuspendEEBegin–GC中断CLR7.GCAllocationTick–GC分配内存池分配内存8.GCFinalizersEnd–Finalizer方法结束工作9.GCFinalizersBegin–Finalizer方法开始工作9GCaesegae方法开始工作DemoDemo观察CLR的GC事件JIT事件JIT事件1.MethodLoadVerbose载入一个方法2.MethodUnloadVerbose卸载一个方法3.MethodJittingStarted开始编译一个方法g4.JitInliningSucceeded成功内联方法5.JitInliningFailed失败内联方法gDemoDemo观察CLR的Jit事件Interop事件Interop事件1.ILStubGenerated–生成ILStub2.ILStubCacheHit–命中ILStubDemo观察CLR的Interop事件以及ILStubDiagnosticILStubDiagnosticManifest文件格式介绍Level300Manifest文件格式Manifest文件格式1.Provider–Xperf需要的Guid2.Keyword–Xperf需要的Mask3.task组–一组Event4.template定义t数据类型的格式–定义event数据类型的格式5.eventtemplatetemplatetemplatetid=GCHeapStats_V1datanameGenerationSie0inTpeinUInt64/dataname=GenerationSize0inType=win:UInt64/dataname=TotalPromotedSize0inType=win:UInt64/dataname=GenerationSize1inType=win:UInt64/dtTtlPtdSi1iTiUIt64/dataname=TotalPromotedSize1inType=win:UInt64/dataname=GenerationSize2inType=win:UInt64/dataname=TotalPromotedSize2inType=win:UInt64/dataname=GenerationSize3inType=win:UInt64/dataname=TotalPromotedSize3inType=win:UInt64/dataname=FinalizationPromotedSizeinType=win:UInt64/dataname=FinalizationPromotedCountinType=win:UInt64/dataname=PinnedObjectCountinType=win:UInt32/dataname=SinkBlockCountinType=win:UInt32/dataname=GCHandleCountinType=win:UInt32/dataname=ClrInstanceIDinType=win:UInt16/Template(续)UserDataGCHeapStats_V1xmlns=myNsGenerationSize0%1/GenerationSize0TotalPromotedSize0%2/TotalPromotedSize0GenerationSize1%3/GenerationSize1TotalPromotedSize1%4/TotalPromotedSize1GenerationSize2%5/GenerationSize2TotalPromotedSize2%6/TotalPromotedSize2GenerationSize3%7/GenerationSize3TotalPromotedSize3%8/TotalPromotedSize3FinalizationPromotedSize%9/FinalizationPromotedSizeFinalizationPromotedCount%10/FinalizationPromotedCountPinnedObjectCount%11/PinnedObjectCountSinkBlockCount%12/SinkBlockCountGCHandleCount%13/GCHandleCountClrInstanceID%14/ClrInstanceID/GCHeapStats_V1/UserData/UserData/templateeventeventeventvalue=4version=1level=win:Informationaltemplate=GCHeapStats_V1keywords=GCKeywordopcode=win:Extensiontask=GarbageCollectionkeywords=GCKeywordopcode=win:Extensiontask=GarbageCollectionsymbol=GCHeapStats_V1message=$(string.RuntimePublisher.GCHeapStats_V1EventMessage)/相关资源相关资源Xf下载•Xperf下载‐us/performance/cc752957.aspx•MSDN文档‐us/library/dd264810(VS.100).aspxLevel300获取更多MSDN资源获取更多资源•MSDN中文网站•MSDN中文网站‐cn•MSDN中文网络广播/////http:// •MSDN中文网络广播课程预告邮件://•MSDN免费中文速递邮件(MSDN Flash) ‐cn/flashMSDN开发中心•MSDN开发中心‐cn/developercenters•MSDN图书中心•MSDN图书中心ht

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功