code: def _ping(self):
      retry_counter = 0
      while True:
          try:
              frequency_secs = self._heartbeat()
  
              if frequency_secs is None or frequency_secs <= 0:
                  frequency_secs = self.default_frequency_secs
  
              time.sleep(frequency_secs)
              retry_counter = 0
          except HeartBeatException as e:
              retry_counter = retry_counter + 1
              time.sleep(4**retry_counter)
  
file_path: metaflow/metaflow/metadata/heartbeat.py
imports: import time
  import requests
  import json
  from threading import Thread
  from metaflow.sidecar import MessageTypes, Message
  from metaflow.metaflow_config import SERVICE_HEADERS
  from metaflow.exception import MetaflowException
label_desc: Use image node_id 4 for calling the MetadataHeartBeat obj's underlying member method code with example usage: obj._ping() without return types