constructor(opts, ids_keys) { opts = _.merge({}, { projectId : config('tracker:projectId'), writeKey : config('tracker:writeKey'), send_in_background : config('tracker:send_in_background') }, opts); this.ids_keys = ids_keys; this.insight_opts = opts; this.meta = { "ip_address" : "${keen.ip}", "agent_session_id": this.loadAgentSessionId(), "command_id" : this.generateRandomId('command_id'), "user_id" : this.loadTrackerUserId(), "azk_version" : Azk.version, // device config "device_info": deviceInfo(), }; log.debug(`[tracker] permission to tracker: ${this.loadTrackerPermission()}`); }
return async(this, function* () { // Get agent status var agent = yield lazy.Client.status(); var require_vm = config("agent:requires_vm"); let docker_version = null; // Load configs from agent if (agent.agent) { yield Helpers.requireAgent(this.ui); docker_version = yield lazy.docker.version(); } // Mount data to render let device = deviceInfo(); if (device.os.match(/^Linux\ /) && !docker_version) { docker_version = yield this._getDockerVersionByCli(); } let data = { os : `${device.os} (${device.proc_arch}), Memory: ${device.total_memory}MB`, version: yield Azk.fullVersion(), docker : docker_version || { Version: "Down" }, use_vm : require_vm ? "Yes" : "No", agent_running: agent.agent ? "Running" : "Stopped", vbox_version : require_vm ? yield lazy.VM.version() : "N/A", }; if (require_vm && agent.agent) { let ip = config('agent:vm:ip'); data.use_vm = `${data.use_vm}, IP: ${ip}`; } // Show doctor info this.view('version').render(data, opts.logo); return 0; });