Skip to main content

Event Flow Observabilty Service

Event Flow Observability

Overview

Event Flow Observability (EFO) is a monitoring system that tracks the reference data flow from clients to Hii Retail. EFO provides the following key capabilities:

  • Real-time Notifications: EFO sends notifications through External Events whenever a message fails to be applied at the end-consumer.

Supported Message Types

The system currently supports notifications for the following message types:

  • Item
  • Price
  • Promotion

Processing time calculation

EFO can calculate and aggregate the processing time for each reference data message sent to Hii Retail. Based on this data, internal services can be further optimized for performance and throughput.

Missing consumer data

A primary function of EFO is to notify clients when one or more messages fail to reach their end-consumer. Potential reasons for failure include:

  • A service within Hii Retail failed to process the message.
  • The end-consumer was unable to process the message (e.g., an item was added with an invalid tax group).

In these cases, a Cloud Event is sent to the client via External Events. The event data includes the following fields:

{
"correlationId": "string",
"businessUnitId": "string",
"title": "string",
"errorMessage": "string",
"entityId": "string",
"entityType": "enum"
}
  • correlationId: A unique identifier for the transaction.
  • businessUnitId: The ID of the business unit associated with the message.
  • title: A brief description of the error.
  • errorMessage: A detailed description of the issue encountered.
  • entityId: The ID of the entity that failed to process.
  • entityType: The type of entity (e.g., Item, Promotion).

Entity Types

The entityType field can contain one of the following values:

  • Item
  • Promotion

Example payload

Here is an example of a notification payload:

{
"correlationId": "961af96d-affd-4316-adff-9948a64ac854",
"businessUnitId": "777",
"title": "Item 73513513 with correlationId 961af96d-affd-4316-adff-9948a64ac854 could not be processed",
"errorMessage": "Invalid tax group ID. Please verify the ID and resend the message.",
"entityId": "73513513",
"entityType": "Item"
}

If a detailed error message is unavailable, the errorMessage field will default to: Specific error could not be determined.

Subscription Information

Clients interested in subscribing to these notifications can do so by using the Event Source sre.failed-events.v1 in External Events.