{"id":14258,"date":"2017-10-27T09:10:33","date_gmt":"2017-10-27T14:10:33","guid":{"rendered":"https:\/\/stackify.com\/?p=14258"},"modified":"2024-04-10T05:50:01","modified_gmt":"2024-04-10T05:50:01","slug":"java-application-metrics","status":"publish","type":"post","link":"https:\/\/stackify.com\/java-application-metrics\/","title":{"rendered":"How To Track and Monitor Critical Java Application Metrics"},"content":{"rendered":"<h2>Overview of Java application metrics<\/h2>\n<p>Monitoring a running application is crucial for visibility and making sure the system is functioning as expected, as well as to identify any potential issues, tweak and optimize the running conditions, and resolve any errors that may occur.<\/p>\n<p>This is where <a href=\"https:\/\/stackify.com\/what-is-apm\/\">Application Performance Monitoring<\/a> (APM) tools can make your life a whole lot easier by recording information about the execution of your application and displaying it in a helpful and actionable format.<\/p>\n<p>I&#8217;ll walk you through examples of the following metrics:<\/p>\n<ul>\n<li><strong>Response Time<\/strong><\/li>\n<li><strong>Request Throughput<\/strong><\/li>\n<li><strong>Errors<\/strong><\/li>\n<li><strong>Logs<\/strong><\/li>\n<li><strong>Other Performance Metrics<\/strong><\/li>\n<\/ul>\n<h3><strong>Response Time<\/strong><\/h3>\n<p>The response time of an application represents the average time your application takes to process requests and return a result.<\/p>\n<p>If your system takes too long to respond, this will lead to low user satisfaction. Additionally, monitoring the response time can help uncover errors in the code.<\/p>\n<p>The Retrace <em>Performance<\/em> tab shows average response time of each HTTP request, along with number of hits and satisfaction rate:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14243 size-full\" title=\"Application Response time\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh3-googleusercontent-com-8bkbd1ere3cgb3c.png\" alt=\"The Retrace Performance tab shows average response time of each HTTP request, along with number of hits and satisfaction rate\" width=\"873\" height=\"223\"><\/p>\n<p>Here you\u2019ll notice the login endpoint takes the majority of total request time with only 6 hits. Comparatively, the <em>doGet<\/em> endpoint is the fastest and most frequently accessed.<\/p>\n<p>Nevertheless, all the requests have an average time of less that 0.5 seconds, which means they are fairly fast.<\/p>\n<p>The default threshold under which <a href=\"https:\/\/stackify.com\/retrace\/\">Retrace<\/a> will mark requests as fast is 2 seconds. You can modify this according to your requirements for more informative graphs.<\/p>\n<p>What\u2019s more, you can find a performance breakdown for each request, to get to the root of any lags. Let\u2019s take a look at a more detailed view of the behind the scenes for the <em>\/j_spring_security_check<\/em> request:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14244\" title=\"Application Performance Breakdown by Request\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh3-googleusercontent-com-hqb8ejatdr5-lg4i.png\" alt=\"This list of actions shows the average time for each step of the login request.\" width=\"768\" height=\"376\"><\/p>\n<p>Learn more:&nbsp;<a href=\"https:\/\/stackify.com\/spring-security-java-configuration\/\">Hit the Ground Running with the Spring Security Java Configuration<\/a><\/p>\n<p>This list of actions shows the average time for each step of the login request.<\/p>\n<p>Since this is a critical action for using the application, let\u2019s set up a dedicated monitor for it by marking it as a \u201c<a href=\"https:\/\/stackify.com\/web-transaction-monitoring\/\">key transaction<\/a>\u201d in Retrace.<\/p>\n<p>This will result in creating a table on the <em>Monitoring<\/em> tab that contains information solely regarding the login request:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14245\" title=\"Key Transaction in Retrace\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh5-googleusercontent-com-ze14z4jqania9gi9.png\" alt=\"This will result in creating a table on the Monitoring tab that contains information solely regarding the login request\" width=\"768\" height=\"213\"><\/p>\n<p>At the last update, the <em>login<\/em> endpoint was called 3 times and took 0.2 seconds on average. The satisfaction rate was 100%, which equals a 0% error rate.<\/p>\n<p>In addition to average response time for a type of request, another metric of interest is response time and result of each individual request.<\/p>\n<p>You\u2019ll find these in the <em>Traces<\/em> tab:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14246\" title=\"Retrace Traces tab\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh6-googleusercontent-com-qsa1nnwckptu2kei.png\" alt=\"This list also shows the response status of each request performed. In this case, one of the requests resulted in a 404 response, which did not register as an error.\" width=\"1600\" height=\"202\"><\/p>\n<p>This list also shows the response status of each request performed. In this case, one of the requests resulted in a 404 response, which did not register as an error.<\/p>\n<h3><strong>Request Throughput<\/strong><\/h3>\n<p>Another metric that highlights the performance of an application is request throughput. This represents the number of requests that the JVM can handle for a certain unit of time.<\/p>\n<p>Knowing this data can help you tune your memory, disk size, and application code according to the number of users you aim to support.<\/p>\n<p>Retrace provides a graph that maps the number of requests per minute. These are highlighted according to speed and success:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14247 size-large\" title=\"Retrace Request Throughput\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh5-googleusercontent-com-ap3v7f7nejuiwz3d-1024x123.png\" alt=\"Retrace provides a graph that maps the number of requests per minute. These are highlighted according to speed and success:\" width=\"1024\" height=\"123\"><\/p>\n<p>You can find more details by choosing a specific time. For example, the highest point at 15:11 shows there have been a total of 79 requests in the last 10 minutes. Out of these, 79 were fast:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14248 size-full\" title=\"Retrace Request\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh4-googleusercontent-com-2gksqhmbnjhvdz9n.png\" alt=\"the highest point at 15:11 shows there have been a total of 79 requests in the last 10 minutes. Out of these, 79 were fast\" width=\"178\" height=\"131\"><\/p>\n<h3><strong>SQL Queries<\/strong><\/h3>\n<p>Next to monitoring the response time per request, you can verify the same per SQL query for the requests that involve accessing a database.<\/p>\n<p>Working with a database can be an intensive process. That\u2019s why it\u2019s important to ensure there are no performance bottlenecks hiding at the database level.<\/p>\n<p>Retrace automatically monitors SQL queries similarly to HTTP requests:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14249 size-full\" title=\"Retrace SQL Queries\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh6-googleusercontent-com-y3-oszswupx4iyuh.png\" alt=\"In the above image, each database command generated by the application is displayed in a simplified form. Alongside is the number of calls and average time per query.\" width=\"881\" height=\"224\"><\/p>\n<p>In the above image, each database command generated by the application is displayed in a simplified form. Alongside is the number of calls and average time per query.<\/p>\n<p>This way, you can find out which database calls are the most common, and which take a longer time.<\/p>\n<p>By selecting each query, you\u2019ll be able to view the plain SQL command. Next to it is a list of all the HTTP requests that required the database call. This correlation shows how the query impacted the HTTP request.<\/p>\n<h3><strong>Errors<\/strong><\/h3>\n<p>Next to performance metrics, of course, it\u2019s crucial to directly keep <a href=\"https:\/\/stackify.com\/error-monitoring\/\">track of the errors that occur<\/a>.<\/p>\n<p>The Retrace <em>Dashboard<\/em> provides an <em>Errors<\/em> section where you can find a list of errors during a selected period of time:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14250 size-large\" title=\"Retrace dashboard Errors \" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh3-googleusercontent-com-f7m5-rbyton86gsr-1024x267.png\" alt=\"For each of these, you\u2019ll be able to view the full stack trace, plus other helpful data like the exact time of the error, the log generated by the error, other occurrences of it and a list of similar errors.\" width=\"1024\" height=\"267\"><\/p>\n<p>For each of these, you\u2019ll be able to view the full stack trace, plus other helpful data like the exact time of the error, the log generated by the error, other occurrences of it and a list of similar errors.<\/p>\n<p>All this information is meant to provide clues into finding the root cause and fixing the issue. Having this data easily available through Retrace can greatly cut down on the time spent resolving problems.<\/p>\n<h3><strong>Logs<\/strong><\/h3>\n<p>Each application will very likely use a logging framework to record information about what happens during its execution.<\/p>\n<p>This is very useful for both auditing purposes and helping track down the cause of any issues.<\/p>\n<p>For that reason, you should also <a href=\"https:\/\/stackify.com\/log-management\/\">monitor your application\u2019s logs<\/a> using a log viewer such as the one Retrace provides:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14251 size-full\" title=\"Retrace Logs\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh3-googleusercontent-com-35c1bau41sm9cm3i.png\" alt=\" search through the log or filter the statements according to the log level, host, environment or application that generated it.\" width=\"747\" height=\"165\"><\/p>\n<p>The advantage of using a tool instead of directly reading the log is that you can also search through the log or filter the statements according to the log level, host, environment or application that generated it.<\/p>\n<h3><strong>Other Performance Metrics<\/strong><\/h3>\n<p>An APM tool like Retrace can also present aggregated metrics that show a high-level view of your application.<\/p>\n<p>One such metric is overall system health:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14252 size-full\" title=\"App Performance Metrics - App Health\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh5-googleusercontent-com-sve0ay36keb30at5.png\" alt=\"This shows the rate of user satisfaction compared to the rate of HTTP errors.\" width=\"300\" height=\"86\"><\/p>\n<p>This shows the rate of user satisfaction compared to the rate of <a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_HTTP_status_codes\">HTTP errors<\/a>.<\/p>\n<p>On the <em>Performance<\/em> tab, you\u2019ll find a breakdown of the requests based on the type of application resource they use:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14253 size-large\" title=\"Breakdown of requests based on app resources\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh5-googleusercontent-com-oe-iaqlf8mmxnxiy-1024x149.png\" alt=\"For the example Reddit scheduling application, the Breakdown graph shows the servlet and Spring containers processing the requests for the largest time of their duration.\" width=\"1024\" height=\"149\"><\/p>\n<p>For the example Reddit scheduling application, the <em>Breakdown<\/em> graph shows the servlet and Spring containers processing the requests for the largest time of their duration.<\/p>\n<p>A metric specific to the tool you\u2019re using is the number of alerts your application has generated:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-14254 size-full\" title=\"Number of alerts app has generated\" src=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/https-lh4-googleusercontent-com-2iq8zqys_fpcdg57.png\" alt=\"This shows there have been 2 alerts of severity Warning and one alert with a Critical level.\" width=\"547\" height=\"181\"><\/p>\n<p>This shows there have been 2 alerts of severity <em>Warning<\/em> and one alert with a <em>Critical<\/em> level.<\/p>\n<p>If your application uses any external web services, Retrace also records these in the <em>Performance<\/em> tab. For each of these, the tool will record data regarding the time of the call and its response time.<\/p>\n<p>Finally, Retrace also supports defining and adding your own <a href=\"https:\/\/stackify.com\/use-custom-application-metrics\/\">custom metrics<\/a>.<\/p>\n<p>Above all, an APM tool is a must-have for the success of your application. Get started with a<a href=\"https:\/\/s1.stackify.com\/account\/createclient\/\"> free trial<\/a> of Retrace. Learn how to start improving your<a href=\"https:\/\/docs.stackify.com\/v1\/docs\/java-getting-started\"> Java applications <\/a>today.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview of Java application metrics Monitoring a running application is crucial for visibility and making sure the system is functioning as expected, as well as to identify any potential issues, tweak and optimize the running conditions, and resolve any errors that may occur. This is where Application Performance Monitoring (APM) tools can make your life [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":38109,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7,11],"tags":[28,50,40,26],"class_list":["post-14258","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developers","category-stackify","tag-apm","tag-error-tracking","tag-java","tag-logging"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v25.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How To Track and Monitor Critical Java Metrics- Stackify<\/title>\n<meta name=\"description\" content=\"Monitoring a running application is crucial for visibility and making sure the system is functioning as expected.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/stackify.com\/java-application-metrics\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How To Track and Monitor Critical Java Metrics- Stackify\" \/>\n<meta property=\"og:description\" content=\"Monitoring a running application is crucial for visibility and making sure the system is functioning as expected.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stackify.com\/java-application-metrics\/\" \/>\n<meta property=\"og:site_name\" content=\"Stackify\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Stackify\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-10-27T14:10:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-10T05:50:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"881\" \/>\n\t<meta property=\"og:image:height\" content=\"441\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Eugen Paraschiv\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@stackify\" \/>\n<meta name=\"twitter:site\" content=\"@stackify\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eugen Paraschiv\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/stackify.com\/java-application-metrics\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/stackify.com\/java-application-metrics\/\"},\"author\":{\"name\":\"Eugen Paraschiv\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/e372b6a6f64edbedafad33027d518482\"},\"headline\":\"How To Track and Monitor Critical Java Application Metrics\",\"datePublished\":\"2017-10-27T14:10:33+00:00\",\"dateModified\":\"2024-04-10T05:50:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/stackify.com\/java-application-metrics\/\"},\"wordCount\":1111,\"publisher\":{\"@id\":\"https:\/\/stackify.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/java-application-metrics\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png\",\"keywords\":[\"apm\",\"error tracking\",\"Java\",\"logging\"],\"articleSection\":[\"Developer Tips, Tricks &amp; Resources\",\"Stackify Product &amp; Company Updates\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/stackify.com\/java-application-metrics\/\",\"url\":\"https:\/\/stackify.com\/java-application-metrics\/\",\"name\":\"How To Track and Monitor Critical Java Metrics- Stackify\",\"isPartOf\":{\"@id\":\"https:\/\/stackify.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/stackify.com\/java-application-metrics\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/java-application-metrics\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png\",\"datePublished\":\"2017-10-27T14:10:33+00:00\",\"dateModified\":\"2024-04-10T05:50:01+00:00\",\"description\":\"Monitoring a running application is crucial for visibility and making sure the system is functioning as expected.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/stackify.com\/java-application-metrics\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/java-application-metrics\/#primaryimage\",\"url\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png\",\"contentUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png\",\"width\":881,\"height\":441},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/stackify.com\/#website\",\"url\":\"https:\/\/stackify.com\/\",\"name\":\"Stackify\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/stackify.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/stackify.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/stackify.com\/#organization\",\"name\":\"Stackify\",\"url\":\"https:\/\/stackify.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png\",\"contentUrl\":\"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png\",\"width\":1377,\"height\":430,\"caption\":\"Stackify\"},\"image\":{\"@id\":\"https:\/\/stackify.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Stackify\/\",\"https:\/\/x.com\/stackify\",\"https:\/\/www.instagram.com\/stackify\/\",\"https:\/\/www.linkedin.com\/company\/2596184\",\"https:\/\/www.youtube.com\/stackify\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/e372b6a6f64edbedafad33027d518482\",\"name\":\"Eugen Paraschiv\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stackify.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0c0bb39bd24aea78b56c6516a3e7dcab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0c0bb39bd24aea78b56c6516a3e7dcab?s=96&d=mm&r=g\",\"caption\":\"Eugen Paraschiv\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How To Track and Monitor Critical Java Metrics- Stackify","description":"Monitoring a running application is crucial for visibility and making sure the system is functioning as expected.","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:\/\/stackify.com\/java-application-metrics\/","og_locale":"en_US","og_type":"article","og_title":"How To Track and Monitor Critical Java Metrics- Stackify","og_description":"Monitoring a running application is crucial for visibility and making sure the system is functioning as expected.","og_url":"https:\/\/stackify.com\/java-application-metrics\/","og_site_name":"Stackify","article_publisher":"https:\/\/www.facebook.com\/Stackify\/","article_published_time":"2017-10-27T14:10:33+00:00","article_modified_time":"2024-04-10T05:50:01+00:00","og_image":[{"width":881,"height":441,"url":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png","type":"image\/png"}],"author":"Eugen Paraschiv","twitter_card":"summary_large_image","twitter_creator":"@stackify","twitter_site":"@stackify","twitter_misc":{"Written by":"Eugen Paraschiv","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/stackify.com\/java-application-metrics\/#article","isPartOf":{"@id":"https:\/\/stackify.com\/java-application-metrics\/"},"author":{"name":"Eugen Paraschiv","@id":"https:\/\/stackify.com\/#\/schema\/person\/e372b6a6f64edbedafad33027d518482"},"headline":"How To Track and Monitor Critical Java Application Metrics","datePublished":"2017-10-27T14:10:33+00:00","dateModified":"2024-04-10T05:50:01+00:00","mainEntityOfPage":{"@id":"https:\/\/stackify.com\/java-application-metrics\/"},"wordCount":1111,"publisher":{"@id":"https:\/\/stackify.com\/#organization"},"image":{"@id":"https:\/\/stackify.com\/java-application-metrics\/#primaryimage"},"thumbnailUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png","keywords":["apm","error tracking","Java","logging"],"articleSection":["Developer Tips, Tricks &amp; Resources","Stackify Product &amp; Company Updates"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/stackify.com\/java-application-metrics\/","url":"https:\/\/stackify.com\/java-application-metrics\/","name":"How To Track and Monitor Critical Java Metrics- Stackify","isPartOf":{"@id":"https:\/\/stackify.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/stackify.com\/java-application-metrics\/#primaryimage"},"image":{"@id":"https:\/\/stackify.com\/java-application-metrics\/#primaryimage"},"thumbnailUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png","datePublished":"2017-10-27T14:10:33+00:00","dateModified":"2024-04-10T05:50:01+00:00","description":"Monitoring a running application is crucial for visibility and making sure the system is functioning as expected.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stackify.com\/java-application-metrics\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/java-application-metrics\/#primaryimage","url":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png","contentUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2017\/10\/tracking-and-monitoring-java-applications-881x441-1.png","width":881,"height":441},{"@type":"WebSite","@id":"https:\/\/stackify.com\/#website","url":"https:\/\/stackify.com\/","name":"Stackify","description":"","publisher":{"@id":"https:\/\/stackify.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stackify.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/stackify.com\/#organization","name":"Stackify","url":"https:\/\/stackify.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/#\/schema\/logo\/image\/","url":"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png","contentUrl":"https:\/\/stackify.com\/wp-content\/uploads\/2024\/05\/logo-1.png","width":1377,"height":430,"caption":"Stackify"},"image":{"@id":"https:\/\/stackify.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Stackify\/","https:\/\/x.com\/stackify","https:\/\/www.instagram.com\/stackify\/","https:\/\/www.linkedin.com\/company\/2596184","https:\/\/www.youtube.com\/stackify"]},{"@type":"Person","@id":"https:\/\/stackify.com\/#\/schema\/person\/e372b6a6f64edbedafad33027d518482","name":"Eugen Paraschiv","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stackify.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0c0bb39bd24aea78b56c6516a3e7dcab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c0bb39bd24aea78b56c6516a3e7dcab?s=96&d=mm&r=g","caption":"Eugen Paraschiv"}}]}},"_links":{"self":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/14258"}],"collection":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/comments?post=14258"}],"version-history":[{"count":1,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/14258\/revisions"}],"predecessor-version":[{"id":38110,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/posts\/14258\/revisions\/38110"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/media\/38109"}],"wp:attachment":[{"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/media?parent=14258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/categories?post=14258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stackify.com\/wp-json\/wp\/v2\/tags?post=14258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}