Welcome!

Java IoT Authors: Elizabeth White, Greg Schulz, Liz McMillan, Bob Gourley, Antonella Corno

Related Topics: Java IoT

Java IoT: Blog Feed Post

Application Monitoring with JConsole, VisualVM and AppDynamics Lite

IT Ops monitor the infrastructure that applications run on, but they lack visibility of how applications actually work

What happens when mission-critical Java applications slow down or keep crashing in production? The vast majority of IT Operations (Ops) today bury their heads in log files. Why? because that's what they’ve been doing since IBM invented the mainframe. Diving into the weeds feels good, everyone feels productive looking at log entries, hoping that one will eventually explain the unexplainable. IT Ops may also look at system and network metrics which tell them how server resource and network bandwidth is being consumed. Again, looking at lots of metrics feels good but what is causing those server and network metrics to change in the first place? Answer: the application.

IT Ops monitor the infrastructure that applications run on, but they lack visibility of how applications actually work and utilize the infrastructure. To get this visibility, Ops must monitor the application run-time. A quick way to get started is to use the free tools that come with the application run-time. In the case of Java applications, both JConsole and VisualVM ship with the standard SDK and have proved popular choices for monitoring Java applications. When we built AppDynamics Lite we felt their was a void of free application monitoring solutions for IT Ops, the market had plenty of tools aimed at developers but many were just too verbose and intrusive for IT Ops to use in production. If we take a look at how JConsole, VisualVM and AppDynamics Lite compare, we’ll see just how different free application monitoring solutions can be.

Monitoring with JConsole:

JConsole provides basic monitoring of the JVM run-time along with key resources such as CPU, memory and threads.  It consists of several tabs that summarize the health of JVM memory, threads, classes, virtual machine and MBeans which are exposed via the standard JMX console. JConsole can dynamically attach to any JVM and will collect data as long as the tool is open and connected to the JVM. It’s fairly good for inspecting the mechanics of a JVM at a high level so you can identify issues such as potential memory leaks, high thread concurrency and deadlock. The MBean viewer also allows the user to report hundreds of KPI metrics in real-time to check which JVM resources are being exhausted by the application. Unfortunately Oracle recommends that JConsole only be deployed in dev and test environments due to the overhead it can introduce on the application. The UI is both simple and easy to navigate but lacks application context with respect to the user requests and transactions that execute within the JVM. For example, if a user complains that their checkout transaction is slow, the JConsole user has no way of correlating or troubleshooting this activity.

Here are a few screenshots of JConsole in action:

Monitor JVM Resource Utilization

Trend memory heap usage over-time:

Monitor thread concurrency

Monitor MBeans in real-time

Monitoring with VisualVM:

VisualVM is also free and ships with the Java SDK. Its a bit like JConsole but with better lipstick and more advanced monitoring features. VisualVM takes application monitoring one level deeper than JConsole by allowing the user to analyze thread execution as well as the ability to profile CPU and memory usage of JVM requests, both of which are triggered manually by the user. VisualVM also has a nice tab showing memory pool and garbage collection activity to spot abnormal trends. From a usability perspective its perfect for a developer although I’m not sure how suitable it would be for IT Ops given the profiling features and data are fairly low level, verbose and provide little context of application requests or user transactions. Users with deep application knowledge could probably piece together which Java components related to user requests otherwise transactions are not immediately obvious to the user. Like JConsole overhead can be an issue in production when features like CPU and memory profiler are triggered by the user. It’s still a great tool for development and test use cases given it costs nothing.

Here are a few screenshots of VisualVM in action:

Monitor JVM Resource Utilization

Trigger CPU and Memory Profiling

View Memory Pools and Garbage Collection

Monitoring with AppDynamics Lite:

AppDynamics Lite is another free tool that takes a slightly different approach to application monitoring. Its start at a more high level and visualizes the monitored JVM, and its infrastructure interactions. Users get to see the top business transactions that flow through the JVM, creating a level of abstraction from just analyzing raw threads and JVM metrics. It’s a top down approach to monitoring as opposed to bottom up which means IT Ops and developers see the real business impact before they drill down and analyze data. From a slow business transaction the user can drill down into the actual code execution to pinpoint the exact class, method and interface which was responsible for the bottleneck. So instead of analyzing metrics holistically from different perspectives the user can troubleshoot using a business transaction as an anchor all the way down to the root cause. Lite also has real-time MBean trending and also comes with alerting capabilities so users can be pro-active to monitor application performance. The best bit of AppDynamics Lite is that it can run in production 24/7 so IT Ops don’t have to worry about overhead and issues can be resolved quickly.

Here are a few screenshots of AppDynamics Lite in action:

Monitor Application Flow and Business Transaction Health

Business Transaction volume, throughput, errors and SLA health

Drill Down on any Business Transaction to see its Code Execution Stack with timing

Monitor MBean & JMX metrics in real-time

Configure Alerts to pro-actively manage application performance

Here is a quick summary of how JConsole, VisualVM and AppDynamics Lite Compare:

Conclusion:

