yCrash app is a non-intrusive, secure, instant root cause analysis tool. It captures thread dump, heap dump, GC log, netstat, vmstat, top, and several more artifacts, right when the problem is happening in the production. It instantly analyzes all the artifacts & generates a root cause analysis report in the dashboard. Watch this below video clip to get a detailed overview of yCrash!
When the application’s memory is under-allocated, it will result in the following side-effects:
a. Transactions response time will degrade
b. CPU consumption will spike up
c. OutOfMemoryError will be thrown
Only when OutOfMemoryError is thrown, most of us start to look at our application’s memory settings. This is like only when a patient goes to a critical condition; we begin to give treatment :-).
In this post, let’s discuss how to detect whether your application’s memory is under-allocated or not in a proactive manner.Continue reading “Detect proactively whether application’s memory is under-allocated”
As the author of GCeasy – Garbage collection log analysis tool, I get to see few interesting Garbage Collection Patterns again & again. Based on the Garbage collection pattern, you can detect the health and performance characteristics of the application instantly. In this post, let me share few interesting Garbage collection patterns that have intrigued me.Continue reading “Interesting Garbage Collection Patterns”
We had an outage in our online application GCeasy on Monday morning (PST) Oct’ 11, 2021. When customers uploaded their Garbage Collection logs for analysis, the application was returning HTTP 504 error. HTTP 504 status code indicates that transactions are timing out. In this post, we would like to document our journey to identify the root cause of the problem.Continue reading “AWS Cloud watch vs yCrash – Monitoring vs RCA”
‘java.lang.System.getProperty()’ is a common API used by Java developers to read the System properties that are configured during application startup time. i.e. when you pass “-DappName=buggyApp” as your application’s startup JVM argument, the value of the ‘appName’ system property can be read by invoking the ‘java.lang.System.getProperty()’. Example:Continue reading “Performance impact of java.lang.System.getProperty()”
I am slightly hesitant to write this post, as it might attract some criticism. Nevertheless, I told myself there is nothing wrong with sharing my point of view (even though it might not be well accepted). I would like to share my personal experience regarding yesterday’s Monolithic and today’s Microservice architecture in this post.Continue reading “Is today’s microservice more bloated than yesterday’s monolith?”
Enabling Garbage collection logs on your application has certain advantages. In nutshell, Garbage collection logs will facilitate you to optimize Garbage Collection pause time, improve overall application’s response time, forecast production outages, reduce computing cost. Even though Garbage collection logs have these advantages, we weren’t sure what overhead does garbage collection logging add to the application. Thus we set out to conduct the below case study.Continue reading “Overhead added by Garbage Collection Logging”
A thread dump is a snapshot of all the threads running in a java process. It’s a vital artifact to troubleshoot various production problems such as CPU spikes, unresponsiveness in the application, poor response time, hung threads, high memory consumption. Thus to facilitate troubleshooting, we have seen enterprises capture thread dumps on a periodic basis (every 5 minute or 2 minute).So we were curious to learn the overhead of capturing thread dump on a periodic basis. Thus we set out to conduct the below case study.Continue reading “Overhead added by collecting thread dumps”
Naveen Kumar Namachivayam from QAInsights Invited Ram Lakshmanan – The architect of yCrash to talk in the Performance Engineers Clubhouse. In this video, the basics of Garbage collection, Importance of Memory, GC Throughput Introduction and many other topics have been discussed!
There are different flavors of OutOfMemoryError. One of the flavours of OutOfMemoryError is ‘Kill Process or sacrifice child’. This post discusses what triggers this ‘Kill Process or sacrifice child’ OutOfMemoryError and potential solutions to diagnose this problem.Continue reading “OutOfMemoryError: Kill process or sacrifice child – causes & solutions”
‘ping’ command is used to troubleshoot and diagnose network connectivity issues. It is used to check whether the host is reachable. It’s available on all the Operating Systems. ‘ping’ reports the round-trip time for the messages sent from the source to the destination.Continue reading “ping – Unix/Linux command, beginners introduction with examples “