class_docstr: Mock explainer that allows testing most of the functionality in alibi.utils.distributed. 
docstr: Multiplies input by a constant and records process ID.
docstr_tok: ["Multiplies","input","by","a","constant","and","records","process","ID","."]
code: def get_explanation(
      self, X: Union[Tuple[int, np.ndarray], np.ndarray], **kwargs
  ):
      """
      Multiplies input by a constant and records process ID.
      """
      self.proc_id = os.getpid()
      time.sleep(self.sleep_time)
      if isinstance(X, tuple):
          batch_idx, X = X
          return batch_idx, self.multiplier * X
      else:
          return self.multiplier * X
  
imports: import inspect
  import os
  import pytest
  import time
  from itertools import product
  from typing import Any, Dict, List, Optional, Tuple, Union
  import numpy
  from alibi.utils.distributed import DistributedExplainer, PoolCollection, ResourceError, invert_permutation, concatenate_minibatches
label_desc: Use image node_id 2 for calling the MockExplainer obj's underlying member method code with example usage: obj.get_explanation(X) and returns: batch_idx,  unknown, unknown