 				return
 
 			if type is "metric"
-				usage.lookup process.pid, (err, _usage)=>
+				@_getUsage (err, _usage)=>
 					if err
 						cb( err )
 						return


		@active = true
		if not @config.name?.length
			@_handleError( false, "ENONAME" )
			return

		if not _isFunction( @config.identifier ) and not @config.identifier?.length
			@_handleError( false, "ENOIDENTIFIER" )
			return

		# generate send functions

					return
				return

			_err = @_handleError( true, "EINVALIDTYPE" )
			@emit( "error", _err )
			cb( _err )
			return
		return

	###
	## _getUsage

	`heartbeat._getUsage( cb )`

	Internal helper to read the process cpu and memory usage if usage is availible.
	Within Windows System it's not availible.

	@param { Function } cb Callback function

	@api private
	###
	_getUsage: ( cb )=>
		if usage?
			usage.lookup process.pid, (err, _usage)=>
				if err
					cb( err )
					return
				cb( null, _usage )
				return
			return

		# in case of a windown machine we can't read the process usage
		cb( null, null )
		return
	
	###
