Monitoring ApplicationsPermanent link for this heading

Fabasoft app.telemetry works with performance data that is supplied by the monitored applications. The following methods can be used to provide these performance data:

Web Service Modules Permanent link for this heading

Fabasoft app.telemetry ships with modules for Apache and Microsoft Internet Information Services. These modules already have instrumentation points implemented and can be installed or configured into Apache or Microsoft Internet Information Services.

These modules allow a fast overview of a web application's response time characteristics at the web server (Apache or Microsoft Internet Information Services) tier but cannot provide performance data from the monitored application. Refer to the next chapters for how to receive performance data from monitored applications.

Fabasoft app.telemetry SDKPermanent link for this heading

Applications can use the Fabasoft app.telemetry SDK to supply performance data to Fabasoft app.telemetry. Currently this is the most powerful method but it requires modification of the applications.

Using the Fabasoft app.telemetry SDK application developers can manually implement instrumentation points in the source code of the monitored application. This implementation also requires a rebuild/recompile and a redeployment of the affected application.

The Fabasoft app.telemetry SDK for C/C++, C# and Java is available on all agent platforms and supports the following interfaces (a list of all supported interface versions can be found in the “Software Product Information” document for Fabasoft app.telemetry):

  • Microsoft Visual Studio (Microsoft Windows platforms)
  • GCC (Linux platforms)
  • OpenJDK 17

With the Fabasoft app.telemetry SDK for JavaScript application developers can manually implement instrumentation points in the JavaScript client part of the monitored application. This implementation also requires a redeployment of the affected client scripts but allows end-user experience monitoring for the instrumented application.

The Fabasoft app.telemetry SDK for JavaScript is available on all agent platforms and most popular client operating systems and supports the JavaScript interfaces of the most popular and modern web browser clients. An exact listing of all supported platforms and web browser clients can be found in the “Software Product Information” document for Fabasoft app.telemetry.

SDK Integration OverviewPermanent link for this heading

The Fabasoft app.telemetry SDK enables application developers to integrate their applications into Fabasoft app.telemetry. Applications can integrate by registering themselves into Fabasoft app.telemetry and by providing performance data (events). The Fabasoft app.telemetry SDK provides the following integration possibilities:

RegistrationPermanent link for this heading

Applications can register themselves into Fabasoft app.telemetry and therefore can help to reduce manual configuration efforts.

Filter RegistrationPermanent link for this heading

Fabasoft app.telemetry provides the functionality of Software-Telemetry sessions. A Software-Telemetry session can be started by selecting a registered application, by selecting one of the supported recording levels and by choosing an application specific filter value. The SDK provides the possibility for applications to register their application specific filter values.

Module RegistrationPermanent link for this heading

In a Software-Telemetry session applications provide information that help analyzing the route of a request. Per default, the result of a Software-Telemetry session is partitioned in applications and servers as well as processes or threads. The SDK provides the possibility for applications to detail these partitions by using modules. A module is a part of an application that allows a better view of the request’s route within the application itself.

Event RegistrationPermanent link for this heading

In a Software-Telemetry session registered applications provide information by using events. Each event consists of an id (unique id within an application module) and a text description. To reduce the amount of data transferred during a Software-Telemetry session, the SDK provides the possibility for applications to register their application specific events (id and text) so applications only have to pass the event id during an active Software-Telemetry session.

EventsPermanent link for this heading

In a Software-Telemetry session registered applications provide information by using events. By sending events applications can provide the following information to Fabasoft app.telemetry:

  • The request enters a specific area in the application
  • The request leaves a specific area in the application
  • Debug or trace information to provide more details

Applications provide recording level information (standard, detail or debug) for each event sent. Depending on the selected recording level of the current Software-Telemetry session, only events matching that selected recording level get transported to the Fabasoft app.telemetry server.

ContextPermanent link for this heading

In a Software-Telemetry session a request can be tracked through multiple threads, processes or services of integrated applications. The Fabasoft app.telemetry SDK provides the possibility for applications, to pass the therefore required information to Fabasoft app.telemetry. Applications can allocate a context to start the recording of a request and release a context to end the recording of a request. To pass a context between threads or processes applications get the current context on the calling side, transport the context and attach to that context on the called side. The transfer of the context must be implemented by the application.