<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _find_usage_spot_instances(self):
 """calculate spot instance request usage and update Limits"""

        logger.debug('Getting spot instance request usage')
        try:
            res = self.conn.describe_spot_instance_requests()
        except botocore.exceptions.ClientError as e:
            if e.response['Error']['Code'] == 'UnsupportedOperation':
                return
            raise
        count = 0
        for req in res['SpotInstanceRequests']:
            if req['State'] in ['open', 'active']:
                count += 1
                logger.debug('Counting spot instance request %s state=%s',
                             req['SpotInstanceRequestId'], req['State'])
            else:
                logger.debug('NOT counting spot instance request %s state=%s',
                             req['SpotInstanceRequestId'], req['State'])
        self.limits['Max spot instance requests per region']._add_current_usage(
            count,
            aws_type='AWS::EC2::SpotInstanceRequest'
        )