Modules are the building blocks for defining workflows such as rules and monitors. Each module used in a workflow is of a specific type. The module type defines the implementation of the module, the type of data required as input and output, and the schema required for configuration.

All module types can either be a unit module type (references a native or managed code implementation) or a composite module type (composes other unit or composite module types).

Data Source Module Type: A data source module is a module that gathers instrumentation data, formats the data and inserts the data items into a data stream that other modules can consume.

Condition Detection Module Type: A condition detection module implements the code to reason over an input data stream and determines whether a pattern has occurred. A condition detection module can be stateless or have an internal state used to reason over multiple data items. A condition detection module can have one or more input streams. When a condition detection module supports more than one input stream, each stream can be of a different data type.

Probe Action Module Type: A probe action module produces output by querying external data which does not change system state in any way. A probe action always has one input and one output stream.

Write Action Module Type: A write action module updates some system state when triggered. It is always comprised of one input stream and a binary one or zero output streams. Write actions use the input stream to trigger the update.

Unit Module Types: A unit module type is a developer written piece of code that fits in one of the four categories of module types previously detailed. Operations Manager ships with a library of module types for known monitoring scenarios. If required this can be extended by the Operations Manager product team or by partners to add new monitoring capabilities to Operations Manager.

Composite Module Types: Composite module types are combinations of unit and / or composite modules used in sequence to aggregate their functionality into richer modules. Each new composite module type must adhere to one of the four defined types of module types. Operations Manager defines many composite module types that use code backed unit module types as the building blocks.