JConsole, VisualVM and AppDynamics Lite are just a few examples of free application performance monitoring solutions on the market. They have common features but differ in how they monitor, collect and present data. The value of these tools therefore vary depending on the user, use case and environment they are intended for. Developers generally want a bottom up view with lots of data to analyze whilst IT Ops want a more structured top down approach so they can troubleshoot and maintain context without getting lost in the weeds. Overhead can also vary across toolsets so remember to take care when monitoring your application in production.

If you’re looking for a cheap and easy way to get started with application monitoring then you should check out these three solutions. They are completely free, easy to install and may give you the visibility you need to fix your application issues. AppDynamics also has a Pro Edition for organizations that require deeper visibility into their mission critical applications, again its free to trial for 30 days (which is how it should be). We really believe in try before you buy, we also believe that some organizations may not have immediate budget for application monitoring which is why we created AppDynamics Lite!

App Man.

Read the original blog entry...

More Stories By Jyoti Bansal

In high-production environments where release cycles are measured in hours or minutes — not days or weeks — there's little room for mistakes and no room for confusion. Everyone has to understand what's happening, in real time, and have the means to do whatever is necessary to keep applications up and running optimally.

DevOps is a high-stakes world, but done well, it delivers the agility and performance to significantly impact business competitiveness.

@ThingsExpo Stories
"Matrix is an ambitious open standard and implementation that's set up to break down the fragmentation problems that exist in IP messaging and VoIP communication," explained John Woolf, Technical Evangelist at Matrix, in this SYS-CON.tv interview at @ThingsExpo, held Nov 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA.
"A lot of times people will come to us and have a very diverse set of requirements or very customized need and we'll help them to implement it in a fashion that you can't just buy off of the shelf," explained Nick Rose, CTO of Enzu, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From ...
Web Real-Time Communication APIs have quickly revolutionized what browsers are capable of. In addition to video and audio streams, we can now bi-directionally send arbitrary data over WebRTC's PeerConnection Data Channels. With the advent of Progressive Web Apps and new hardware APIs such as WebBluetooh and WebUSB, we can finally enable users to stitch together the Internet of Things directly from their browsers while communicating privately and securely in a decentralized way.
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm.
You think you know what’s in your data. But do you? Most organizations are now aware of the business intelligence represented by their data. Data science stands to take this to a level you never thought of – literally. The techniques of data science, when used with the capabilities of Big Data technologies, can make connections you had not yet imagined, helping you discover new insights and ask new questions of your data. In his session at @ThingsExpo, Sarbjit Sarkaria, data science team lead ...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and sh...
Big Data, cloud, analytics, contextual information, wearable tech, sensors, mobility, and WebRTC: together, these advances have created a perfect storm of technologies that are disrupting and transforming classic communications models and ecosystems. In his session at @ThingsExpo, Erik Perotti, Senior Manager of New Ventures on Plantronics’ Innovation team, provided an overview of this technological shift, including associated business and consumer communications impacts, and opportunities it m...
WebRTC is about the data channel as much as about video and audio conferencing. However, basically all commercial WebRTC applications have been built with a focus on audio and video. The handling of “data” has been limited to text chat and file download – all other data sharing seems to end with screensharing. What is holding back a more intensive use of peer-to-peer data? In her session at @ThingsExpo, Dr Silvia Pfeiffer, WebRTC Applications Team Lead at National ICT Australia, looked at differ...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
SYS-CON Events announced today that IoT Now has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. IoT Now explores the evolving opportunities and challenges facing CSPs, and it passes on some lessons learned from those who have taken the first steps in next-gen IoT services.
SYS-CON Events announced today that WineSOFT will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Based in Seoul and Irvine, WineSOFT is an innovative software house focusing on internet infrastructure solutions. The venture started as a bootstrap start-up in 2010 by focusing on making the internet faster and more powerful. WineSOFT’s knowledge is based on the expertise of TCP/IP, VPN, SSL, peer-to-peer, mob...
The Internet of Things can drive efficiency for airlines and airports. In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect with GE, and Sudip Majumder, senior director of development at Oracle, discussed the technical details of the connected airline baggage and related social media solutions. These IoT applications will enhance travelers' journey experience and drive efficiency for the airlines and the airports.
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
WebRTC sits at the intersection between VoIP and the Web. As such, it poses some interesting challenges for those developing services on top of it, but also for those who need to test and monitor these services. In his session at WebRTC Summit, Tsahi Levent-Levi, co-founder of testRTC, reviewed the various challenges posed by WebRTC when it comes to testing and monitoring and on ways to overcome them.
In his session at @ThingsExpo, Steve Wilkes, CTO and founder of Striim, will delve into four enterprise-scale, business-critical case studies where streaming analytics serves as the key to enabling real-time data integration and right-time insights in hybrid cloud, IoT, and fog computing environments. As part of this discussion, he will also present a demo based on its partnership with Fujitsu, highlighting their technologies in a healthcare IoT use-case. The demo showcases the tracking of patie...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settle...
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
SYS-CON Events announced today that Cloud Academy will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud computing technologies. Ge...