(self, name, instance=None)
Get metric path.
        Instance indicates that this is a metric for a
            virtual machine and should have a different
            root prefix.
Get metric path.
        Instance indicates that this is a metric for a
            virtual machine and should have a different
            root prefix.
Get metric path . Instance indicates that this is a metric for a virtual machine and should have a different root prefix .
def get_metric_path(self, name, instance=None):
        """
        Get metric path.
        Instance indicates that this is a metric for a
            virtual machine and should have a different
            root prefix.
        """
        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])
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 ] )