OpenFlow Protocol

Monitoring

Monitoring and Observability

Metrics Collection

Metric CategoryMetricsPurposeCollection Method
ExecutionDuration, success/failure rates, throughputPerformance monitoringTimer, counter metrics
ResourceMemory, CPU, network I/OSystem healthSystem monitoring
ProviderRequest latency, error rates, rate limitsService qualityProvider instrumentation
BusinessCustom application metricsBusiness insightsCustom instrumentation

Logging Requirements

  • Structured Logging: JSON format with standardized fields
  • Log Levels: Support for debug, info, warn, error levels
  • Contextual Information: Include flow ID, node ID, execution context
  • Security: No sensitive information in logs

Tracing Support

  • Distributed Tracing: OpenTelemetry or similar tracing standards
  • Span Creation: Trace spans for flows, nodes, and provider calls
  • Context Propagation: Maintain trace context across async operations
  • Performance Analysis: Enable performance bottleneck identification

Status and Monitoring

Status TypeInformationUpdate FrequencyAccess Method
Queue StatusFlows waiting, currently executingReal-timeStatus API endpoint
Flow StatusCurrent node per active flowPer node executionFlow tracking API
Execution ProgressNode completion statusPer node completionProgress API
Error DetailsDetailed error informationOn failureError logging system

Logging System

Log LevelContentUse CasesPerformance Impact
DebugExecution traces, variable resolutionDevelopment, troubleshootingHigh
InfoFlow start/completion, node progressProduction monitoringMedium
WarnNon-critical issues, performance warningsOperational alertsLow
ErrorExecution failures, validation errorsError trackingLow

Log level is set during FlowExecutor initialization and applies to the entire execution system.

On this page