def attach_to_node(self, node): # we gather also host level metrics here although they will just be overridden for multiple nodes on the same node (which is no # problem as the values are identical anyway). self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "os_name", sysstats.os_name()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "os_version", sysstats.os_version()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "cpu_logical_cores", sysstats.logical_cpu_cores()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "cpu_physical_cores", sysstats.physical_cpu_cores()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "cpu_model", sysstats.cpu_model()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "node_name", node.node_name) # This is actually the only node level metric, but it is easier to implement this way self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "host_name", node.host_name)
def attach_to_node(self, node): self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "os_name", sysstats.os_name()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "os_version", sysstats.os_version()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "cpu_logical_cores", sysstats.logical_cpu_cores()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "cpu_physical_cores", sysstats.physical_cpu_cores()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "cpu_model", sysstats.cpu_model()) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "node_name", node.node_name) self.metrics_store.add_meta_info(metrics.MetaInfoScope.node, node.node_name, "host_name", node.host_name)
:param name: A descriptive name for this car. :param config_snippet: A string snippet that will be appended as is to elasticsearch.yml of the benchmark candidate. :param logging_config: A string representing the entire contents of logging.yml. If not set, the factory defaults will be used. :param nodes: The number of nodes to start. Defaults to 1 node. All nodes are started on the same machine. :param processors: The number of processors to use (per node). :param heap: A string defining the maximum amount of Java heap to use. For allows values, see the documentation on -Xmx in `<http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BABHDABI>` :param java_opts: Additional Java options to pass to each node on startup. :param gc_opts: Additional garbage collector options to pass to each node on startup. """ self.name = name self.custom_config_snippet = config_snippet self.custom_logging_config = logging_config self.nodes = nodes self.processors = processors self.heap = heap self.java_opts = java_opts self.gc_opts = gc_opts def __str__(self): return self.name cars = [ Car(name="defaults"), Car(name="4gheap", heap="4g"), Car(name="two_nodes", nodes=2, processors=sysstats.logical_cpu_cores() // 2), Car(name="verbose_iw", logging_config={"logging.yml": mergePartsLogYmlConfig, "log4j2.properties": mergePartsLog4j2Config}) ]
candidate=CandidateSettings(index_settings=benchmarkFastSettings, heap="4g"), benchmark=BenchmarkSettings() ), TrackSetup( name="fastupdates", description="the same as fast, except we pass in an ID (worst case random UUID) for each document and 25% of the time the ID " "already exists in the index.", candidate=CandidateSettings(index_settings=benchmarkFastSettings, heap="4g"), benchmark=BenchmarkSettings(id_conflicts=IndexIdConflict.SequentialConflicts) ), TrackSetup( name="two_nodes_defaults", description="append-only, using all default settings, but runs 2 nodes on 1 box (5 shards, 1 replica).", # integer divide! candidate=CandidateSettings(index_settings=greenNodeSettings, nodes=2, processors=sysstats.logical_cpu_cores() // 2), benchmark=BenchmarkSettings() ), TrackSetup( name="defaults_verbose_iw", description="Based on defaults but specifically set up to gather merge part times.", # integer divide! candidate=CandidateSettings(index_settings=greenNodeSettings, logging_config=mergePartsLogConfig), benchmark=BenchmarkSettings() ), ]
in `<http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BABHDABI>` :param java_opts: Additional Java options to pass to each node on startup. :param gc_opts: Additional garbage collector options to pass to each node on startup. """ self.name = name self.custom_config_snippet = config_snippet self.custom_logging_config = logging_config self.nodes = nodes self.processors = processors self.heap = heap self.java_opts = java_opts self.gc_opts = gc_opts def __str__(self): return self.name cars = [ Car(name="defaults"), Car(name="4gheap", heap="4g"), Car(name="two_nodes", nodes=2, processors=sysstats.logical_cpu_cores() // 2), Car(name="verbose_iw", logging_config={ "logging.yml": mergePartsLogYmlConfig, "log4j2.properties": mergePartsLog4j2Config, "log4j2.properties.5": mergePartsLog4j2ConfigV5, }) ]