{"id":2990,"date":"2017-03-16T12:06:55","date_gmt":"2017-03-16T19:06:55","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2990"},"modified":"2025-06-13T20:20:27","modified_gmt":"2025-06-14T03:20:27","slug":"profiling-monitoring-update","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/","title":{"rendered":"Profiling and Monitoring in Couchbase Server 5.0 Preview (Update)"},"content":{"rendered":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>In March\u2019s developer build, there are some more updates for N1QL query monitoring and profiling.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Go <a href=\"https:\/\/couchbase.com\/downloads\/\">download the March 5.0.0 developer release of Couchbase Server<\/a> today. Make sure to click the &#8220;Developer&#8221; tab to get the developer build (DB), and check it out. You still have time to give us some feedback before the official release.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>In case you missed it, check out the <a href=\"https:\/\/www.couchbase.com\/blog\/new-profiling-monitoring-couchbase-server-4-6\/\">post I wrote in February<\/a> about the New Profiling and Monitoring in Couchbase Server 5.0 Preview, as this post very much builds on that.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>As before, keep in mind that I\u2019m writing this blog post on early builds, and some things may change in minor ways by the time you get the release.<\/em><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_query_workbench\">Query Workbench<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Once again, I\u2019ll be focusing on <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/tools\/query-workbench.html\">Query Workbench<\/a> for this blog post. The updates for March are mainly visual changes to the &#8220;Plan&#8221; view in Query Results.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>But just to review, there are other options for running N1QL queries:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Use the <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/sdk\/dotnet\/n1ql-queries-with-sdk.html\">SDK of your choice<\/a>.<\/li>\n<li><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/cli\/cbq-tool.html\">cbq command line tool<\/a>.<\/li>\n<li><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/n1ql\/n1ql-rest-api\/index.html\">REST API N1QL endpoints<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>Personally, I find the Query Workbench easiest to use, as it more visually presents the profiling.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_profiling_complex_queries\">Profiling complex queries<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Let\u2019s look at the <code>travel-sample<\/code> data again, just like I did in last month\u2019s post. I\u2019m using the travel-sample bucket, but I have removed one of the indexes (<code>DROP INDEX `travel-sample<\/code>.<code>def_sourceairport<\/code>;`).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I then execute a N1QL query to find routes between two cities. Let\u2019s use Columbus, Ohio and Denver, Colorado this time.<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-SQL\">SELECT r.id, a.name, s.flight, s.utc, r.sourceairport, r.destinationairport, r.equipment\r\nFROM `travel-sample` r\r\nUNNEST r.schedule s\r\nJOIN `travel-sample` a ON KEYS r.airlineid\r\nWHERE r.sourceairport = 'CMH'\r\nAND r.destinationairport = 'DEN'\r\nAND s.day = 0\r\nORDER BY a.name;<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Executing this query (on my single-node local machine) took about 8 seconds this time (as expected), which is too slow.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_visual_breakdown_of_profiling\">Visual Breakdown of Profiling<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Let\u2019s look at the plan to see what the problem might be (I broke it into two lines so the screenshots will fit in the blog post).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/03\/058-01-Profiling-Execution-Plan-Part-1.png\" alt=\"Visual profiling part 1\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/03\/058-02-Profiling-Execution-Plan-Part-2.png\" alt=\"Visual profiling part 2\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>So, as before, the costliest parts of the query plan are the Filter and the Join. We could tell before by looking at the raw numbers and\/or the percentages. But in this March release, we have a more visual way to tell: color. The parts of the plan go from gray to tan to gold based on percentages and defined thresholds.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Right now, the thresholds are based on the fraction of the total query time taken by an operation:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Gray: less than 1% of total time<\/li>\n<li>Tan\/Some gold: \u00e2\u20ac\u201c 1% &#8211; 5%<\/li>\n<li>Tan\/More gold: 5% &#8211; 20%<\/li>\n<li>All gold: 20%<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>The purpose of this visual profiling is to quickly draw your eye to expensive operations. Then, if you care to know the exact numbers, you can read it in the details (in the diagram or even in the <code>META().plan<\/code> information).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>I\u2019m not going to go through the <a href=\"https:\/\/docs.couchbase.com\/server\/current\/n1ql\/n1ql-language-reference\/createindex.html\">index creation<\/a> part again; it\u2019s the same as it was in the last blog post (just recreating the index that I removed for demonstration purposes).<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_we_still_want_your_feedback\">We still want your feedback!<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Stay tuned to the <a href=\"https:\/\/www.couchbase.com\/blog\/\">Couchbase Blog<\/a> for information about what\u2019s coming in the next developer build.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Interested in trying out some of these new features? <a href=\"https:\/\/couchbase.com\/download\/\">Download Couchbase Server 5.0<\/a> today!<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>We want feedback! Developer releases are coming every month, so you have a chance to make a difference in what we are building.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Do you like this new use of color to help you profile your queries? Now you can give feedback directly from within the Couchbase Web Console. Look for the feedback icon] icon at the bottom right of the screen.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/03\/058-03-Feedback-Form.gif\" alt=\"Send feedback from within Couchbase\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Is something not working right? Please file an issue in our <a href=\"https:\/\/issues.couchbase.com\">JIRA system at issues.couchbase.com<\/a> or submit a question on the <a href=\"https:\/\/www.couchbase.com\/forums\/\">Couchbase Forums<\/a>. Or, contact me with a description of the issue. I would be happy to help you or submit the bug for you (my Couchbase handlers let me have a free Kit-Kat for each good bug I submit).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>If you have questions, the best way to contact me is either <a href=\"https:\/\/twitter.com\/mgroves\">Twitter @mgroves<\/a> or email me <a href=\"mailto:matthew.groves@couchbase.com\">matthew.groves@couchbase.com<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In March\u2019s developer build, there are some more updates for N1QL query monitoring and profiling. Go download the March 5.0.0 developer release of Couchbase Server today. Make sure to click the &#8220;Developer&#8221; tab to get the developer build (DB), and [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":2695,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,9417,1812],"tags":[1335,1854,1877],"ppma_author":[8937],"class_list":["post-2990","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-performance","category-n1ql-query","tag-monitoring","tag-profiling","tag-testing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Profiling and Monitoring in Couchbase Server 5.0 Preview<\/title>\n<meta name=\"description\" content=\"In March&#039;s developer build, there are some more updates for N1QL query monitoring and profiling. The Query Plan is now more visual.\" \/>\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.couchbase.com\/blog\/profiling-monitoring-update\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Profiling and Monitoring in Couchbase Server 5.0 Preview (Update)\" \/>\n<meta property=\"og:description\" content=\"In March&#039;s developer build, there are some more updates for N1QL query monitoring and profiling. The Query Plan is now more visual.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-03-16T19:06:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:20:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Profiling and Monitoring in Couchbase Server 5.0 Preview (Update)\",\"datePublished\":\"2017-03-16T19:06:55+00:00\",\"dateModified\":\"2025-06-14T03:20:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/\"},\"wordCount\":656,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg\",\"keywords\":[\"monitoring\",\"profiling\",\"testing\"],\"articleSection\":[\"Couchbase Server\",\"High Performance\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/\",\"name\":\"Profiling and Monitoring in Couchbase Server 5.0 Preview\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg\",\"datePublished\":\"2017-03-16T19:06:55+00:00\",\"dateModified\":\"2025-06-14T03:20:27+00:00\",\"description\":\"In March's developer build, there are some more updates for N1QL query monitoring and profiling. The Query Plan is now more visual.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg\",\"width\":960,\"height\":540,\"caption\":\"Monitoring and profiling\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Profiling and Monitoring in Couchbase Server 5.0 Preview (Update)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Profiling and Monitoring in Couchbase Server 5.0 Preview","description":"In March's developer build, there are some more updates for N1QL query monitoring and profiling. The Query Plan is now more visual.","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.couchbase.com\/blog\/profiling-monitoring-update\/","og_locale":"en_US","og_type":"article","og_title":"Profiling and Monitoring in Couchbase Server 5.0 Preview (Update)","og_description":"In March's developer build, there are some more updates for N1QL query monitoring and profiling. The Query Plan is now more visual.","og_url":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-03-16T19:06:55+00:00","article_modified_time":"2025-06-14T03:20:27+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg","type":"image\/jpeg"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Profiling and Monitoring in Couchbase Server 5.0 Preview (Update)","datePublished":"2017-03-16T19:06:55+00:00","dateModified":"2025-06-14T03:20:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/"},"wordCount":656,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg","keywords":["monitoring","profiling","testing"],"articleSection":["Couchbase Server","High Performance","SQL++ \/ N1QL Query"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/","url":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/","name":"Profiling and Monitoring in Couchbase Server 5.0 Preview","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg","datePublished":"2017-03-16T19:06:55+00:00","dateModified":"2025-06-14T03:20:27+00:00","description":"In March's developer build, there are some more updates for N1QL query monitoring and profiling. The Query Plan is now more visual.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/02\/054_monitoring_profiling_health_featured.jpg","width":960,"height":540,"caption":"Monitoring and profiling"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/profiling-monitoring-update\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Profiling and Monitoring in Couchbase Server 5.0 Preview (Update)"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves is a guy who loves to code.  It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything.  He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s.  He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community.  He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2990"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2990\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/2695"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=2990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2990"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}