bottleneck analysis