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

Concurrent Searching (Experimental): modify profiling implementation to support concurrent data collection #1673

Merged
merged 2 commits into from
Jan 10, 2022

Conversation

reta
Copy link
Collaborator

@reta reta commented Dec 7, 2021

Signed-off-by: Andriy Redko andriy.redko@aiven.io

Description

Part of #1500, it was suggested to split the initial pull request into smaller chunks to simplify the review. This one extracts changes related to profiler support.

Issues Resolved

[List any issues this PR will resolve]

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

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.

@reta reta requested a review from a team as a code owner December 7, 2021 21:24
@reta
Copy link
Collaborator Author

reta commented Dec 7, 2021

@nknize as we discussed, cutting the #1500 in smaller chunks, thanks!

@reta reta mentioned this pull request Dec 7, 2021
14 tasks
@opensearch-ci-bot
Copy link
Collaborator

Can one of the admins verify this patch?

@opensearch-ci-bot
Copy link
Collaborator

✅   Gradle Wrapper Validation success 5da09665877c900cde88a6a2c0104ce45a22793e

@opensearch-ci-bot
Copy link
Collaborator

✅   Gradle Precommit success 5da09665877c900cde88a6a2c0104ce45a22793e

@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 5da09665877c900cde88a6a2c0104ce45a22793e
Log 1368

Reports 1368

@reta reta force-pushed the issue-1286.poc.1 branch from 5da0966 to 0f00e7e Compare December 8, 2021 16:20
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 0f00e7e9b6b8131d1d86c6a2236a470ef44c798a
Log 1386

Reports 1386

@reta reta force-pushed the issue-1286.poc.1 branch from 0f00e7e to 4158155 Compare December 8, 2021 17:10
@opensearch-ci-bot
Copy link
Collaborator

✅   Gradle Check success 41581555c238e033a641fe81538af0f28ac2c162
Log 1388

Reports 1388

@reta reta force-pushed the issue-1286.poc.1 branch from 4158155 to d6456f0 Compare December 9, 2021 13:33
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure d6456f0e558b6d3800afe0bacbe9213cf0e99751
Log 1404

Reports 1404

@reta reta force-pushed the issue-1286.poc.1 branch from d6456f0 to 8ec07fd Compare December 9, 2021 14:08
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 8ec07fdc50a3506461f6eead5a54acbce1277fb7
Log 1406

Reports 1406

@reta reta force-pushed the issue-1286.poc.1 branch from 8ec07fd to 34bd907 Compare December 9, 2021 14:32
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 34bd90715f7d6538a695111891613a3ac59221f4
Log 1407

Reports 1407

@reta reta force-pushed the issue-1286.poc.1 branch from 34bd907 to 9cc5d33 Compare December 9, 2021 15:06
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 9cc5d33e502f1aa093e4fa52b92867e817f92ab9
Log 1408

Reports 1408

@reta reta force-pushed the issue-1286.poc.1 branch from 9cc5d33 to ac4968b Compare December 9, 2021 18:35
@opensearch-ci-bot
Copy link
Collaborator

✅   Gradle Check success ac4968bc729fc04db6dda20e1f5a321aaf6ed9f9
Log 1413

Reports 1413

/**
* Build a timing count breakdown for current instance
*/
protected Map<String, Long> doBuildBreakdownMap() {
Copy link
Member

Choose a reason for hiding this comment

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

What is the purpose of introducing this method as opposed to making toBreakdownMap non-final and overriding it in ConcurrentQueryProfileBreakdown?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good one, only to not break the API compatibility, this is the only reason, thank you

Copy link
Member

Choose a reason for hiding this comment

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

What would break by making toBreakdownMap non-final? If there was ever any intent to making that method final, it is being circumvented by this new protected method, so I'd be inclined to simplify things and just make it non-final. Unless there is some compatibility concern that I don't understand.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

No objections, will do that, thanks!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Fixed!


import java.util.Collection;

public interface InternalProfileComponent {
Copy link
Member

Choose a reason for hiding this comment

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

What is the purpose of introducing this interface? I see that only one class implements it now. Is there plan to have multiple implementations of it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, it is extensively used in #1500 to include CollectorManager instances into profiling

@reta reta force-pushed the issue-1286.poc.1 branch from ac4968b to 5df5b27 Compare January 7, 2022 13:46
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 5df5b27851f1ca016426f08de1cf63e7bde69119
Log 1798

Reports 1798

@reta reta force-pushed the issue-1286.poc.1 branch from 5df5b27 to 1337a0f Compare January 7, 2022 14:18
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 1337a0fdfb1efa19297ad41581de3253c4a7212a
Log 1799

Reports 1799

@reta reta force-pushed the issue-1286.poc.1 branch from 1337a0f to 97fa09c Compare January 7, 2022 14:37
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 97fa09ca305b4c03cbf90251e60e97b5bd13a54e
Log 1800

Reports 1800

@reta reta force-pushed the issue-1286.poc.1 branch from 97fa09c to 3e0aebd Compare January 7, 2022 15:34
@opensearch-ci-bot
Copy link
Collaborator

❌   Gradle Check failure 3e0aebda21388cf24b28a6f9f98d3d180c844f1f
Log 1801

Reports 1801

reta added 2 commits January 10, 2022 08:52
…to support concurrent data collection

Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
Signed-off-by: Andriy Redko <andriy.redko@aiven.io>
@reta reta force-pushed the issue-1286.poc.1 branch from 3e0aebd to f88cc2e Compare January 10, 2022 13:53
@opensearch-ci-bot
Copy link
Collaborator

✅   Gradle Check success f88cc2e
Log 1829

Reports 1829

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants