Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new query profile collector fields with concurrent search execution #7898

Merged

Conversation

ticheng-aws
Copy link
Contributor

@ticheng-aws ticheng-aws commented Jun 2, 2023

Description

To show high-level concurrent execution details, we bring min_slice_time_in_nanos, max_slice_time_in_nanos, and slice_count etc. fields into the query response. With these new fields, users can quickly determine query performance and skew issues.

Definition of existing collector fields

name: A more friendly representation of the collector's class name.
reason: A "hint" to help provide some context about this collector.
time_in_nanos: The total elapsed time for this collector. In the concurrent search case, this is the total time across all slices (i.e. max(slice_end_time) - min(slice_start_time))
children: A list of children collectors "embedded" inside this collector.

Definition of new collector fields with concurrent execution

reduce_time_in_nanos: The elapsed time in the reduce phase.
min_slice_time_in_nanos: The minimum slice time for this collector manager.
max_slice_time_in_nanos: The maximum slice time for this collector manager.
avg_slice_time_in_nanos: The average slice time for this collector manager.
slice_count: The segment slice count for this collector manager.

Related Issues

Resolves #7355
Doc update issue: opensearch-project/documentation-website#4281

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

…ecution

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
@github-actions
Copy link
Contributor

github-actions bot commented Jun 2, 2023

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

github-actions bot commented Jun 2, 2023

Gradle Check (Jenkins) Run Completed with:

@ticheng-aws ticheng-aws force-pushed the cs-query-profile-stats branch from 00d2519 to c45a836 Compare June 2, 2023 22:07
@github-actions
Copy link
Contributor

github-actions bot commented Jun 2, 2023

Gradle Check (Jenkins) Run Completed with:

@ticheng-aws ticheng-aws force-pushed the cs-query-profile-stats branch from e5f293c to 1cd9337 Compare June 7, 2023 21:32
@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2023

Gradle Check (Jenkins) Run Completed with:

@sohami
Copy link
Collaborator

sohami commented Jun 7, 2023

[DOC] Update search profile API documentation with concurrency related changes opensearch-project/documentation-website#4281

@reta Just wanted to confirm that this doc change will be needed as part of concurrent search GA not before that. This is because the output of profile will not show these fields before that.

@reta
Copy link
Collaborator

reta commented Jun 7, 2023

[DOC] Update search profile API documentation with concurrency related changes opensearch-project/documentation-website#4281

@reta Just wanted to confirm that this doc change will be needed as part of concurrent search GA not before that. This is because the output of profile will not show these fields before that.

@ticheng-aws That is fine, you could mention the version this feature will be available

@ticheng-aws ticheng-aws force-pushed the cs-query-profile-stats branch from 1cd9337 to d308c36 Compare June 7, 2023 23:05
@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2023

Gradle Check (Jenkins) Run Completed with:

@ticheng-aws ticheng-aws force-pushed the cs-query-profile-stats branch from d308c36 to 77fb125 Compare June 7, 2023 23:40
@github-actions
Copy link
Contributor

github-actions bot commented Jun 7, 2023

Gradle Check (Jenkins) Run Completed with:

… more tests

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
@ticheng-aws ticheng-aws force-pushed the cs-query-profile-stats branch from 77fb125 to 5eedf6e Compare June 8, 2023 04:17
@github-actions
Copy link
Contributor

github-actions bot commented Jun 8, 2023

Gradle Check (Jenkins) Run Completed with:

  • RESULT: UNSTABLE ❕
  • TEST FAILURES:
      1 org.opensearch.search.backpressure.SearchBackpressureIT.testSearchShardTaskCancellationWithHighCpu

Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Jun 8, 2023

Gradle Check (Jenkins) Run Completed with:

@andrross andrross merged commit c58dc1a into opensearch-project:main Jun 8, 2023
@andrross andrross added the backport 2.x Backport to 2.x branch label Jun 8, 2023
@opensearch-trigger-bot
Copy link
Contributor

The backport to 2.x failed:

The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-7898-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 c58dc1ade9096ab70e22024e91eecd79fe2416e8
# Push it to GitHub
git push --set-upstream origin backport/backport-7898-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/backport-2.x

Then, create a pull request where the base branch is 2.x and the compare/head branch is backport/backport-7898-to-2.x.

