Understanding your middleware pipeline with the Middleware Analysis package