code: def get_metric_path(self, name, instance=None):
          
          if 'path' in self.config:
              path = self.config['path']
          else:
              path = self.__class__.__name__
  
          if instance is not None:
              if 'instance_prefix' in self.config:
                  prefix = self.config['instance_prefix']
              else:
                  prefix = 'instances'
              if path == '.':
                  return '.'.join([prefix, instance, name])
              else:
                  return '.'.join([prefix, instance, path, name])
  
          if 'path_prefix' in self.config:
              prefix = self.config['path_prefix']
          else:
              prefix = 'systems'
  
          if 'path_suffix' in self.config:
              suffix = self.config['path_suffix']
          else:
              suffix = None
  
          hostname = get_hostname(self.config)
          if hostname is not None:
              if prefix:
                  prefix = ".".join((prefix, hostname))
              else:
                  prefix = hostname
  
          # if there is a suffix, add after the hostname
          if suffix:
              prefix = '.'.join((prefix, suffix))
  
          is_path_invalid = path == '.' or not path
  
          if is_path_invalid and prefix:
              return '.'.join([prefix, name])
          elif prefix:
              return '.'.join([prefix, path, name])
          elif is_path_invalid:
              return name
          else:
              return '.'.join([path, name])
docs: Get metric path.
          Instance indicates that this is a metric for a
              virtual machine and should have a different
              root prefix.