Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
        :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})
]
Example #5
0
        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()
    ),
]
Example #6
0
        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,
        })
]