The event based paradigm has gathered momentum as witnessed by current efforts in areas ranging from event driven architectures, complex event processing, and business process management and modeling to grid computing, web services notifications, event stream processing and message-oriented middleware. The increasing popularity of event based systems has opened new challenging issues for them. One such issue is measuring complexity of these systems. A well-developed system should be maintainable, pluggable, scalable and less complex. In this paper, an event based approach is proposed to derive software metrics for measuring system complexity. Events taking place in a system are documented using the proposed event template. An event-flow model is constructed from event templates. The event-flow model of an event based system is represented as an event-flow graph. The proposed event-flow complexity metric for analysis model is derived from an event-flow graph. The metric has also been evaluated in terms of Weyuker's properties. Results of evaluation show that it satisfies 8 out of 9 Weyuker's properties. A prototype tool is also developed to automatically generate event interdependency matrices and compute absolute and relative complexity of an entire system. The proposed technique can be very effective especially for real time systems where lots of events take place.