Due to the heat of the moment, most SRE engineers restart the application without capturing the right data to debug the problem. Without the right data, debugging the production problem can be hard. yCrash data script captures below mentioned 360-degree data that too at the right moment. These artifacts will be highly useful to troubleshoot performance problems.

- Garbage collection log: GC Log contains garbage collection events related information. It will indicate how many GC events ran, what type of GC events they are (i.e. Young GC or Full GC), how long did each GC event pause the application, how much objects did each GC event reclaim.
- Thread dump: Thread dump is snapshot of all threads running in the application at point in time. It contains all the information about each thread in the application such as: thread state, thread Id, native Id, thread name, stack trace, priority.
- Heap dump: Heap dump is a snapshot of your application’s memory in a point in time. It contains information such as what are the objects in memory, what values do they carry, what is their size, what other objects do they reference.
- Heap substitute: Capturing Heap Dump is an intrusive operation. Does yCrash data script doesn’t capture Heap Dump unless it’s explicitly instructed to do so by passing ‘-hd’ flag. Heap Substitute is a light weight alternative to Heap Dump. It reports class histogram, largest objects and their size, …
- top: top command is used to show the Linux processes. It provides a dynamic real-time view of the running system. Usually, this command shows the summary information of the system and the list of processes or threads which are currently managed by the Linux Kernel.
- ps: It reports a snapshot of current processes.
- top -H: The top command can show a real-time view of individual threads. To enable thread views in the top output, invoking top with “-H” option, will list all Linux threads.
- Disk usage: It is used to check the information of disk usage of files and directories on a machine.
- dmesg: dmesg is a display message command that display kernel-related messages on Unix-like systems. It used to control the kernel ring buffer. The output contains messages produced by the device drivers.
- netstat: The network statistics ( netstat ) command is a networking tool used for troubleshooting and configuration, that can also serve as a monitoring tool for connections over the network. Both incoming and outgoing connections, routing tables, port listening, and usage statistics are common uses for this command.
- ping: ‘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.
- vmstat: Virtual memory statistics reporter, also known as vmstat , is a Linux command-line tool that reports various bits of system information. Things like memory, paging, processes, IO, CPU, and disk scheduling are all included in the array of information provided.
- iostat: The iostat command is used to monitor system input/output (I/O) devices (physical and logical) that are loaded, by observing the time for which these devices are active.
- Kernel parameters: Kernel command-line parameters, also known as kernel arguments, are used to customize the behavior of Red Hat Enterprise Linux at boot time only.
- Application Log: An application log is a file that contains information about events that have occurred within a software application. These events are logged out by the application and written to the file. They can include errors and warnings as well as informational events.
- Metadata: Metadata is “data that provides information about other data”, but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: Descriptive metadata – the descriptive information about a resource. It is used for discovery and identification.
Leave a Reply