Profiling Java Applications with Async Profiler

My first Hackernoon story was published today. The story is "Profiling Java Applications with Async Profiler"

With "Async Profiler", both system code paths and Java code paths can be profiled with the help of AsyncGetCallTrace (an internal HotSpot JVM API) and perf_events.

Async profiler supports several types of profiling. For example, CPU profilingAllocation profilingWall-clock profilingLock profiling The Hackernoon story demonstrates few examples of using Async Profiler and generating Flame Graphs as the output.

Basic concepts of Java heap dump analysis with MAT

When you are working with Java, it's always good to know how you can analyze Java Heap dumps with Eclipse Memory Analyzer Tool (MAT).

Eclipse MAT is by far the best tool to analyze Java Heap Dumps.

Please read my medium story on "Basic concepts of Java heap dump analysis with MAT" to understand basics of heap dump analysis with a sample Java application.

Encrypting disks on Ubuntu 19.04

Recently, I encrypted my disks using LUKS (The Linux Unified Key Setup) specification and installed Ubuntu 19.04 on encrypted partitions. In my experience, I think that LUKS is currently the best and stable way to encrypt your data on Ubuntu.

Read my medium story on how I enabled LUKS full disk encryption on selected partitions with step by step instructions (including screenshots).

Stack Depth in Java Flight Recorder

Have you seen "~ UNCLASSIFIABLE ~.()" in the Call Tree Tab when analyzing a Flight Recording in Java Mission Control? That means, you have stack traces with more than 64 frames.

The default stack depth in Java Flight Recorder is 64 and it can be changed with stackdepth option in -XX:FlightRecorderOptions flag. Please read my Medium story for more details on the Stack Depth in Java Flight Recorder.

Java Flight Recorder Cheat Sheet

I created a cheat sheet for using Java Flight Recorder. It has steps to start Fight Recordings using JVM flags or using Diagnostic Commands in jcmd command.

See: Java Flight Recorder Cheat Sheet

Linux Performance Observability Tools

For at least 2 years, I wanted make a "cheat sheet" for some of the popular Performance Observability Tools in Linux.

Today, I could finally publish a Medium story about "Linux Performance Observability Tools"

Ballerina Services in Serverless World

Ballerina is a new programming language being developed by WSO2. Ballerina is optimized for integration and it makes writing HTTP services very easy.

I wrote a Medium story about Ballerina Services in Serverless World, which discusses how you can deploy your own Ballerina Service as a serverless function in AWS Lambda.