Skip to content

MINIFICPP-2854 Add benchmark scripts for repositories - #2245

Open
lordgamez wants to merge 1 commit into
apache:MINIFICPP-2852from
lordgamez:MINIFICPP-2854
Open

lordgamez wants to merge 1 commit into
apache:MINIFICPP-2852from
lordgamez:MINIFICPP-2854

Conversation

@lordgamez

Copy link
Copy Markdown
Contributor

https://issues.apache.org/jira/browse/MINIFICPP-2854

Report generation and README was generated using Claude Code.

Depends on #2203


Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.

In order to streamline the review of the contribution we ask you to ensure the following steps have been taken:

For all changes:

  • Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

  • Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

  • Has your PR been rebased against the latest commit within the target branch (typically main)?

  • Is your initial contribution a single, squashed commit?

For code changes:

  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE file?
  • If applicable, have you updated the NOTICE file?

For documentation related changes:

  • Have you ensured that format looks appropriate for the output in which it is rendered?

Note:

Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.

@lordgamez lordgamez changed the title MINIFICPP-2854 Add benchmark scripts repositories MINIFICPP-2854 Add benchmark scripts for repositories Aug 17, 2026
@lordgamez
lordgamez marked this pull request as ready for review September 14, 2026 11:45
@lordgamez
lordgamez requested a balanced review from Copilot September 14, 2026 11:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Execution and reporting paths can fail or silently produce incomplete or misleading benchmark results.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Adds tooling to benchmark MiNiFi C++ FlowFile and content repository implementations.

Changes:

  • Adds single and batch benchmark runners with multiple workload modes.
  • Collects CPU, memory, repository-size, and throughput metrics.
  • Generates aggregated HTML reports and documents usage.
File summaries
File Description
run_benchmark.py Runs workloads and collects metrics.
run_batch.py Executes repeated repository combinations.
generate_report.py Generates aggregate HTML reports.
resources/get_config.json Defines GetFile benchmark flow.
resources/generate_config.json Defines GenerateFlowFile benchmark flow.
requirements.txt Declares Python dependencies.
README.md Documents benchmark workflows.
results/.gitignore Excludes generated results.
Review details

Suppressed comments (1)

benchmarks/repository_benchmark/run_benchmark.py:222

  • As in the startup waiter, this newly returned docker-py Container has not been reloaded, so attrs["Created"] is not guaranteed to exist and burst runs can fail immediately with KeyError. Start from the beginning of this container's logs instead.
    since = datetime.fromisoformat(container.attrs["Created"])
  • Files reviewed: 8/8 changed files
  • Comments generated: 6
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread benchmarks/repository_benchmark/generate_report.py
Comment thread benchmarks/repository_benchmark/run_benchmark.py
Comment thread benchmarks/repository_benchmark/run_benchmark.py Outdated
Comment thread benchmarks/repository_benchmark/run_batch.py
Comment thread benchmarks/repository_benchmark/run_benchmark.py
Comment thread benchmarks/repository_benchmark/run_benchmark.py
@lordgamez
lordgamez force-pushed the MINIFICPP-2854 branch 3 times, most recently from a6d1495 to 9313164 Compare September 14, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants