{"id":4461,"date":"2011-11-07T13:08:22","date_gmt":"2011-11-07T07:38:22","guid":{"rendered":"https:\/\/2thenew.today\/blog\/?p=4461"},"modified":"2016-12-19T15:19:23","modified_gmt":"2016-12-19T09:49:23","slug":"grails-find-number-of-queries-executed-for-a-particular-request","status":"publish","type":"post","link":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/","title":{"rendered":"Grails: Find number of queries executed for a particular request"},"content":{"rendered":"<div id=\"_mcePaste\">When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only.<\/div>\n<div>We can get this information by just simply adding the following filter to our application(Filters in Grails)<\/div>\n<p>[groovy]<br \/>\n\t        logHibernateStats(controller: &#8216;*&#8217;, action: &#8216;*&#8217;) {<br \/>\n\t\t        before = {<br \/>\n\t\t\t\tStatistics stats = sessionFactory.statistics;<br \/>\n\t\t\t\tif(!stats.statisticsEnabled) {stats.setStatisticsEnabled(true)}<br \/>\n                       }<\/p>\n<p>\t\t\tafterView = {<br \/>\n\t\t\t\tStatistics stats = sessionFactory.getStatistics()<br \/>\n\t\t\t\tdouble queryCacheHitCount  = stats.getQueryCacheHitCount();<br \/>\n\t\t\t\tdouble queryCacheMissCount = stats.getQueryCacheMissCount();<br \/>\n\t\t\t\tdouble queryCacheHitRatio = (queryCacheHitCount \/ ((queryCacheHitCount + queryCacheMissCount) ?: 1))<br \/>\n\t\t\t\tlog.info &amp;quot;&amp;quot;&amp;quot;<br \/>\n######################## Hibernate Stats ##############################################<br \/>\nTransaction Count:${stats.transactionCount}<br \/>\nFlush Count:${stats.flushCount}<br \/>\nTotal Collections Fetched:${stats.collectionFetchCount}<br \/>\nTotal Collections Loaded:${stats.collectionLoadCount}<br \/>\nTotal Entities Fetched:${stats.entityFetchCount}<br \/>\nTotal Entities Loaded:${stats.entityFetchCount}<br \/>\nTotal Queries:${stats.queryExecutionCount}<br \/>\nqueryCacheHitCount:${queryCacheHitCount}<br \/>\nqueryCacheMissCount:${queryCacheMissCount}<br \/>\nqueryCacheHitRatio:${queryCacheHitRatio}<br \/>\n######################## Hibernate Stats ##############################################<br \/>\n&amp;quot;&amp;quot;&amp;quot;<br \/>\n\t\t\t\tstats.clear()<br \/>\n\t\t\t}<\/p>\n<p>        }<br \/>\n[\/groovy]<\/p>\n<p>There are a <a href=\"http:\/\/www.javalobby.org\/java\/forums\/t19807.html\" target=\"_blank\">bunch of other stats<\/a> that we can get to do more analysis \u00a0If you see a large amount of queries, you can simply turn sql logging on for the particular action in <a href=\"https:\/\/2thenew.today\/blog\/log-sql-in-grails-for-a-piece-of-code\/\">this way<\/a><\/p>\n<p>Gotchas:<\/p>\n<ol>\n<li>Since we are getting the stats from sessionFactory, they just do not pertain to any particular request. So this will not work in a multiuser enviornment(prod\/qa)<\/li>\n<li>Also these stats may not be correct if you have any background jobs running simultaneously<\/li>\n<\/ol>\n<p>This is basically one of the things that we do when we want to &#8216;tune&#8217; the performance of an application.<\/p>\n<p>PS: Performance tuning comprises of many more things. Peter ledbrook gave an excellent session on it in last year&#8217;s SpringOne2GX. You can find a summary <a href=\"https:\/\/2thenew.today\/blog\/springone2gx-peter-ledbrooks-session-on-performance-tuning\/\" target=\"_blank\">here<\/a><\/p>\n<p>Regards<br \/>\n~~Himanshu Seth~~<\/p>\n<p>https:\/\/2thenew.today<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy] [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":6,"footnotes":""},"categories":[7],"tags":[],"class_list":["post-4461","post","type-post","status-publish","format-standard","hentry","category-grails"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy]\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Himanshu Seth\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Grails: Find number of queries executed for a particular request | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy]\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Grails: Find number of queries executed for a particular request | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy]\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#article\",\"name\":\"Grails: Find number of queries executed for a particular request | TO THE NEW Blog\",\"headline\":\"Grails: Find number of queries executed for a particular request\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/himanshu\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2011-11-07T13:08:22+05:30\",\"dateModified\":\"2016-12-19T15:19:23+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#webpage\"},\"articleSection\":\"Grails\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"position\":2,\"name\":\"Grails\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#listItem\",\"name\":\"Grails: Find number of queries executed for a particular request\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#listItem\",\"position\":3,\"name\":\"Grails: Find number of queries executed for a particular request\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/himanshu\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/himanshu\\\/\",\"name\":\"Himanshu Seth\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/62e787d1a52267475ecb3fb2b7bea0715c3f4409cf080f75b5ee57e3bfa770a8?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Himanshu Seth\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/\",\"name\":\"Grails: Find number of queries executed for a particular request | TO THE NEW Blog\",\"description\":\"When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy]\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/grails-find-number-of-queries-executed-for-a-particular-request\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/himanshu\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/himanshu\\\/#author\"},\"datePublished\":\"2011-11-07T13:08:22+05:30\",\"dateModified\":\"2016-12-19T15:19:23+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Grails: Find number of queries executed for a particular request | TO THE NEW Blog","description":"When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy]","canonical_url":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#article","name":"Grails: Find number of queries executed for a particular request | TO THE NEW Blog","headline":"Grails: Find number of queries executed for a particular request","author":{"@id":"https:\/\/2thenew.today\/blog\/author\/himanshu\/#author"},"publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"},"datePublished":"2011-11-07T13:08:22+05:30","dateModified":"2016-12-19T15:19:23+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#webpage"},"articleSection":"Grails"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.today\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/grails\/#listItem","name":"Grails"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/grails\/#listItem","position":2,"name":"Grails","item":"https:\/\/2thenew.today\/blog\/category\/grails\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#listItem","name":"Grails: Find number of queries executed for a particular request"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#listItem","position":3,"name":"Grails: Find number of queries executed for a particular request","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/grails\/#listItem","name":"Grails"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.today\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.today\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.today\/blog\/author\/himanshu\/#author","url":"https:\/\/2thenew.today\/blog\/author\/himanshu\/","name":"Himanshu Seth","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/62e787d1a52267475ecb3fb2b7bea0715c3f4409cf080f75b5ee57e3bfa770a8?s=96&d=mm&r=g","width":96,"height":96,"caption":"Himanshu Seth"}},{"@type":"WebPage","@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#webpage","url":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/","name":"Grails: Find number of queries executed for a particular request | TO THE NEW Blog","description":"When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy]","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.today\/blog\/author\/himanshu\/#author"},"creator":{"@id":"https:\/\/2thenew.today\/blog\/author\/himanshu\/#author"},"datePublished":"2011-11-07T13:08:22+05:30","dateModified":"2016-12-19T15:19:23+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.today\/blog\/#website","url":"https:\/\/2thenew.today\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Grails: Find number of queries executed for a particular request | TO THE NEW Blog","og:description":"When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy]","og:url":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/","og:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Grails: Find number of queries executed for a particular request | TO THE NEW Blog","twitter:description":"When response time of a page is slow, we might be interested in viewing database queries executed on that page. Enabling SQL Logging shows all queries but we are interested in queries for that particular request only. We can get this information by just simply adding the following filter to our application(Filters in Grails) [groovy]","twitter:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"4461","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 17:51:29","updated":"2024-02-29 09:29:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\/category\/grails\/\" title=\"Grails\">Grails<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tGrails: Find number of queries executed for a particular request\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.today\/blog"},{"label":"Grails","link":"https:\/\/2thenew.today\/blog\/category\/grails\/"},{"label":"Grails: Find number of queries executed for a particular request","link":"https:\/\/2thenew.today\/blog\/grails-find-number-of-queries-executed-for-a-particular-request\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/4461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/comments?post=4461"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/4461\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/media?parent=4461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/categories?post=4461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/tags?post=4461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}