Skip to content

Developers :: Program Validation

Fernando Freire edited this page May 8, 2018 · 1 revision

One of the key goals of the signal_analog project is to provide great error messages so that users are better equipped to handle failure. This means that while the implementation of new features may take some time, the overarching user experience remains excellent.

Part of providing great error messages is an implementation that makes it easy to report them. Each error message should communicate something unique about why the library failed so that users are more likely to be able to troubleshoot and fix errors on their own.

Program validation is one such way that we can provide great error messages to users. This can happen as a consequence of Program introspection or validations provided by external objects like Detector that make assertions about what kinds of Programs it will accept.

Some example validations include:

  • Programs that never publish a stream of data
  • Detectors that never detect off of a metric time series
  • Programs that assign variables that are unused

As we continue to mature our usage of this library we'll continue to find validations that are valuable to report to the user. In this way users can have greater confidence that what they're sending to SignalFx is correct the first time.

Clone this wiki locally