# M3 Custom Cooling Period
In yCrash, M3 is a micro-metrics monitoring feature designed to predict outages in your applications. When M3 predicts an outage, it automatically captures 360° troubleshooting data, analyzes it, and generates an instant root cause analysis report. This report is displayed on the yCrash dashboard for easy access and monitoring.
# Incident Reporting and Cooling Period
Sometimes when a performance issue surfaces in the application it may last for several minutes (sometimes even hours) before the SRE team resurrects the situation. To prevent frequent reporting of the same performance issue within the same application, yCrash implements a cooling period. By default, this cooling period is set to 24 hours. This means that if an issue is reported today, the same issue will not be reported again for the same server within the next 24 hours . However, if the same issue occurs on a different server, it will be reported.
# Customizing the Cooling Period
The cooling period can be customized using the coolingPeriod parameter. This parameter allows you to specify how frequently performance issues can be reported again after they have been initially detected.
# Supported Time Units
daysordayfor dayshrsorhrfor hoursminsorminfor minutessecfor seconds
# How to enable the custom M3 Cooling period?
# Linux:
Edit launch-yc-server.sh
Add '-DcoolingPeriod={Time_Period}’' system property to launch-yc-server.sh. Suppose you want to set the custom cooling period as 6hrs, then modify the script as shown below:
java ... -Dapp=yc -DlogDir=. -DuploadDir=. -DcoolingPeriod=6hrs …1
# Windows:
Edit launch-yc-server.bat
Add
-DcoolingPeriod={Time_Period}system property tolaunch-yc-server.bat. Suppose you want to set the custom cooling period as 6hrs, then modify the script as shown below:java ... -Dapp=yc -DlogDir=. -DuploadDir=. -DcoolingPeriod=6hrs …1
Examples:
- To set a cooling period of 6 hours, you have to pass as follows in the Launch file:
-DcoolingPeriod=6hrs
- To set a cooling period of 30 minutes, you have to pass as follows in the Launch file:
-DcoolingPeriod=30mins
- To set a cooling period of 1 day, you have to pass as follows in the Launch file:
-DcoolingPeriod=1day
- To set a cooling period of 2 seconds, you have to pass as follows in the Launch file:
-DcoolingPeriod=2sec