Skip to content

Releases: SovereignEdgeEU-COGNIT/serverless-runtime

Cognit Serverless Runtime Release v4.0

16 Dec 09:33
dea9ca6

Choose a tag to compare

Pre-release

This release adds RabbitMQ-based task offloading, MinIO storage integration, and Prometheus metrics collection for better monitoring and scalability.

Features

1. RabbitMQ-Based Offloading

Message queue integration for distributed task execution:

  • Thread-safe consumer with automatic heartbeat management and reconnection
  • Graceful shutdown via /control/stop-consuming endpoint
  • Result publishing to dedicated exchange with request-specific routing
  • At-least-once delivery semantics with message acknowledgment

2. MinIO Object Storage Integration

S3-compatible storage client for datasets and execution artifacts:

  • Bucket operations: create, list, delete, versioning
  • Object operations: upload/download files, in-memory streams, batch operations
  • Presigned URLs for secure temporary access
  • Configurable connection/read timeouts with automatic retry

3. Enhanced Prometheus Metrics

Metrics exposed on port 9100:

Execution Metrics:

  • sr_histogram_func_exec_time_seconds: Execution duration (1s, 5s, 10s buckets)
  • sr_histogram_func_input_size_bytes: Input payload size (1KB, 1MB, 1GB buckets)
  • function_duration_seconds: Per-function timing with app_req_id labels
  • vm_current_function: Real-time execution status (1=running, 0=idle)
  • vm_is_executing: Global VM availability indicator
  • sr_func_executed_total, sr_func_succeeded_total, sr_func_failed_total: Cumulative counters

Includes OpenNebula integration via prometheus_metrics_injection.py and custom collector (CognitFuncExecCollector) with per-request tracking.

4. Isolated Function Execution

  • Multi-language support: Python (cloudpickle), C (protobuf)
  • Thread-safe executor with proper locking and lifecycle tracking
  • Return code tracking: SUCCESS/ERROR with detailed error messages