This document describes how to use a custom interceptor in Mule to calculate the total time taken for a flow to execute. The custom interceptor class extends AbstractInterceptingMessageProcessor and implements Interceptor. It uses System.currentTimeMillis() to record the start and end time of a flow's execution and logs the difference, which is the total execution time. Using this interceptor, the execution time of a sample complex web service flow is logged both when it hits the database and when it uses a cache.