As part of our weekly report feature, we use PhantomJS to generate graphs included in the emails sent out to each Freckle user. This involves Rails making a call to the PhantomJS process and returning the generated graph.
The PhantomJS process responsible for generating these graphs became unresponsive at about 10PM, EST. This led to increased response times and timeouts across the entire application. We were able to diagnose the problem using Newrelic and Webmon, which pointed out that the requests to generate the graphs were taking exactly 1 minute (the timeout limit for these requests).
To resolve the issue, we restarted both the PhantomJS and Rails processes. We're still looking into why PhantomJS was not responding in the first place.