Kafka Events

Introduction

Phaedra 2 uses Kafka for inter-service communication as well as some external communication. This document provides a full list of all events Phaedra 2 services provide, and consume.

Notes

  • All message formats are JSON, unless specified otherwise
  • Each services has its own group ID, noted in snake-case. E.g. PlateService has group id plate-service
  • Additional/external consumers MUST NOT use these predefined group IDs.

Calculation Events

  • Topic: calculations
Event Key Description Producer Consumers
requestPlateCalculation Request a plate calculation UI CalculationService
requestCurveFit Request a curve fit CalculationService CalculationService
notifyCalculationEvent Progress notification about a running calculation job CalculationService *

Plate Events

  • Topic: plates
Event Key Description Producer Consumers
requestPlateCalculationStatusUpdate Request a plate status change CalculationService PlateService
requestPlateMeasurementLink Request a plate-measurement link PipelineService PlateService
requestPlateDefinitionLink Request a plate-definition link PipelineService PlateService
notifyPlateModified Notification about a plate modification PlateService *
notifyPlateMeasLinked Notification that a plate has been linked with a measurement PlateService *
notifyPlateDefinitionLinked Notification that a plate has b een linked with a plate definition PlateService *

ResultData Events

  • Topic: resultdata
Event Key Description Producer Consumers
saveResultData Save calculation result data CalculationService ResultDataService
saveResultStats Save calculation result stats CalculationService ResultDataService
resultSetUpdated Notification that a resultset has been updated ResultDataService *
resultDataUpdated Notification that a resultset’s data has been updated ResultDataService *
resultFeatureStatUpdated Notification that a resultset’s feature stat has been updated ResultDataService *

CurveData Events

  • Topic: curvedata
Event Key Description Producer Consumers
saveCurve Save a DRC CalculationService CurveDataService

DataCapture Events

  • Topic: datacapture
Event Key Description Producer Consumers
requestCaptureJob Request a new datacapture job PipelineService DataCaptureService
notifyCaptureJobUpdated Notification about progress of a datacapture job DataCaptureService *

Measurement Events

  • Topic: measurements
Event Key Description Producer Consumers
requestMeasurementSaveWellData Save measurement’s well data DataCaptureService MeasurementService
requestMeasurementSaveSubwellData Save measurement’s subwell data DataCaptureService MeasurementService
notifyNewMeasurement Notification that a new measurement is available MeasurementService *