Pulse has these configuration parameters:

pulse settings

Let's go and see what each of these are and how they work.

Name

Name is the displayed name/title of the pulse. It is used both on the application and the status page. When multiple pulses are listed, they are sorted alphabetically by the name.

Interval

Interval is the frequency of the expected HTTP response. It should be 24 hours for a daily task, 7 days for a weekly one, etc.

Tolerance

Tolerance is a utility configuration parameter, useful especially for tasks with a varying process time. WebGazer waits as much as this tolerance, before marking the pulse as down when a request isn't delivered on time.

For example, for a pulse with 24 hours as interval, and 10 minutes as tolerance, if a request is sent on August 20 - 07:00 the next requested is expected before August 21 - 07:10. If the request doesn't arrive until August 21 - 07:10, pulse will be marked as down.

Rules

Rules are the success criteria for incoming requests. When a pulse beat HTTP request hits WebGazer, it is evaluated according to the configured rules. Query part of the URL is parsed for the parameters.

A rule consists of four parts:

  • Parameter name
  • Parameter type (bool, int or str)
  • Condition
  • Expected value
When multiple rules are configured for a pulse, incoming requests are evaluated simply by the union of these rules. Rule engine-like complex conditioning is not available.

bool rules

Configuration examples:

  • success (bool) == true
  • fail (bool) != false

Example URL: https://pulse.webgazer.io/1-8d9883d14649?success=true

int rules

Configuration examples:

  • seconds (int) <= 10
  • percentage (int) == 100

Example URL: https://pulse.webgazer.io/1-8d9883d14649?seconds=3

str rules

Configuration examples:

  • name (str) == alice
  • server (str) != main

Example URL: https://pulse.webgazer.io/1-8d9883d14649?name=alice