{"id":495,"date":"2012-02-15T23:21:12","date_gmt":"2012-02-15T23:21:12","guid":{"rendered":"\/blogs\/jonathan\/post\/Extended-Events-PerfObject-Events.aspx"},"modified":"2017-04-13T14:41:13","modified_gmt":"2017-04-13T18:41:13","slug":"extended-events-perfobject-events","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/","title":{"rendered":"Extended Events PerfObject Events"},"content":{"rendered":"<p>SQL Server 2008 R2 Service Pack 1 provides a new set of Events in Extended Events to collect performance counter data from the Windows OS that would be really useful to monitoring SQL Server.&#160; The first place I can find that they were mentioned is on a <a href=\"https:\/\/blogs.msdn.microsoft.com\/markweberblog\/2012\/01\/16\/perfmon-counters-available-via-extended-events-xevents-in-sql-server-2008-r2-sp1\/\" target=\"_blank\">blog post by Mark Weber<\/a>, a PFE for SQL and SAP at Microsoft.&#160; However, a few weeks ago a question was asked about these counters one of the forums and the question was around how to use them.&#160; I looked at the Events and found out that they aren\u2019t really useable in their current implementation, something that is disappointing since being able to collect the data provided by these Events would really benefit most DBA\u2019s out there.&#160; <\/p>\n<p>If you look at the Events and columns, these events collect information about the Logical Disk, Processor, Process for the SQL instance, and System at 15 second intervals and makes the data available through Extended Events.<\/p>\n<blockquote>\n<pre class=\"csharpcode\"><span class=\"kwrd\">SELECT<\/span> name, description\r\n<span class=\"kwrd\">FROM<\/span>  sys.dm_xe_objects\r\n<span class=\"kwrd\">WHERE<\/span> name <span class=\"kwrd\">like<\/span> <span class=\"str\">'perfobject_%'<\/span><\/pre>\n<\/blockquote>\n<style type=\"text\/css\">\n<p>.csharpcode, .csharpcode pre\n{\n\tfont-size: small;\n\tcolor: black;\n\tfont-family: consolas, \"Courier New\", courier, monospace;\n\tbackground-color: #ffffff;\n\t\/*white-space: pre;*\/\n}\n.csharpcode pre { margin: 0em; }\n.csharpcode .rem { color: #008000; }\n.csharpcode .kwrd { color: #0000ff; }\n.csharpcode .str { color: #006080; }\n.csharpcode .op { color: #0000c0; }\n.csharpcode .preproc { color: #cc6633; }\n.csharpcode .asp { background-color: #ffff00; }\n.csharpcode .html { color: #800000; }\n.csharpcode .attr { color: #ff0000; }\n.csharpcode .alt \n{\n\tbackground-color: #f4f4f4;\n\twidth: 100%;\n\tmargin: 0em;\n}\n.csharpcode .lnum { color: #606060; }<\/style>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"700\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"138\">\n<p align=\"center\"><strong>name<\/strong><\/p>\n<\/td>\n<td valign=\"top\" width=\"560\">\n<p align=\"center\"><strong>description<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"138\">\n<p>perfobject_process<\/p>\n<\/td>\n<td valign=\"top\" width=\"560\">\n<p>Returns a set of counters associated with the Process performance object. The event occurs once every 15 seconds for both the SQL Server and SQL Agent processes.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"138\">\n<p>perfobject_system<\/p>\n<\/td>\n<td valign=\"top\" width=\"560\">\n<p>Returns a set of counters associated with the System performance object. The event occurs once every 15 seconds.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"138\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td valign=\"top\" width=\"560\">\n<p>Returns a set of counters associated with the Logical Disk performance object. The event occurs once every 15 seconds for each hard or fixed disk drive.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"138\">\n<p>perfobject_processor<\/p>\n<\/td>\n<td valign=\"top\" width=\"560\">\n<p>Returns a set of counters associated with the Processor performance object. The event occurs once every 15 seconds for each processor in the system.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If we look at the columns, we\u2019ll see that the columns actually represent the individual counters under the categories exposed by the Event names. For example, the perfobject_logicaldisk event returns the following columns:<\/p>\n<blockquote>\n<pre class=\"csharpcode\"><span class=\"kwrd\">SELECT<\/span>\r\n    object_name, \r\n    name <span class=\"kwrd\">AS<\/span> column_name, \r\n    description\r\n<span class=\"kwrd\">FROM<\/span>  sys.dm_xe_object_columns\r\n<span class=\"kwrd\">WHERE<\/span> object_name = <span class=\"str\">'perfobject_logicaldisk'<\/span>\r\n  <span class=\"kwrd\">AND<\/span> column_type = <span class=\"str\">'data'<\/span>\r\n<span class=\"kwrd\">ORDER<\/span> <span class=\"kwrd\">BY<\/span> object_name, name<\/pre>\n<\/blockquote>\n<style type=\"text\/css\">\n<p>.csharpcode, .csharpcode pre\n{\n\tfont-size: small;\n\tcolor: black;\n\tfont-family: consolas, \"Courier New\", courier, monospace;\n\tbackground-color: #ffffff;\n\t\/*white-space: pre;*\/\n}\n.csharpcode pre { margin: 0em; }\n.csharpcode .rem { color: #008000; }\n.csharpcode .kwrd { color: #0000ff; }\n.csharpcode .str { color: #006080; }\n.csharpcode .op { color: #0000c0; }\n.csharpcode .preproc { color: #cc6633; }\n.csharpcode .asp { background-color: #ffff00; }\n.csharpcode .html { color: #800000; }\n.csharpcode .attr { color: #ff0000; }\n.csharpcode .alt \n{\n\tbackground-color: #f4f4f4;\n\twidth: 100%;\n\tmargin: 0em;\n}\n.csharpcode .lnum { color: #606060; }<\/style>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\" width=\"700\">\n<tbody>\n<tr>\n<td width=\"129\">\n<p align=\"center\"><b>object_name<\/b><\/p>\n<\/td>\n<td width=\"206\">\n<p align=\"center\"><b>column_name<\/b><\/p>\n<\/td>\n<td width=\"363\">\n<p align=\"center\"><b>description<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_bytes_per_read<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the average number of bytes transferred from the disk during read operations.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_bytes_per_transfer<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the average number of bytes transferred to or from the disk during write or read operations.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_bytes_per_write<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the average number of bytes transferred to the disk during write operations.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_queue_length<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the average number of both read and write requests that were queued for the selected disk during the sample interval.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_read_queue_length<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the average number of read requests that were queued for the selected disk during the sample interval.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_seconds_per_read<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the average time, in seconds, of a read operation from the disk.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_seconds_per_transfer<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the time, in seconds, of the average disk transfer.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_seconds_per_write<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the average time, in seconds, of a write operation to the disk.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>average_disk_write_queue_length<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the average number of write requests that were queued for the selected disk during the sample interval.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>current_disk_queue_length<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the number of requests outstanding on the disk at the time that the performance data is collected.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>disk_bytes_per_second<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the rate at which bytes are transferred to or from the disk during write or read operations.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>disk_read_bytes_per_second<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the rate at which bytes are transferred from the disk during read operations.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>disk_reads_per_second<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the rate at which read operations are performed on the disk.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>disk_transfers_per_second<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the rate at which read and write operations are performed on the disk.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>disk_write_bytes_per_second<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the rate at which bytes are transferred to the disk during write operations.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>disk_writes_per_second<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the rate at which write operations are performed on the disk.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>free_megabytes<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the unallocated space, in megabytes, on the disk drive. One megabyte is equal to 1,048,576 bytes.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>instance_name<\/p>\n<\/td>\n<td width=\"363\">\n<p>The logical disk drive name<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>percent_disk_read_time<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the percentage of time that the selected disk drive is busy servicing read or write requests.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>percent_disk_time<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the percentage of time that the selected disk drive is busy servicing read requests.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>percent_disk_write_time<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the percentage of time that the selected disk drive is busy servicing write requests.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>percent_free_space<\/p>\n<\/td>\n<td width=\"363\">\n<p>Shows the percentage of the total usable space on the selected logical disk drive that is free.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>percent_idle_time<\/p>\n<\/td>\n<td width=\"363\">\n<p>The percentage of time during the sample interval that the disk was idle.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"129\">\n<p>perfobject_logicaldisk<\/p>\n<\/td>\n<td width=\"206\">\n<p>split_io_per_second<\/p>\n<\/td>\n<td width=\"363\">\n<p>The rate at which I\/Os to the disk were split into multiple I\/Os.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This all seems good, until we actually use the Events in an Event Session and take a look at the data being returned.<\/p>\n<blockquote>\n<pre class=\"csharpcode\"><span class=\"kwrd\">CREATE<\/span> EVENT <span class=\"kwrd\">SESSION<\/span> [XE_PerfCounters] \r\n<span class=\"kwrd\">ON<\/span> SERVER \r\n<span class=\"kwrd\">ADD<\/span> EVENT sqlserver.perfobject_logicaldisk \r\n<span class=\"kwrd\">ADD<\/span> TARGET package0.ring_buffer;\r\n<span class=\"kwrd\">GO<\/span><\/pre>\n<\/blockquote>\n<style type=\"text\/css\">\n<p>.csharpcode, .csharpcode pre\n{\n\tfont-size: small;\n\tcolor: black;\n\tfont-family: consolas, \"Courier New\", courier, monospace;\n\tbackground-color: #ffffff;\n\t\/*white-space: pre;*\/\n}\n.csharpcode pre { margin: 0em; }\n.csharpcode .rem { color: #008000; }\n.csharpcode .kwrd { color: #0000ff; }\n.csharpcode .str { color: #006080; }\n.csharpcode .op { color: #0000c0; }\n.csharpcode .preproc { color: #cc6633; }\n.csharpcode .asp { background-color: #ffff00; }\n.csharpcode .html { color: #800000; }\n.csharpcode .attr { color: #ff0000; }\n.csharpcode .alt \n{\n\tbackground-color: #f4f4f4;\n\twidth: 100%;\n\tmargin: 0em;\n}\n.csharpcode .lnum { color: #606060; }<\/style>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/3ee2d37b\/image.png\"><img fetchpriority=\"high\" decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/41a8886e\/image_thumb.png\" width=\"644\" height=\"368\" \/><\/a><\/p>\n<p>Unfortunately, the counters are returning Raw values for the Event and the necessary Base counters that are required to give these values any useful meaning have been left out of the Events data.&#160; Looking at this in my test environment, it appears the counter values pulled for the perfobject_ Events are pulled directly from <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dn750765(v=vs.85).aspx\" target=\"_blank\">Win32_PerfRawData_PerfDisk_LogicalDisk<\/a>, but if you look at the CookingType requirements for the counters in <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dn750765(v=vs.85).aspx\" target=\"_blank\">Win32_PerfFormattedData_PerfDisk_LogicalDisk<\/a> the raw values have to be <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa392761(v=vs.85).aspx\" target=\"_blank\">calculated by their base values<\/a> for them to have meaning:<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/6e514247\/image.png\"><img decoding=\"async\" style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/0674aca3\/image_thumb.png\" width=\"497\" height=\"461\" \/><\/a><\/p>\n<p>I\u2019ve submitted <a href=\"https:\/\/connect.microsoft.com\/SQLServer\/feedback\/details\/725167\/extended-events-perfobject-events-provide-raw-values-without-base-values\" target=\"_blank\">Connect Item 725167<\/a> for this and I really hope that this one gets fixed in a future Cumulative Update or Service Pack.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL Server 2008 R2 Service Pack 1 provides a new set of Events in Extended Events to collect performance counter data from the Windows OS that would be really useful to monitoring SQL Server.&#160; The first place I can find that they were mentioned is on a blog post by Mark Weber, a PFE for [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,23,38,39],"tags":[],"class_list":["post-495","post","type-post","status-publish","format-standard","hentry","category-connect","category-extended-events","category-sql-server-2008","category-sql-server-2012"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Extended Events PerfObject Events - Jonathan Kehayias<\/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\/jonathan\/extended-events-perfobject-events\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extended Events PerfObject Events - Jonathan Kehayias\" \/>\n<meta property=\"og:description\" content=\"SQL Server 2008 R2 Service Pack 1 provides a new set of Events in Extended Events to collect performance counter data from the Windows OS that would be really useful to monitoring SQL Server.&#160; The first place I can find that they were mentioned is on a blog post by Mark Weber, a PFE for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/\" \/>\n<meta property=\"og:site_name\" content=\"Jonathan Kehayias\" \/>\n<meta property=\"article:published_time\" content=\"2012-02-15T23:21:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-13T18:41:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/41a8886e\/image_thumb.png\" \/>\n<meta name=\"author\" content=\"Jonathan Kehayias\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Kehayias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/\"},\"author\":{\"name\":\"Jonathan Kehayias\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"headline\":\"Extended Events PerfObject Events\",\"datePublished\":\"2012-02-15T23:21:12+00:00\",\"dateModified\":\"2017-04-13T18:41:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/\"},\"wordCount\":939,\"commentCount\":4,\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/extended-events-perfobject-events\\\/41a8886e\\\/image_thumb.png\",\"articleSection\":[\"Connect\",\"Extended Events\",\"SQL Server 2008\",\"SQL Server 2012\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/\",\"name\":\"Extended Events PerfObject Events - Jonathan Kehayias\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/extended-events-perfobject-events\\\/41a8886e\\\/image_thumb.png\",\"datePublished\":\"2012-02-15T23:21:12+00:00\",\"dateModified\":\"2017-04-13T18:41:13+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/extended-events-perfobject-events\\\/41a8886e\\\/image_thumb.png\",\"contentUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/extended-events-perfobject-events\\\/41a8886e\\\/image_thumb.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/extended-events-perfobject-events\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connect\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/category\\\/connect\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Extended Events PerfObject Events\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\",\"name\":\"Jonathan Kehayias - The Rambling DBA\",\"description\":\"The Rambling DBA\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\",\"name\":\"Jonathan Kehayias\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"caption\":\"Jonathan Kehayias\"},\"sameAs\":[\"http:\\\/\\\/3.209.169.194\\\/blogs\\\/jonathan\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Extended Events PerfObject Events - Jonathan Kehayias","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\/jonathan\/extended-events-perfobject-events\/","og_locale":"en_US","og_type":"article","og_title":"Extended Events PerfObject Events - Jonathan Kehayias","og_description":"SQL Server 2008 R2 Service Pack 1 provides a new set of Events in Extended Events to collect performance counter data from the Windows OS that would be really useful to monitoring SQL Server.&#160; The first place I can find that they were mentioned is on a blog post by Mark Weber, a PFE for [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/","og_site_name":"Jonathan Kehayias","article_published_time":"2012-02-15T23:21:12+00:00","article_modified_time":"2017-04-13T18:41:13+00:00","og_image":[{"url":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/41a8886e\/image_thumb.png","type":"","width":"","height":""}],"author":"Jonathan Kehayias","twitter_misc":{"Written by":"Jonathan Kehayias","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/#article","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/"},"author":{"name":"Jonathan Kehayias","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"headline":"Extended Events PerfObject Events","datePublished":"2012-02-15T23:21:12+00:00","dateModified":"2017-04-13T18:41:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/"},"wordCount":939,"commentCount":4,"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/#primaryimage"},"thumbnailUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/41a8886e\/image_thumb.png","articleSection":["Connect","Extended Events","SQL Server 2008","SQL Server 2012"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/","name":"Extended Events PerfObject Events - Jonathan Kehayias","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/#primaryimage"},"thumbnailUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/41a8886e\/image_thumb.png","datePublished":"2012-02-15T23:21:12+00:00","dateModified":"2017-04-13T18:41:13+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/#primaryimage","url":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/41a8886e\/image_thumb.png","contentUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/extended-events-perfobject-events\/41a8886e\/image_thumb.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/extended-events-perfobject-events\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/"},{"@type":"ListItem","position":2,"name":"Connect","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/category\/connect\/"},{"@type":"ListItem","position":3,"name":"Extended Events PerfObject Events"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/","name":"Jonathan Kehayias - The Rambling DBA","description":"The Rambling DBA","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c","name":"Jonathan Kehayias","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","caption":"Jonathan Kehayias"},"sameAs":["http:\/\/3.209.169.194\/blogs\/jonathan"]}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/comments?post=495"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/495\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/media?parent=495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/categories?post=495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/tags?post=495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}