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

HBASE-23083 Collect Executor status info periodically and report to metric system #664

Merged
merged 1 commit into from
Oct 11, 2019

Conversation

chenxu14
Copy link
Contributor

metrics system

@chenxu14 chenxu14 changed the title HBASE-23083 Collect Executor status info periodically and report to HBASE-23083 Collect Executor status info periodically and report to metric system Sep 27, 2019
@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
💙 reexec 0m 33s Docker mode activated.
_ Prechecks _
💚 dupname 0m 0s No case conflicting files found.
💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
💚 @author 0m 0s The patch does not contain any @author tags.
💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ master Compile Tests _
💙 mvndep 0m 35s Maven dependency ordering for branch
💚 mvninstall 5m 20s master passed
💚 compile 1m 21s master passed
💚 checkstyle 1m 45s master passed
💚 shadedjars 4m 32s branch has no errors when building our shaded downstream artifacts.
💚 javadoc 0m 59s master passed
💙 spotbugs 4m 8s Used deprecated FindBugs config; considering switching to SpotBugs.
💚 findbugs 4m 58s master passed
_ Patch Compile Tests _
💙 mvndep 0m 15s Maven dependency ordering for patch
💚 mvninstall 4m 51s the patch passed
💚 compile 1m 20s the patch passed
💚 javac 1m 20s the patch passed
💚 checkstyle 0m 26s The patch passed checkstyle in hbase-common
💚 checkstyle 1m 17s hbase-server: The patch generated 0 new + 64 unchanged - 9 fixed = 64 total (was 73)
💔 whitespace 0m 0s The patch has 2 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
💚 shadedjars 4m 35s patch has no errors when building our shaded downstream artifacts.
💚 hadoopcheck 15m 35s Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
💚 javadoc 0m 56s the patch passed
💚 findbugs 5m 15s the patch passed
_ Other Tests _
💚 unit 3m 6s hbase-common in the patch passed.
💚 unit 155m 3s hbase-server in the patch passed.
💚 asflicense 1m 7s The patch does not generate ASF License warnings.
220m 27s
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/1/artifact/out/Dockerfile
GITHUB PR #664
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux d6d03048db29 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-664/out/precommit/personality/provided.sh
git revision master / 3250a80
Default Java 1.8.0_181
whitespace https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/1/artifact/out/whitespace-eol.txt
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/1/testReport/
Max. process+thread count 4879 (vs. ulimit of 10000)
modules C: hbase-common hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/1/console
versions git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered by Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
💙 reexec 0m 35s Docker mode activated.
_ Prechecks _
💚 dupname 0m 0s No case conflicting files found.
💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
💚 @author 0m 0s The patch does not contain any @author tags.
💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ master Compile Tests _
💙 mvndep 0m 36s Maven dependency ordering for branch
💚 mvninstall 5m 9s master passed
💚 compile 1m 20s master passed
💚 checkstyle 1m 45s master passed
💚 shadedjars 4m 37s branch has no errors when building our shaded downstream artifacts.
💚 javadoc 0m 58s master passed
💙 spotbugs 4m 5s Used deprecated FindBugs config; considering switching to SpotBugs.
💚 findbugs 4m 52s master passed
_ Patch Compile Tests _
💙 mvndep 0m 15s Maven dependency ordering for patch
💚 mvninstall 6m 0s the patch passed
💚 compile 1m 30s the patch passed
💚 javac 1m 30s the patch passed
💚 checkstyle 0m 28s The patch passed checkstyle in hbase-common
💚 checkstyle 1m 33s hbase-server: The patch generated 0 new + 64 unchanged - 9 fixed = 64 total (was 73)
💔 whitespace 0m 0s The patch has 2 line(s) that end in whitespace. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
💚 shadedjars 4m 51s patch has no errors when building our shaded downstream artifacts.
💚 hadoopcheck 15m 56s Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
💚 javadoc 1m 0s the patch passed
💚 findbugs 5m 11s the patch passed
_ Other Tests _
💚 unit 3m 10s hbase-common in the patch passed.
💚 unit 164m 12s hbase-server in the patch passed.
💚 asflicense 0m 55s The patch does not generate ASF License warnings.
231m 22s
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/2/artifact/out/Dockerfile
GITHUB PR #664
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux e4e32d0ea9e7 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-664/out/precommit/personality/provided.sh
git revision master / 3250a80
Default Java 1.8.0_181
whitespace https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/2/artifact/out/whitespace-eol.txt
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/2/testReport/
Max. process+thread count 4984 (vs. ulimit of 10000)
modules C: hbase-common hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/2/console
versions git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered by Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
💙 reexec 0m 50s Docker mode activated.
_ Prechecks _
💚 dupname 0m 0s No case conflicting files found.
💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
💚 @author 0m 0s The patch does not contain any @author tags.
💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ master Compile Tests _
💙 mvndep 0m 39s Maven dependency ordering for branch
💚 mvninstall 5m 50s master passed
💚 compile 1m 34s master passed
💚 checkstyle 2m 12s master passed
💚 shadedjars 5m 54s branch has no errors when building our shaded downstream artifacts.
💚 javadoc 1m 4s master passed
💙 spotbugs 4m 55s Used deprecated FindBugs config; considering switching to SpotBugs.
💚 findbugs 5m 50s master passed
_ Patch Compile Tests _
💙 mvndep 0m 15s Maven dependency ordering for patch
💚 mvninstall 5m 32s the patch passed
💚 compile 1m 27s the patch passed
💚 javac 1m 27s the patch passed
💚 checkstyle 0m 28s The patch passed checkstyle in hbase-common
💚 checkstyle 1m 23s hbase-server: The patch generated 0 new + 64 unchanged - 9 fixed = 64 total (was 73)
💚 whitespace 0m 1s The patch has no whitespace issues.
💚 shadedjars 5m 11s patch has no errors when building our shaded downstream artifacts.
💚 hadoopcheck 17m 45s Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
💚 javadoc 0m 58s the patch passed
💚 findbugs 5m 8s the patch passed
_ Other Tests _
💚 unit 3m 5s hbase-common in the patch passed.
💚 unit 154m 28s hbase-server in the patch passed.
💚 asflicense 1m 7s The patch does not generate ASF License warnings.
227m 22s
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/3/artifact/out/Dockerfile
GITHUB PR #664
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux 71be3e705a6c 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-664/out/precommit/personality/provided.sh
git revision master / 3250a80
Default Java 1.8.0_181
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/3/testReport/
Max. process+thread count 4946 (vs. ulimit of 10000)
modules C: hbase-common hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/3/console
versions git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered by Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@saintstack saintstack left a comment

