GeneXus accepts OpenTelemetry as the way to obtain telemetry data (traces, logs and metrics) from the application.
This allows to know what exactly is going on in the System, including:
- The time required by Requests.
- Entry points and the most requested programs.
- Execution of SQL sentences. The time required for each Request to be replied to.
- The number of Error 500. The exceptions that occur and which exactly are they.
- Traces of Http calls (micro-services).
- Creation of automatic alerts based on telemetry.
The data instrumented automatically (sent to the observability backend by the Apps) are:
- Access to the database (Insert, Select, Delete, etc.)
- Calls to API through HttpClient
- Cache Access (Redis & Memcached)
- Application Server metrics
- AWS SDK, Redis, Memcached, etc.
Full List: https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md#libraries--frameworks
- Access to the database (Insert, Select, Delete, etc.)
- Calls to API through HttpClient
- Aspnet Core Application Server metrics
To achieve this, you may select any of the following SDK:
- AWS Distro for OpenTelemetry (ADOT)
- Lightstep
- SDK OpenTelemetry
- Azure Monitor Application Insights
ADOT provides API, libraries and open source agents to compile distributed metrics and traces for app monitoring. It also compiles metadata from its resources and administered services of Amazon Web Services. This makes it possible to correlate the app’s performance data with the data of the underlying infrastructure.
ADOT receives the app’s traces and it is also configured to periodically compile endpoint metrics/app metrics through HTTP.
Lightstep Observability combines metrics data and trace data to achieve full observability. It provides a series of tools that enable the monitoring of resources and transactions, as well as the classification of incidents and the configuration of alerts, and it defines alert thresholds or critical points, among other things.
SDK OpenTelemetry enables the creation of traces and metrics events, in addition to exporting telemetry data to an analysis backend.
Application Insights is an extension of Azure Monitor that provides Application Performance Monitoring (APM) features.
This functionality is available since GeneXus 18 upgrade 4.
HowTo: Observability of your GeneXus applications.