An event, in a computing context, is an action or occurrence that can be identified by a program and has significance for system hardware or software. Events can be user-generated, such as keystrokes and mouse clicks, or system-generated, such as program loading, running out of memory and errors.
Events are sent by the publisher class and received by the subscriber class. Each event typically represents a message, token, count, pattern, value or marker. Subscribers can recognize events within an ongoing stream of monitored inputs such as network traffic, specific error conditions or signals, thresholds crossed or counts accumulated.
Applications can be developed to have an event-driven architecture (EDA), which means its behavior revolves around event detection, event forwarding and event handling. Similarly, programmers can implement an event sourcing coding practice that models systems as a series of events and business objects.