One of the easiest things to check for are any indicator lights that might be on the instrument cluster. If you have a check engine light (CEL/MIL) or other warning light, this is the best place to begin your search for the cause of a performance problem. In fact, even if you don’t have a check engine light on, pull the codes. You may find you have codes stored with no indicator on the dash. It wouldn’t be the first time this has happened. Sometimes the bulb burns out, or someone has disabled it for whatever reason. It’s for that reason you should check for codes first thing even if you don’t have a CEL. These lights are often associated with a particular code that could indicate a system fault. These codes are created and stored in the PCM (Powertrain Control Module) to aid in the diagnosis of a particular fault. Codes can represent problems with the engine or its management systems, the transmission and its systems, the ABS (Antilock Brake System) or TCS (Traction Control Systems); even a problem with the ABS or braking system can cause a performance problem.
Sometimes when a given fault is registered by the computer, it puts your vehicle into what is called limp-in mode. This limp-in mode is designed to preserve the engine and transmission during a particular fault. In the process of putting the vehicle into limp-in mode, it limits certain functions, such as the maximum RPM your engine will rev or the timing of the transmission shifts. This is a measure of self preservation to the drive train; it also gives you the ability to make it to the nearest service center to have things checked out before you damage something.
So for starters, pull any codes you might have. As stated, it's not a bad idea to check for codes even if you don't have any dash warning lights on; sometimes the lights have burned out or been disabled. If this is the case, the codes will still be stored in memory, but you won't see the warning lights on the dash to indicate a fault has been detected. Here's a video on pulling these codes.