@reta
Copy link
Collaborator

reta commented Jun 8, 2023

@ticheng-aws mind please to submit a manual backport to 2.x branch?

ticheng-aws added a commit to ticheng-aws/OpenSearch that referenced this pull request Jun 8, 2023
…on (opensearch-project#7898)

* Bringing new query profile collector fields with concurrent search execution

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update CHANGELOG.md and fix gradle check format violations

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Change query profile collector field data types to primitives and add more tests

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
(cherry picked from commit c58dc1a)
Signed-off-by: Ticheng Lin <ticheng@amazon.com>
@ticheng-aws
Copy link
Contributor Author

@ticheng-aws mind please to submit a manual backport to 2.x branch?

#7975 backport for this PR has been created.

dblock pushed a commit to dblock/OpenSearch that referenced this pull request Jun 8, 2023
…on (opensearch-project#7898)

* Bringing new query profile collector fields with concurrent search execution

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update CHANGELOG.md and fix gradle check format violations

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Change query profile collector field data types to primitives and add more tests

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
sandeshkr419 pushed a commit to sandeshkr419/OpenSearch that referenced this pull request Jun 8, 2023
…on (opensearch-project#7898)

* Bringing new query profile collector fields with concurrent search execution

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update CHANGELOG.md and fix gradle check format violations

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Change query profile collector field data types to primitives and add more tests

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
reta added a commit that referenced this pull request Jun 9, 2023
…ollector fields with concurrent search execution (#7898) (#7975)

* Add new query profile collector fields with concurrent search execution (#7898)

* Bringing new query profile collector fields with concurrent search execution

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update CHANGELOG.md and fix gradle check format violations

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Change query profile collector field data types to primitives and add more tests

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
(cherry picked from commit c58dc1a)
Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update server/src/main/java/org/opensearch/search/profile/query/CollectorResult.java

Co-authored-by: Andriy Redko <drreta@gmail.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>

* Update server/src/main/java/org/opensearch/search/profile/query/CollectorResult.java

Co-authored-by: Andriy Redko <drreta@gmail.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
Co-authored-by: Andriy Redko <drreta@gmail.com>
gaiksaya pushed a commit to gaiksaya/OpenSearch that referenced this pull request Jun 26, 2023
…ollector fields with concurrent search execution (opensearch-project#7898) (opensearch-project#7975)

* Add new query profile collector fields with concurrent search execution (opensearch-project#7898)

* Bringing new query profile collector fields with concurrent search execution

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update CHANGELOG.md and fix gradle check format violations

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Change query profile collector field data types to primitives and add more tests

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
(cherry picked from commit c58dc1a)
Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update server/src/main/java/org/opensearch/search/profile/query/CollectorResult.java

Co-authored-by: Andriy Redko <drreta@gmail.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>

* Update server/src/main/java/org/opensearch/search/profile/query/CollectorResult.java

Co-authored-by: Andriy Redko <drreta@gmail.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
Co-authored-by: Andriy Redko <drreta@gmail.com>
imRishN pushed a commit to imRishN/OpenSearch that referenced this pull request Jun 27, 2023
…on (opensearch-project#7898)

* Bringing new query profile collector fields with concurrent search execution

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update CHANGELOG.md and fix gradle check format violations

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Change query profile collector field data types to primitives and add more tests

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
Signed-off-by: Rishab Nahata <rnnahata@amazon.com>
@ticheng-aws ticheng-aws self-assigned this Nov 2, 2023
shiv0408 pushed a commit to Gaurav614/OpenSearch that referenced this pull request Apr 25, 2024
…on (opensearch-project#7898)

* Bringing new query profile collector fields with concurrent search execution

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Update CHANGELOG.md and fix gradle check format violations

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

* Change query profile collector field data types to primitives and add more tests

Signed-off-by: Ticheng Lin <ticheng@amazon.com>

---------

Signed-off-by: Ticheng Lin <ticheng@amazon.com>
Signed-off-by: Ticheng Lin <51488860+ticheng-aws@users.noreply.github.com>
Signed-off-by: Shivansh Arora <hishiv@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.x Backport to 2.x branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Concurrent Segment Search] Query profile stats with concurrent execution of query phase
4 participants