{"id":776,"date":"2007-08-19T20:16:00","date_gmt":"2007-08-19T20:16:00","guid":{"rendered":"\/blogs\/bobb\/post\/More-about-SQL-Server-2008-extended-events-packages-events-and-event-sessions.aspx"},"modified":"2007-08-19T20:16:00","modified_gmt":"2007-08-19T20:16:00","slug":"more-about-sql-server-2008-extended-events-packages-events-and-event-sessions","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/","title":{"rendered":"More about SQL Server 2008 extended events: packages, events, and event sessions"},"content":{"rendered":"<p>\nIt&#39;s summertime in Oregon and its been nice and warm out (75-85F) lately. But today its raining (or specifically,&nbsp;the skies are quite ominous right now), so it&#39;s time to write more about my latest favorite subject: SQL Server 2008 Extended Events.\n<\/p>\n<p>\nThe SQL Server 2008 extended events introduce quite a bit of new terminology, but in investigating the specifics you come across some familiar themes.\n<\/p>\n<p>\nExtended events are all contained in <strong>packages<\/strong>. An event package is identified by a GUID and a name. Three packages are provided and you can see brief descriptions by querying sys.dm_xe_packages. A package is just a container for all of the other objects (like <strong>events<\/strong> and <strong>targets<\/strong>) you&#39;ll refer to in <strong>event sessions<\/strong>. The grouping has no effect of EVENT SESSIONs; you can specify any object from any package in a single event session. The package names are: sqlserver, sqlos, and package0.\n<\/p>\n<p>\nTwo of the object types that packages contain are events and targets. Events name the information you can collect, these are defined in event_columns. Targets define where the event information is captured and how its processed before being collected. So what can you capture, already?\n<\/p>\n<p>\nSELECT&nbsp;*&nbsp;FROM sys.dm_xe_objects&nbsp;WHERE type = &#39;event&#39;\n<\/p>\n<p>\nOnly sqlos and sqlserver packages contain events. The events in sqlos are 40 low-level operating system-interaction events, as you might guess. An example is async_io_requested. The sqlserver packages contains over 80 events. These events seems to correspond to SQL Server counters you would see in performance monitor, rather than SQL Profiler trace events that EVENT NOTIFICATIONs use in SQL Server 2005, although there is some overlap. Many of these events only collect one event-specific column, a counter.\n<\/p>\n<p>\nYou can get a list of all the available events and the event-specific columns they collect by using:\n<\/p>\n<p>\nSELECT convert(varchar(55),o.name) as [Object Name]<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ,convert(varchar(25),c.name) as [Column Name]<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ,c.column_id as [Column ID]<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ,convert(varchar(12),c.column_type) as [Column Type]<br \/>\nFROM sys.dm_xe_objects o<br \/>\nJOIN sys.dm_xe_object_columns c<br \/>\nON o.name = c.object_name<br \/>\nWHERE o.object_type = &#39;event&#39; AND c.column_type != &#39;readonly&#39; &#8212; readonly columns are common to most events<br \/>\nORDER BY [Object Name]\n<\/p>\n<p>\nSo, to put this all together in an event session, lets use a variation of the BOL example:\n<\/p>\n<p>\nCREATE EVENT SESSION test0<br \/>\nON SERVER<br \/>\nADD EVENT sqlserver.checkpoint_begin<br \/>\nADD EVENT sqlserver.checkpoint_end<br \/>\nADD TARGET package0.etw_classic_sync_target <br \/>\n&nbsp;&nbsp;&nbsp; (SET default_etw_session_logfile_path = N&#39;C:\\temp\\sqletw.etl&#39;) <br \/>\ngo\n<\/p>\n<p>\nSee the previous blog entry for information about getting ETW working. Note that, in a single event session, we&#39;re using items from two different packages, sqlserver and package0. Start the session, using ALTER SESSION, then take a few checkpoints (or produce whatever event you decide to collect), ALTER SESSION to stop the session. Then you transform the (binary) ETL file to a .csv file by using tracerpt.exe.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#39;s summertime in Oregon and its been nice and warm out (75-85F) lately. But today its raining (or specifically,&nbsp;the skies are quite ominous right now), so it&#39;s time to write more about my latest favorite subject: SQL Server 2008 Extended Events. The SQL Server 2008 extended events introduce quite a bit of new terminology, but [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,29],"tags":[],"class_list":["post-776","post","type-post","status-publish","format-standard","hentry","category-extended-events","category-sql-server-2008"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>More about SQL Server 2008 extended events: packages, events, and event sessions - Bob Beauchemin<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"More about SQL Server 2008 extended events: packages, events, and event sessions - Bob Beauchemin\" \/>\n<meta property=\"og:description\" content=\"It&#039;s summertime in Oregon and its been nice and warm out (75-85F) lately. But today its raining (or specifically,&nbsp;the skies are quite ominous right now), so it&#039;s time to write more about my latest favorite subject: SQL Server 2008 Extended Events. The SQL Server 2008 extended events introduce quite a bit of new terminology, but [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/\" \/>\n<meta property=\"og:site_name\" content=\"Bob Beauchemin\" \/>\n<meta property=\"article:published_time\" content=\"2007-08-19T20:16:00+00:00\" \/>\n<meta name=\"author\" content=\"Bob Beauchemin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bob Beauchemin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/\",\"name\":\"More about SQL Server 2008 extended events: packages, events, and event sessions - Bob Beauchemin\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/#website\"},\"datePublished\":\"2007-08-19T20:16:00+00:00\",\"dateModified\":\"2007-08-19T20:16:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/#\/schema\/person\/62bfa986c5b5d28fcffd8b4fc409c73e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extended Events\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/category\/extended-events\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"More about SQL Server 2008 extended events: packages, events, and event sessions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/\",\"name\":\"Bob Beauchemin\",\"description\":\"SQL Server Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/#\/schema\/person\/62bfa986c5b5d28fcffd8b4fc409c73e\",\"name\":\"Bob Beauchemin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6f80e6cc667410857fa6a21931dc528b8092f4d112bf7a8ff7c267674d44ee37?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6f80e6cc667410857fa6a21931dc528b8092f4d112bf7a8ff7c267674d44ee37?s=96&d=mm&r=g\",\"caption\":\"Bob Beauchemin\"},\"sameAs\":[\"http:\/www.sqlskills.com\/blogs\/bobb\/\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/bobb\/author\/bobb\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"More about SQL Server 2008 extended events: packages, events, and event sessions - Bob Beauchemin","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/","og_locale":"en_US","og_type":"article","og_title":"More about SQL Server 2008 extended events: packages, events, and event sessions - Bob Beauchemin","og_description":"It&#39;s summertime in Oregon and its been nice and warm out (75-85F) lately. But today its raining (or specifically,&nbsp;the skies are quite ominous right now), so it&#39;s time to write more about my latest favorite subject: SQL Server 2008 Extended Events. The SQL Server 2008 extended events introduce quite a bit of new terminology, but [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/","og_site_name":"Bob Beauchemin","article_published_time":"2007-08-19T20:16:00+00:00","author":"Bob Beauchemin","twitter_misc":{"Written by":"Bob Beauchemin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/","url":"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/","name":"More about SQL Server 2008 extended events: packages, events, and event sessions - Bob Beauchemin","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/bobb\/#website"},"datePublished":"2007-08-19T20:16:00+00:00","dateModified":"2007-08-19T20:16:00+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/bobb\/#\/schema\/person\/62bfa986c5b5d28fcffd8b4fc409c73e"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/bobb\/more-about-sql-server-2008-extended-events-packages-events-and-event-sessions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/bobb\/"},{"@type":"ListItem","position":2,"name":"Extended Events","item":"https:\/\/www.sqlskills.com\/blogs\/bobb\/category\/extended-events\/"},{"@type":"ListItem","position":3,"name":"More about SQL Server 2008 extended events: packages, events, and event sessions"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/bobb\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/bobb\/","name":"Bob Beauchemin","description":"SQL Server Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/bobb\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/bobb\/#\/schema\/person\/62bfa986c5b5d28fcffd8b4fc409c73e","name":"Bob Beauchemin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/bobb\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6f80e6cc667410857fa6a21931dc528b8092f4d112bf7a8ff7c267674d44ee37?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6f80e6cc667410857fa6a21931dc528b8092f4d112bf7a8ff7c267674d44ee37?s=96&d=mm&r=g","caption":"Bob Beauchemin"},"sameAs":["http:\/www.sqlskills.com\/blogs\/bobb\/"],"url":"https:\/\/www.sqlskills.com\/blogs\/bobb\/author\/bobb\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/posts\/776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/comments?post=776"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/posts\/776\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/media?parent=776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/categories?post=776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/bobb\/wp-json\/wp\/v2\/tags?post=776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}