Choose a reason for hiding this comment

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

A few nits. Looks good so far.

@@ -1191,6 +1191,9 @@
"hbase.node.health.failure.threshold";
public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;

public static final String EXECUTOR_STATUS_COLLECTE_ENABLED =
"hbase.executors.status.collect.enabled";
public static final boolean DEFAULT_EXECUTOR_STATUS_COLLECTE_ENABLED = true;
Copy link
Contributor

Choose a reason for hiding this comment

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

COLLECTE<= extra 'E'.

public ExecutorStatusChore(int sleepTime, Stoppable stopper, ExecutorService service,
MetricsRegionServerSource metrics) {
super("ExecutorStatusChore", stopper, sleepTime);
LOG.info("ExecutorStatusChore runs every " + StringUtils.formatTime(sleepTime));
Copy link
Contributor

Choose a reason for hiding this comment

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

s/runs every/runs every {}/ and s/+/,/... i.e. use parameterized logging.

HConstants.DEFAULT_EXECUTOR_STATUS_COLLECTE_ENABLED)) {
int sleepTime = this.conf.getInt(ExecutorStatusChore.WAKE_FREQ,
ExecutorStatusChore.DEFAULT_WAKE_FREQ);
executorStatusChore = new ExecutorStatusChore(sleepTime, this, this.getExecutorService(),
Copy link
Contributor

Choose a reason for hiding this comment

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

Are there other executor services running in RS? This the only one?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not the only one inHRegionServer#startServices()

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi Stack, maybe I misunderstood it. I mead there is only one ExecutorService, but it will start many Executors.

Copy link
Contributor

Choose a reason for hiding this comment

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

My question is if this patch will get metrics on all executors in the regionserver or just one set? If it does not get metrics on them all, should it? Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

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

So, we only need one chore to report on all executors?

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Comment
💙 reexec 0m 33s Docker mode activated.
_ Prechecks _
💚 dupname 0m 0s No case conflicting files found.
💚 hbaseanti 0m 0s Patch does not have any anti-patterns.
💚 @author 0m 0s The patch does not contain any @author tags.
💚 test4tests 0m 0s The patch appears to include 1 new or modified test files.
_ master Compile Tests _
💙 mvndep 1m 6s Maven dependency ordering for branch
💚 mvninstall 5m 17s master passed
💚 compile 1m 20s master passed
💚 checkstyle 1m 49s master passed
💚 shadedjars 4m 36s branch has no errors when building our shaded downstream artifacts.
💚 javadoc 1m 0s master passed
💙 spotbugs 4m 5s Used deprecated FindBugs config; considering switching to SpotBugs.
💚 findbugs 4m 52s master passed
_ Patch Compile Tests _
💙 mvndep 0m 15s Maven dependency ordering for patch
💚 mvninstall 4m 58s the patch passed
💚 compile 1m 22s the patch passed
💚 javac 1m 22s the patch passed
💚 checkstyle 0m 28s The patch passed checkstyle in hbase-common
💚 checkstyle 1m 19s hbase-server: The patch generated 0 new + 64 unchanged - 9 fixed = 64 total (was 73)
💚 whitespace 0m 0s The patch has no whitespace issues.
💚 shadedjars 4m 33s patch has no errors when building our shaded downstream artifacts.
💚 hadoopcheck 15m 31s Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.
💚 javadoc 0m 59s the patch passed
💚 findbugs 5m 6s the patch passed
_ Other Tests _
💚 unit 3m 6s hbase-common in the patch passed.
💚 unit 159m 56s hbase-server in the patch passed.
💚 asflicense 1m 7s The patch does not generate ASF License warnings.
225m 53s
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/4/artifact/out/Dockerfile
GITHUB PR #664
Optional Tests dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile
uname Linux bc83ed2af8a2 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux
Build tool maven
Personality /home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-664/out/precommit/personality/provided.sh
git revision master / ef79b40
Default Java 1.8.0_181
Test Results https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/4/testReport/
Max. process+thread count 4998 (vs. ulimit of 10000)
modules C: hbase-common hbase-server U: .
Console output https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-664/4/console
versions git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11
Powered by Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@saintstack saintstack left a comment

Choose a reason for hiding this comment

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

This is a nice patch. Just the few little questions about it.

* and report to metrics system
*/
@InterfaceAudience.Private
public class ExecutorStatusChore extends ScheduledChore {
Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, is it a chore per executorservice monitoried or is it one chore monitoring all executorservices in the process?

HConstants.DEFAULT_EXECUTOR_STATUS_COLLECTE_ENABLED)) {
int sleepTime = this.conf.getInt(ExecutorStatusChore.WAKE_FREQ,
ExecutorStatusChore.DEFAULT_WAKE_FREQ);
executorStatusChore = new ExecutorStatusChore(sleepTime, this, this.getExecutorService(),
Copy link
Contributor

Choose a reason for hiding this comment

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

So, we only need one chore to report on all executors?

@chenxu14
Copy link
Contributor Author

Hi @saintstack , just one Chore is enough, it will get metrics on all executors in the regionserver. metrics looks like this
image

@saintstack saintstack merged commit 1aee5f0 into apache:master Oct 11, 2019
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