def _start_node(self, node_configuration, node_count_on_host, java_major_version): host_name = node_configuration.ip node_name = node_configuration.node_name car = node_configuration.car binary_path = node_configuration.binary_path data_paths = node_configuration.data_paths node_telemetry_dir = "%s/telemetry" % node_configuration.node_root_path self.logger.info("Starting node [%s] based on car [%s].", node_name, car) enabled_devices = self.cfg.opts("mechanic", "telemetry.devices") telemetry_params = self.cfg.opts("mechanic", "telemetry.params") node_telemetry = [ telemetry.FlightRecorder(telemetry_params, node_telemetry_dir, java_major_version), telemetry.JitCompiler(node_telemetry_dir), telemetry.Gc(node_telemetry_dir, java_major_version), telemetry.PerfStat(node_telemetry_dir), telemetry.DiskIo(self.metrics_store, node_count_on_host), telemetry.CpuUsage(self.metrics_store), telemetry.NodeEnvironmentInfo(self.metrics_store), telemetry.IndexSize(data_paths, self.metrics_store), telemetry.MergeParts(self.metrics_store, node_configuration.log_path), telemetry.StartupTime(self.metrics_store), ] t = telemetry.Telemetry(enabled_devices, devices=node_telemetry) env = self._prepare_env(car, node_name, t) t.on_pre_node_start(node_name) node_process = self._start_process(env, node_name, binary_path) node = cluster.Node(node_process, host_name, node_name, t) self.logger.info("Node [%s] has successfully started. Attaching telemetry devices.", node_name) t.attach_to_node(node) self.logger.info("Telemetry devices are now attached to node [%s].", node_name) return node
def _start_node(self, node, car, es, binary_path): node_name = self._node_name(node) host_name = socket.gethostname() enabled_devices = self.cfg.opts("mechanic", "telemetry.devices") node_telemetry = [ telemetry.FlightRecorder(self.node_telemetry_dir), telemetry.JitCompiler(self.node_telemetry_dir), telemetry.Gc(self.node_telemetry_dir), telemetry.PerfStat(self.node_telemetry_dir), telemetry.DiskIo(self.metrics_store), telemetry.CpuUsage(self.metrics_store), telemetry.EnvironmentInfo(es, self.metrics_store), ] t = telemetry.Telemetry(enabled_devices, devices=node_telemetry) env = self._prepare_env(car, node_name, t) cmd = self.prepare_cmd(car, node_name) process = self._start_process(cmd, env, node_name, binary_path) node = cluster.Node(process, host_name, node_name, t) logger.info("Cluster node [%s] has successfully started. Attaching telemetry devices to node." % node_name) t.attach_to_node(node) logger.info("Telemetry devices are now attached to node [%s]." % node_name) return node
def _start_node(self, node, car, es): node_name = self._node_name(node) host_name = socket.gethostname() node_telemetry = [ telemetry.FlightRecorder(self.cfg, self.metrics_store), telemetry.JitCompiler(self.cfg, self.metrics_store), telemetry.Gc(self.cfg, self.metrics_store), telemetry.PerfStat(self.cfg, self.metrics_store), telemetry.DiskIo(self.cfg, self.metrics_store), telemetry.CpuUsage(self.cfg, self.metrics_store), telemetry.EnvironmentInfo(self.cfg, es, self.metrics_store), ] t = telemetry.Telemetry(self.cfg, devices=node_telemetry) env = self._prepare_env(car, node_name, t) cmd = self.prepare_cmd(car, node_name) process = self._start_process(cmd, env, node_name) node = cluster.Node(process, host_name, node_name, t) t.attach_to_node(node) return node