 					return
 				return
 
-			@_handleError( cb, "EINVALIDTYPE" )
-			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
 	
 	###

			g_memtotal: os.totalmem()
			p_id: process.pid
			p_uptime: process.uptime()
			p_mem: _usage.memory
			p_cpu: _usage.cpu
		
		_data.d_avail = _disk.available if _disk?
		

# **npm modules**
_isFunction = require( "lodash/isFunction" )
_result = require( "lodash/result" )
if os.platform() isnt "win32"
	usage = require( "usage" )
disk = require( "diskusage" )

# **internal modules**
