bexhoma.collectors.dbmsbenchmarker module

Collector for DBMSBenchmarker experiments.

Provides map_index_to_queryname() and DbmsBenchmarkerCollector, which extends CollectorBase with query-level aggregation methods for warnings, errors, and execution latencies across multiple experiment codes.

Authors: Patrick K. Erdelt Copyright (C) 2020 Patrick K. Erdelt SPDX-License-Identifier: AGPL-3.0-or-later See LICENSE for details.

class bexhoma.collectors.dbmsbenchmarker.DbmsBenchmarkerCollector(path, codes, benchmark_run: int = 0)

Bases: CollectorBase

Collector for DBMSBenchmarker experiments.

Extends CollectorBase with query-level aggregation methods for warnings, errors, and latencies. Overrides get_evaluator() to return a evaluators.dbmsbenchmarker instance.

get_evaluator(code='')

Returns a evaluators.dbmsbenchmarker instance for the given experiment code.

Parameters:

code (str) – Experiment identifier. Defaults to the first code in self.codes.

Returns:

DBMSBenchmarker evaluator for the specified experiment.

Return type:

evaluators.dbmsbenchmarker

get_query_latencies(query_titles=False)

Aggregates query latency metrics across all experiment codes.

For each code, retrieves the per-query latency DataFrame from the evaluator and prefixes its index with the experiment code before concatenating.

Parameters:

query_titles (bool) – If True, use human-readable query titles as index labels.

Returns:

A combined DataFrame of query latencies for all experiments.

Return type:

pandas.DataFrame

get_total_errors(query_titles=False)

Aggregates error counts (failed queries) across all experiment codes.

For each code, retrieves the per-query error DataFrame from the evaluator and prefixes its index with the experiment code before concatenating.

Note

The current implementation delegates to evaluation.get_total_warnings.

Parameters:

query_titles (bool) – If True, use human-readable query titles as index labels.

Returns:

A combined DataFrame of error counts for all experiments.

Return type:

pandas.DataFrame

get_total_warnings(query_titles=False)

Aggregates warning counts (result mismatches) across all experiment codes.

For each code, retrieves the per-query warning DataFrame from the evaluator and prefixes its index with the experiment code before concatenating.

Parameters:

query_titles (bool) – If True, use human-readable query titles as index labels.

Returns:

A combined DataFrame of warning counts for all experiments.

Return type:

pandas.DataFrame

bexhoma.collectors.dbmsbenchmarker.map_index_to_queryname(numQuery)

Maps a query index string (e.g., 'q1') to a human-readable title from the global query_properties dictionary.

If the title cannot be resolved, the original input string is returned unchanged.

Parameters:

numQuery (str) – A query index string, typically a letter followed by a number (e.g., 'q1').

Returns:

The query title from query_properties, or numQuery if not found.

Return type:

str