{"id":1227,"date":"2019-02-15T16:51:50","date_gmt":"2019-02-15T07:51:50","guid":{"rendered":"https:\/\/jennifersoft.com\/en\/?p=1227"},"modified":"2019-07-16T11:49:57","modified_gmt":"2019-07-16T02:49:57","slug":"what-is-deployment-indicator","status":"publish","type":"post","link":"https:\/\/jennifersoft.com\/en\/blog\/tech\/what-is-deployment-indicator\/","title":{"rendered":"What is Deployment Indicator"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"> When a new version of the code is deployed in production, JENNIFER can&nbsp;<strong>automatically<\/strong>&nbsp;detect this change and display the changed resource in the deployment.&nbsp; A vertical line will be drawn on the Real-Time X-View. This line is referred to as the deployment indicator. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"475\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/dashboard_with_deployment-1024x475.png\" alt=\"\" class=\"wp-image-1230\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/dashboard_with_deployment-1024x475.png 1024w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/dashboard_with_deployment-300x139.png 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How To use&nbsp;Deployment Indicator<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The deployment indicator can be used to analyze pre and post-deployment issues as well as isolating or pinpoint the performance problem location. Since X-View visualizes all the transactions in Real-Time, adding the deploying indicator will make it easier to know if the new code is causing a problem or no.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let us consider the following scenario, a new version of the application is deployed, and shortly after performance issues starts to appear.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By examining JENNIFER Real-Time X-View, we can see that a deployment took place around&nbsp;<strong>2:17 pm.<\/strong>&nbsp;and a single WAR file was deployed as the number on top of the deployment indicator shows.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"918\" height=\"468\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/X-View.png\" alt=\"\" class=\"wp-image-1231\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/X-View.png 918w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/X-View-300x153.png 300w\" sizes=\"auto, (max-width: 918px) 100vw, 918px\" \/><figcaption><br><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Before the new code was deployment, the transactions distribution on X-View was normal and average response time as around 6 seconds. However, after the new code is deployed, we can see that the average response time increased to about 25 seconds, and several exceptions were occurring.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Interacting with the Deployment Indicator<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Double clicking on the deployment indicator will show the Source Code (resource) history pop-up window. This window contains additional details about the deployment such as Deployment Date\/Time, Agent, Deployed file(s) name as well size. Selecting a file from the deploy list will show the changed resources.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"545\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/real_time_changes-1024x545.png\" alt=\"\" class=\"wp-image-1232\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/real_time_changes-1024x545.png 1024w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/real_time_changes-300x160.png 300w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/real_time_changes.png 2020w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the previous image, we can see that&nbsp;<strong>inventory_manager.war&nbsp;<\/strong>&nbsp;was deployed to&nbsp;<strong>IHotel<\/strong>&nbsp;instance on the system. JENNIFER automatically detected that this deployed contains 2 new Java Classes:&nbsp;<strong>AppSetting<\/strong>&nbsp;and&nbsp;<strong>InvUtil<\/strong>&nbsp;as well as modified resources, the&nbsp;<strong>InventoryManager<\/strong>, along with their source code. This information can be extremely useful in pinpoint the root cause of the problem, comparing this information with X-View transaction and Events data, we can see that most errors were thrown from the InventoryManager and InvUtil.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Source Code (resource) History<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The source code (resources) history menu is located in the Analysis&nbsp;perspective of JENNIFER, you can use it&nbsp;to analyze all past deployment. This screen will allow you to search for deployment that took place in a specific month.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the following image, we can see that&nbsp;<strong>2 deployments<\/strong>&nbsp;took place on the<strong>&nbsp;5th of August 2018<\/strong>.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"529\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/history-1024x529.png\" alt=\"\" class=\"wp-image-1233\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/history-1024x529.png 1024w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/history-300x155.png 300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Source Code Difference<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">JENNIFER has the ability to show the difference in the source code compare to the previous deployment. In order to use this functionality, you will need to enable the&nbsp;<strong>Souce Code Diff Plugin<\/strong>. The plugin is already shipped with JENNIFER and the code of the plugin is available at our&nbsp;<a href=\"https:\/\/github.com\/jennifersoft\/jennifer-view-plugin-diff\" target=\"_blank\" rel=\"noreferrer noopener\">Github Repository<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To enable the plugin,<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Selectthe<strong>&nbsp;Adapter and Plugin<\/strong>&nbsp;menu item from the Management menu.<\/li><li>Then under the&nbsp;<strong>Labs<\/strong>&nbsp;Tab, click the [<strong>+Add<\/strong>] button to add the plugin.<\/li><li>Make sure the plugin&nbsp;<strong>Classifications<\/strong>&nbsp;is set to&nbsp;<strong>PAGE<\/strong>.<\/li><li>Click anywhere in the Path text field to display a list of available plugins.<\/li><li>Select &#8220;<strong>Source Code Comparision Popup<\/strong>&#8220;<\/li><li>Save the changes.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"463\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/CodeDiffPlugin-1024x463.png\" alt=\"\" class=\"wp-image-1234\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/CodeDiffPlugin-1024x463.png 1024w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/CodeDiffPlugin-300x136.png 300w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/CodeDiffPlugin.png 1578w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, restart the view server to apply the changes. After a restart, you should see the status of the plugin turned to green color.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now, if you head back to Souce code (resource) history page. You should be able to click on the &#8220;<strong>Compare Code<\/strong>&#8221;&nbsp;&nbsp;button.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you click on the compare code button, a pop up menu will appear showing the difference in code between the current deployment and the previous one.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"824\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/code_diff-1024x824.png\" alt=\"\" class=\"wp-image-1235\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/code_diff-1024x824.png 1024w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/code_diff-300x241.png 300w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/code_diff.png 2016w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Source Code (resource) History Configurations<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you are deploying a WAR file, then no configurations are required, JENNIFER will auto-detect those changes and keep track of them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additionally, you can configure JENNIFER to monitor a specific directory for changes. From the management screen menu, you can select the Source Code (resource) History menu to open the configuration screen.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"651\" src=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/deployment_settings-1024x651.png\" alt=\"\" class=\"wp-image-1236\" srcset=\"https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/deployment_settings-1024x651.png 1024w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/deployment_settings-300x191.png 300w, https:\/\/jennifersoft.com\/en\/wp-content\/uploads\/sites\/3\/2019\/02\/deployment_settings.png 1548w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Enter directory path you want JENNIFER to keep track of changes inside it. You can enter multiple directories separated by a line break (newline).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can specify the&nbsp;number of sub-directories to search within using the&nbsp;<strong>Maximum depth of directory search<\/strong>&nbsp;setting. For example, if you want to search within 3 sub-directories level deep only, you can set the value to 3. You can also select specific file types to keep track of by selecting the required file extensions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Still have problems? Use the&nbsp;<a href=\"https:\/\/edu.jennifersoft.com\/questions\">forum<\/a>&nbsp;to post your question or email&nbsp;<a href=\"mailto:support.ko@jennifersoft.com\">support.ko@jennifersoft.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"When a new version of the code is deployed in production, JENNIFER can&nbsp;automatically&nbsp;detect this change and display the changed resource&#8230;","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[78],"tags":[75],"class_list":["post-1227","post","type-post","status-publish","format-standard","hentry","category-tech","tag-tech-article"],"acf":[],"_links":{"self":[{"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/posts\/1227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/comments?post=1227"}],"version-history":[{"count":3,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/posts\/1227\/revisions"}],"predecessor-version":[{"id":1342,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/posts\/1227\/revisions\/1342"}],"wp:attachment":[{"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/media?parent=1227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/categories?post=1227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jennifersoft.com\/en\/wp-json\/wp\/v2\/tags?post=1227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}