Disclosed herein are systems and methods for monitoring performance of an ambulatory infusion pump. An ambulatory infusion pump can include a reservoir configured to contain a medicament including a plunger at a proximal end of the reservoir and an outlet port at a distal end of the reservoir. A motor can be configured to cause linear motion of a pushrod to contact and move the plunger to cause medicament to flow from the reservoir out of the outlet port to a patient. An optical encoder can be employed to monitor a linear position of the pushrod. In addition, the optical encoder can be employed to monitor additional system conditions and/or a secondary encoder can be employed to monitor the performance of the optical encoder.