Execution Summary
Relevant source files
The following files were used as context for generating this wiki page:
The Execution Summary system provides a structured framework for aggregating, analyzing, and reporting the operational health of Oracle Integration Cloud (OIC) integrations. It serves as a high-level value object that consolidates data from individual monitoring records and metrics to provide a concise view of integration performance, specifically focusing on execution counts, success/failure rates, and temporal statistics.
This system is integral to the project's monitoring capabilities, allowing for the calculation of health metrics such as success rates and failure rates. It interfaces with the OicIntegrationEntity and OicMetricsRecord to provide a comprehensive analysis of OIC resource utilization and operational stability.
Sources: src/flext_tap_oracle_oic/_models/_oic_execution_summary.py, src/flext_tap_oracle_oic/_models/_integration.py:108-144
Data Models and Structures
The core of the execution summary logic is encapsulated in several specialized data models that define how OIC execution data is represented and processed.
OICExecutionSummary Model
The OICExecutionSummary class is a specialized value object designed to store aggregated execution statistics for a specific integration. It includes fields for tracking total, successful, and failed executions, as well as timing information.
| Field | Type | Description |
|---|---|---|
integration_id | str | Unique identifier for the integration. |
total_executions | NonNegativeInt | Aggregated count of all executions. |
successful_executions | NonNegativeInt | Count of executions that finished successfully. |
failed_executions | NonNegativeInt | Count of executions that encountered errors. |
average_duration_ms | NonNegativeFloat | None | Mean execution time in milliseconds. |
last_execution_at | datetime | None | Timestamp of the most recent execution. |
Sources: src/flext_tap_oracle_oic/_models/_oic_execution_summary.py:17-36
Derived Health Metrics
The system automatically calculates operational health through properties defined in the model:
- Success Rate: Calculated as
(successful_executions / total_executions) * 100. Returns0.0if no executions exist. - Failure Rate: Calculated as
100.0 - success_rate.
Sources: src/flext_tap_oracle_oic/_models/_oic_execution_summary.py:38-51
Integration with Monitoring and Metrics
The Execution Summary logic draws from underlying monitoring and metrics records to build its state.
The diagram above illustrates how raw data from monitoring records and performance metrics are aggregated into summary objects for health analysis.
Sources: src/flext_tap_oracle_oic/_models/_oic_monitoring.py:17-48, src/flext_tap_oracle_oic/_models/_metrics.py:46-77
Monitoring Record Analysis
The OICMonitoringRecord provides the granular data points required for summaries. It tracks execution status using specific job status constants (e.g., COMPLETED, FAILED, ABORTED).
- Status Classification: A record is considered failed if its status matches
FAILED,FAULTED, orABORTED. It is successful if it matchesCOMPLETEDorSUCCEEDED. - Duration Calculation: Durations are captured in milliseconds (
duration_ms) and can be converted to seconds.
Sources: src/flext_tap_oracle_oic/_models/_oic_monitoring.py:54-72, src/flext_tap_oracle_oic/constants.py:108-115
Health Status Classification
The project defines a tiered health status based on error rates and performance thresholds.
| Status | Threshold / Condition |
|---|---|
HEALTHY | Error rate < 5% (Calculated as Max Percentage / 20) |
DEGRADED | Error rate >= 5% |
WARNING | Operational warnings present but execution continues |
UNHEALTHY | Sustained failures or critical errors |
Sources: src/flext_tap_oracle_oic/_models/_integration.py:125-128, src/flext_tap_oracle_oic/constants.py:136-142
Architectural Components
Class Hierarchy
Execution summary models are part of the FlextTapOracleOicModels namespace, often extending base OIC models to ensure compatibility with the project's Pydantic-based validation framework.
The class diagram shows the relationship between base streams, monitoring records, and the resulting execution summaries.
Sources: src/flext_tap_oracle_oic/models.py:112-140, src/flext_tap_oracle_oic/_models/_oic_execution_summary.py:17-18
Logic for Health Aggregation
In the OicIntegrationEntity, health aggregation logic combines metadata with runtime counts to produce a SectionedSummary. This summary includes:
- Integration Identity: ID, name, version, and status.
- Health Metrics: Total executions, errors, error rate, and a calculated health status.
- Metadata: Pattern, style, and timestamp of the last execution.
Sources: src/flext_tap_oracle_oic/_models/_integration.py:108-144
Summary of Constants
The system relies on a set of predefined constants for status mapping and threshold validation.
- Job Statuses:
COMPLETED,FAILED,RUNNING,PENDING,ABORTED. - Thresholds:
MAX_PERCENTAGE(100.0) is used for rate calculations. - Error Thresholds:
HTTP_ERROR_STATUS_THRESHOLD(400) determines when an API response indicates an execution failure.
Sources: src/flext_tap_oracle_oic/constants.py:91-115, src/flext_tap_oracle_oic/constants.py:75-80
The Execution Summary module provides the critical analytical layer needed to transform raw OIC API responses into actionable insights regarding integration reliability and performance. By consolidating data across OICExecutionSummary, OicIntegrationEntity, and OICMonitoringRecord, the system ensures a consistent and high-fidelity representation of the integration landscape.