{"id":3513,"date":"2021-11-10T07:00:34","date_gmt":"2021-11-10T15:00:34","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=3513"},"modified":"2021-11-11T08:56:54","modified_gmt":"2021-11-11T16:56:54","slug":"glowroot-support-cosmos-db-cassandra-api","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/glowroot-support-cosmos-db-cassandra-api\/","title":{"rendered":"Announcing: Glowroot support for Azure Cosmos DB Cassandra API"},"content":{"rendered":"<p><span class=\"TextRun SCXW177157292 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW177157292 BCX8\">We are excited to announce that support for Glowroot is now generally available for the <\/span><a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/cassandra\/cassandra-introduction\" target=\"_blank\" rel=\"noopener\"><span class=\"NormalTextRun CommentStart SCXW177157292 BCX8\">Azure Cosmos DB<\/span><\/a><span class=\"NormalTextRun SCXW177157292 BCX8\">\u00a0Cassandra API.\u00a0<\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW177157292 BCX8\">Glowroot<\/span><span class=\"NormalTextRun SCXW177157292 BCX8\"> is an open-source APM tool for monitoring the p<\/span><span class=\"NormalTextRun CommentStart SCXW177157292 BCX8\">erformance of your Java-base<\/span><span class=\"NormalTextRun SCXW177157292 BCX8\">d applications. <\/span><\/span><\/p>\n<p><span class=\"TextRun SCXW177157292 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW177157292 BCX8\">This support was brought about by the addition of three new features for Azure Cosmos DB Cassandra API: lightweight transactions, named indexes, and truncate. Using Glowroot with<\/span><\/span><span class=\"TextRun SCXW177157292 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW177157292 BCX8\">\u00a0Azure Cosmos DB is\u00a0<\/span><span class=\"NormalTextRun CommentStart SCXW177157292 BCX8\">easy to configure, has no need to update applications, and has a low overhead in terms of resource utilization.<\/span><span class=\"NormalTextRun SCXW177157292 BCX8\">\u00a0<\/span><span class=\"NormalTextRun SCXW177157292 BCX8\">This allows users of Azure Cosmos DB\u2019s Cassandra API to get all the benefits of using\u00a0<\/span><span class=\"NormalTextRun SpellingErrorV2 SCXW177157292 BCX8\">Glowroot, and for<\/span><\/span><span class=\"EOP SCXW177157292 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"> Glowroot users to enjoy the fully managed Azure Cosmos DB Cassandra API.<\/span><\/p>\n<p><strong>Features\u00a0<\/strong><\/p>\n<p>Glowroot comes in two flavors one as an embedded collector that is great for monitoring stand-alone applications and the other is a central collector useful for distributed architecture applications systems. Some of the major features include:<\/p>\n<ul>\n<li>Enables you to trace slow requests for up to 500 requests and capture the errors.<\/li>\n<li>Supports asynchronous requests across multiple threads.<\/li>\n<li>You can configure alerts based on your app\u2019s requirements.<\/li>\n<li>Allows for SQL Capture which is the monitoring of SQL queries sent over the network or to a local database server.<\/li>\n<li>Responsive UI to view time taken for each transaction, which is aggregated over time with percentile chart for response time.<\/li>\n<\/ul>\n<p><strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Glowroot <\/strong>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <strong>Glowroot with Cassandra API<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-3524 size-medium\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/before-255x300.png\" alt=\"Glowroot without Azure Cosmos DB Cassandra API\" width=\"255\" height=\"300\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/before-255x300.png 255w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/before.png 396w\" sizes=\"(max-width: 255px) 100vw, 255px\" \/>\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <img decoding=\"async\" class=\"alignnone wp-image-3523 size-medium\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/after-1-e1634852376283-293x300.png\" alt=\"Glowroot with Azure Cosmos DB Cassandra API\" width=\"293\" height=\"300\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/after-1-e1634852376283-293x300.png 293w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/after-1-e1634852376283-24x24.png 24w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/after-1-e1634852376283-48x48.png 48w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/after-1-e1634852376283.png 474w\" sizes=\"(max-width: 293px) 100vw, 293px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Metrics Captured<\/strong><\/p>\n<p>Some of the top metrics captured are:<\/p>\n<ol>\n<li>The APIs (Application Programming Interfaces) average response time taken.<\/li>\n<li>The applications Memory\/CPU usage.<\/li>\n<li>Error details which help gather root causes that affect the applications performance.<\/li>\n<\/ol>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/glowrootInterface.png\"><img decoding=\"async\" class=\"alignnone wp-image-3540 size-full\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/glowrootInterface.png\" alt=\"Image Glowroot user interface\" width=\"617\" height=\"349\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/glowrootInterface.png 617w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2021\/12\/glowrootInterface-300x170.png 300w\" sizes=\"(max-width: 617px) 100vw, 617px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><b><span data-contrast=\"auto\">Azure Cosmos DB Cassandra API New Features<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The Azure Cosmos DB Cassandra API has added three new features, lightweight transactions, named indexes, and truncate that will help support Glowroot.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Named Indexes<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This is\u00a0defining a\u00a0new\u00a0index with<\/span>\u00a0a name\u00a0o<span data-contrast=\"auto\">n a single column. For columns with existing data, Cassandra can index the data during the statement execution. <\/span><span data-contrast=\"auto\">Once the index has been created, during data insertion, Cassandra automatically indexes the data.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint\">CREATE TABLE company.employees ( \r\n     alias text, \r\n     firstName text, \r\n     lastName text, \r\n     email text, \r\n     homeAddress text, \r\n     zip int, \r\n     state text, \r\n     PRIMARY KEY (userID) \r\n );<\/pre>\n<p><span class=\"TextRun SCXW202127595 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW202127595 BCX8\">Index creation using a name example<\/span><\/span><\/p>\n<pre class=\"prettyprint\">CREATE\u00a0INDEX\u00a0user_alias ON\u00a0company.employees\u00a0(alias);<\/pre>\n<p><span class=\"TextRun SCXW132019709 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132019709 BCX8\">Index creation without a name example<\/span><\/span><span class=\"EOP SCXW132019709 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<pre class=\"prettyprint\">CREATE INDEX ON company.employees (alias);<\/pre>\n<p><b><span data-contrast=\"auto\">Truncate<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Using the TRUNCATE command\u00a0to\u00a0permanently delete all the rows of a table. The table structure remains but\u00a0all\u00a0the data has been deleted.\u00a0Currently,\u00a0truncate\u00a0is in private preview. Please reach out to\u00a0<\/span><a href=\"mailto:previewcassandraapi@microsoft.com\"><span data-contrast=\"none\">Azure Cassandra API\u00a0team<\/span><\/a><span data-contrast=\"auto\">, if you would like to have this enabled on your account. Truncate command can be called as TRUNCATE or TRUNCATE TABLE.<\/span><\/p>\n<pre class=\"prettyprint\">TRUNCATE\u00a0TABLE\u00a0company.employees;\u00a0\r\n\r\nTRUNCATE\u00a0company.employees;<\/pre>\n<pre class=\"prettyprint\">cqlsh:tp&gt; select * from\u00a0company.employees;\u00a0\r\n\r\nalias\u00a0|\u00a0firstName\u00a0|\u00a0lastName\u00a0| email|\u00a0homeAddress\u00a0|\u00a0zip\u00a0| state\u00a0\r\n------+---------+----------+------+-----------+-----+------\u00a0\r\n\r\n(0 rows)\r\n\r\n<\/pre>\n<p><b><span data-contrast=\"auto\">Light Weight\u00a0Transaction (LWT)<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Cassandra API already supports LWT, now we support other conditions DELETE and UPDATE conditions. LWT is useful for performance for cases where you require a read-before-write.<\/span><\/p>\n<pre class=\"prettyprint\">INSERT INTO company.employees (alias, email)  \r\nVALUES ('Nancy', 'Nancy@outlook.com') \r\nIF NOT EXISTS; \r\n\r\n<\/pre>\n<p><b><span data-contrast=\"auto\">Getting Started<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li><span data-contrast=\"auto\">Overview of\u00a0<\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cosmos-db\/cassandra\/cassandra-introduction\"><span data-contrast=\"none\">Azure Cosmos\u00a0DB\u00a0Cassandra API<\/span><\/a><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0a7\" data-font=\"Wingdings\" data-listid=\"10\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><a href=\"https:\/\/docs.microsoft.com\/azure\/cosmos-db\/cassandra\/glowroot-cassandra\"><span data-contrast=\"auto\">Run Glowroot on Azure Cosmos DB Cassandra API<\/span><\/a><\/li>\n<\/ul>\n<p><code><\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are excited to announce that Azure Cosmos DB now has GA support for Glowroot for its Cassandra API. This allows users of Azure Cosmos DB\u2019s Cassandra API to get all the benefits of using Glowroot. While for Glowroot users an additional benefit of having fully managed Azure Cosmos DB Cassandra API.<\/p>\n","protected":false},"author":72078,"featured_media":3618,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[12,16],"tags":[1795],"class_list":["post-3513","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","category-cassandra-api","tag-glowroot"],"acf":[],"blog_post_summary":"<p>We are excited to announce that Azure Cosmos DB now has GA support for Glowroot for its Cassandra API. This allows users of Azure Cosmos DB\u2019s Cassandra API to get all the benefits of using Glowroot. While for Glowroot users an additional benefit of having fully managed Azure Cosmos DB Cassandra API.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/3513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/users\/72078"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=3513"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/3513\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/3618"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=3513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=3513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=3513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}