OpenSearch Instrumentation Feature
Summary
This PR adds basic instrumentation for OpenSearch operations (get and search) in EvoMaster.
The feature tracks these method calls and adds relevant information (operation, query, index, execution time) to the execution context for further analysis.
Changes
- Added
OpenSearchClientClassReplacementto intercept and instrumentgetandsearchmethods ofOpenSearchClient. - Introduced
OpenSearchCommandto encapsulate operation details. - Updated
ExecutionTracerto store OpenSearch operation info. - Added/updated tests in
e2e-tests/spring-rest-opensearchto verify basic instrumentation.
How it works
- When
getorsearchis called on anOpenSearchClient, the replacement methods record the operation, arguments, and execution time. - This info is stored in the execution context for future usage in EvoMaster's analysis. TBD
Notes
- No breaking changes.
- Only basic instrumentation for now; more operations will be added in the future.
Hi Andrea, this PR was made by Miguel Rodriguez, a master student that is currently working on supporting OpenSearch (https://opensearch.org/) in EvoMaster. I have already went through a review of this PR on his fork.
@mmiguerodriguez @jgaleotti thx! I was out of town. i ll look at it in next coming days
@mmiguerodriguez thx for your first PR! sorry for delay in reviewing (busy period...).
@mmiguerodriguez could you check if you it is possible to make the PR request toward a branch with name of your choice and not master? the problem with PR from forks is that CI is not run :( so i don't see if the build would fail. if it goes to a branch, i can merge even if CI fails, and then can have another PR
@mmiguerodriguez could you check if you it is possible to make the PR request toward a branch with name of your choice and not
master? the problem with PR from forks is that CI is not run :( so i don't see if the build would fail. if it goes to a branch, i can merge even if CI fails, and then can have another PR
@arcuri82 I'm not able to create a branch in this repo with name of my choice, I can select issre-update branch since it only has 1 commit ahead of master.
Let me know if that is what you meant or if you expect something different.
I've already applied the changes requested.
@mmiguerodriguez wait. let me create another branch :)
@mmiguerodriguez do it to external-pr-opensearch
Thanks!
@mmiguerodriguez I gave you access to EM now. should have gotten a notification. from now on, can work directly on branches of EM. note: your latest PR is not merged into master yet, as we need to wait for CI
hmmm... actually #1268 is already failing. @mmiguerodriguez please look at it. @jgaleotti FYI
Will be having a look. Thanks @arcuri82