Calculating timeouts with Event Timeout for Seq

We use quite a number of Event Timeout instances in our Seq environment, to detect processes that have not completed in time. The nature of the Seq.App.EventTimeout implementation is one that relies on a timeout in seconds, and this can result in keeping track of quite a few different calculations.

If, for example, you have a process that starts at 4:00am and should be finished by 8:00am at latest, you might implement an Event Timeout instance that starts at 4:00am, ends at 9:00am, and has a 14,400 second timeout (that is, 4 hours * 3600 seconds). The added hour for the end time allows for the timeout errors and suppression intervals. 

What if, like us, you have a number of these configured and want to shift them around, such as pushing the timeout and end time back 15 minutes? Easy enough for one, but 10 or 20 might send you cross-eyed trying to keep track of each of them.

This is fairly easily handled with a simple spreadsheet.

Calculating changes in Event Timeouts

This is fairly straightforward - enter your Start Time, old timeout target (in hours and minutes), and new timeout target (in hours and minutes). The spreadsheet then derives:

  • the old timeout in seconds (=(C3-B3) * 86400)
  • the new timeout in seconds (=(D3-B3)*86400)
  • an expression of the timeout duration in hours and minutes (=D3-B3)
  • and a new end time based on allowing 1 hour after the timeout (=D3+(60/1440))

with some conditional formatting applied so you can see which settings will change.

I found this helpful both for keeping track of my changes, and for documentation as well.  You can see the new timeout settings below:

Translating the spreadsheet to Event Timeout instance settings

I've uploaded a sample spreadsheet to Github for convenience!



You may also like:

Structured Logging with Seq and Serilog

A few years back, I picked up an old "unloved" business application for document handling, and brought it into the modern era. I completed some work on adding automated OCR, running as a service, and then started to enhance it well beyond its original capabilities, such as moving a manual...

Performing OpsGenie Heartbeats with Seq

When we investigated OpsGenie, one feature I was attracted to was Heartbeat Monitoring. This is a feature that can help to answer a fundamental problem - "How do you know if you have a major site or infrastructure outage?" There are plenty of ways that you could go about this,...

Event Timeout for Seq v1.4.2 released

A new release of Seq.App.EventTimeout is out. This was a little earlier than I planned to release v1.4.x, but there was a bug in the AbstractAPI deserialization as a result of some code refactoring which I'd missed. As usual, you can install Event Timeout for Seq using Seq.App.EventTimeout as the...