The extension must be implemented as a class that extends the abstract class MonitoringExtension in the Communicate.IPM.Core.Model.Extensions namespace. Communicate.IPM.Core.dll can be found in the Libraries-folder of the IPM installation folder.
This class requires you to override the abstract method ExecutionResult Execute(string application). This is where you will put your own custom monitoring code. The application to monitor is passed along as a context reference.
In the Execute-method you must set the Status-property of the extension to the appropriate result of your custom monitoring. If an error has occurred, a textual description can be set in the ErrorDescription-property.
Once your extension is compiled into a DLL you must create a extension manifest. The manifest is a XML-file that shares the same name as the DLL.
The image below shows the structure of this XML-file, which points to the extension's class name (with fully qualified namespace) within the DLL and the display-name to be used in the UI. This file also contains an enumeration of all of the applications that this extension applies to.
Put the DLL and its corresponding manifest in the ProgramData/IPM/Extensions/Monitoring folder of your primary hard drive.
Any errors produced by this extension will now be shown in the IPM Web UI in the Extensions-section in the application overview.