yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News

2008 West
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
Red Hat
The Opening of Virtualization
User Environment Management – The Third Layer of the Desktop
Cloud Computing for Business Agility
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Return on Assests: Bringing Visibility to your SOA Strategy
Managing Hybrid Endpoint Environments
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
How Can AJAX Improve Homeland Security?
Beyond Widgets: What a RIA Platform Should Offer
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
Top Links You Must Click On

DevOps Role in Troubleshooting JVM Issues | @DevOpsSummit [#DevOps]
Application developers can deploy their applications with success in a staging or QA environment

The JVM issues vary from Java OutOfMemory Error to JVM Crash. Application developers might be not completely equipped to determine the root cause of the issue, hence DevOps can play a vital role in narrowing down the issue and connecting the right people/team to rectify the problem.

Application developers can deploy their applications with success in a staging or QA environment and broadcast that the application is working fine. However, the staging or QA environment is not completely identical with production at - least with respect to load. Due to huge load, the application can behave differently. In order to prevent an occurrence of these kinds of scenarios, it is a good practice to engage a DevOps team [with right JVM skills] to proactively analyze the running application. Proactive engagement of a DevOps team will be beneficial for the organization and for the development team as well.

As a proactive engagement, the DevOps team needs to conduct an analysis on the collected memory snapshot.The memory snapshot can be gathered at regular intervals time and multiple samples of the same, so that a good picture of what is happening internally is known.

By employing appropriate JVM diagnostics tools, the DevOps team can provide recommendations to application developers with respect to memory consumption, memory reserved or memory wasted in Java collections.The topmost consumer of Java Heap memory, classes loaded, object promotion rate,object liveness, object references and many more details can be shared with application developers proactively. These in-depth details will provide application developers with insight into the application behavior and help identify any potential issues.

Apart from conducting memory-related analysis, the DevOps team can look into the performance of the application and determine the root cause of the degraded performance (if any). With regard to this, employing the right tool and conducting analysis on Garbage Collection activities will reveal whether the poor performance is due to GC or outside of the GC. The Memory Analyzer tool, which is available as a plugin to Eclipse, can be employed to conduct memory-related analysis and gather enough information. In the same pattern, the plugin " Garbage Collection Memory Visualizer" can be employed to conduct analysis on verbose GC data.

As a case study I would like to share one of the scenarios that we encountered in our organization and how we isolated the issue before engaging the right team to fix it. One of our customers upgraded to the latest application release from a previous release and noticed a significant performance degradation in the throughput. As a first step, we confirmed the customer's claim by reproducing the reported issue in our environment. Having a local reproduction environment provided us with various opportunities to try out various things when narrowing down the issue. After the first level of analysis, we confirmed the area or component that was contributing to the observed behavior and a command-line parameter was recommended to workaround the issue.The provided recommendation was tested in our local reproduction environment with success and this gave us the confidence that the  issue can be overcome with the current recommendation.

On further analysis, we engaged the appropriate tool to determine the percentage of time consumed and captured the snapshots with the latest release and the previous release where the issue was not noticed.This level of analysis revealed the exact area where more time was spent. Once these snapshots were shared with the development team, the development team's task was much easier as the area of code was already narrowed down for fixing.This way, we isolated the issue and helped the customer overcome the problem.

About ChandraShekar Dattatreya
Chandra Shekara Dattatreya is a DevOps guy working in a Fortune-500 company and has 10+ years' of experience debugging JVM-related issues. In the course of debugging, he has encountered multiple scenarios from various customers and provided solutions to all of them with success. In his current role, he is engaged in identifying and resolving JVM-related issues for an e-commerce company.

Enterprise Open Source Magazine Latest Stories . . .
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one lo...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX...
One problem that all developers and companies struggle with is trying to decide if they should "build it" or "buy it". Software developers love to build things. That is what we do! Their natural reaction tends to lean towards building things. We are also always up for a new challenge. ...
MongoDB, an open-source document store and most popular NoSQL database on the market today, offers a variety of advanced features to administer security over your MongoDB deployments. In this tutorial post, we’re going to show you how to set up role-based access control (RBAC) to manag...
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation ...
First, let's outline a frame of reference for multithreading and why we may need to use a thread pool. A thread is an execution context that can run a set of instructions within a process - aka a running program. Multithreaded programming refers to using threads to execute multiple ta...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)!

Advertise on this site! Contact advertising(at)! 201 802-3021

SYS-CON Featured Whitepapers