def _create_istio_mesh_instance(self, instance):
        """
        Grab the istio mesh scraper from the dict and return it if it exists,
        otherwise create the scraper and add it to the dict
        """
        endpoint = instance.get('istio_mesh_endpoint')

        if endpoint is None:
            raise CheckException("Unable to find istio_mesh_endpoint in config file.")

        istio_mesh_instance = deepcopy(instance)
        istio_mesh_instance.update(
            {
                'namespace': self.MESH_NAMESPACE,
                'prometheus_url': endpoint,
                'label_to_hostname': endpoint,
                'metrics': [
                    {
                        # These metrics support Istio 1.0
                        'istio_requests_total': 'request.count',
                        'istio_request_duration_seconds': 'request.duration',
                        'istio_request_bytes': 'request.size',
                        'istio_response_bytes': 'response.size',
                        # These metrics support Istio 0.8
                        'istio_request_count': 'request.count',
                        'istio_request_duration': 'request.duration',
                        'istio_request_size': 'request.size',
                        'istio_response_size': 'response.size',
                    }
                ],
                # Defaults that were set when istio was based on PrometheusCheck
                'send_monotonic_counter': instance.get('send_monotonic_counter', False),
                'health_service_check': instance.get('health_service_check', False),
            }
        )

        return istio_mesh_instance
Grab the istio mesh scraper from the dict and return it if it exists,
        otherwise create the scraper and add it to the dict