TIBCO Service Performance Manager API

The TIBCO Service Performance Manager is an API-driven product. You can use the TIBCO Service Performance Manager API to define rules and metrics that helps you monitor and manage a group of services and assets in the enterprise such as machines, resources, and so on. The API is broadly classified into Model, Client, Query, Rules, and Runtime API.

Model API

This part of the API set deals with the core model that is used across the client and the server. It consists of classes and interfaces that are used to model the aggregation rules and the overall aggregation schema. The Model API provides classes and interfaces to represent elements of a schema.

Client API

This part of the API lets client applications connect to the Service Performance Manager server and perform various operations. Some such operations are to get the aggregation schemas, submit facts for aggregations, perform queries on the aggregated sets, and so on. From this point onwards, Service Performance Manager Server will be referred as "the server" in this document.

Applications connect to the server and submit data or facts to the server. The server uses these facts as input to compute the aggregations as defined in the schema. The server also includes a Query API to perform snapshot and streaming queries.

Query API

This part of the API set lets client applications to define queries (snapshot and streaming) and execute them. It also includes a Filter API that helps the application build complex filters using AND/OR conditions.

Rule API

This part of the API set deals with Rules, Actions, and alerts. It allows applications such as the ActiveMatrix Dashboard to define certain conditions (using the Query API) and when they match, to define actions and alerts. Actions are of two types, Set actions and Clear actions. Set actions are those that are invoked when a rule condition evaluates to true and a Clear actions are those that are invoked when a previously set rule condition evaluates to false.

Runtime API

This part of the API exposes certain runtime classes and interfaces that lets you build custom actions and metric computation functions.