[ https://issues.apache.org/jira/browse/BOOKKEEPER-862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14695287#comment-14695287 ]
Rakesh R commented on BOOKKEEPER-862: ------------------------------------- Thanks [~hustlmsp], [~l4stewar], nice improvement! Just few thoughts: # Since OrderedSafeExecutor#Builder is added I think we can either remove the {{public OrderedSafeExecutor(int numThreads, String threadName)}} or deprecate it. # [BookieClient.java#L321|https://github.com/apache/bookkeeper/blob/master/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java#L321] also use {{new OrderedSafeExecutor(1);}}. Could you please modify this to {{OrderedSafeExecutor.newBuilder()}} pattern. # This is just a suggestion, feel free to ignore. If some creator of new SafeRunnable() object miss to override #toString() method, it will print Object representation. One imprv I can think is define {{abstract String getName()}} method in SafeRunnable.java, so that creators will be forced to give meaningful name and while logging use {{runnable#getName}}. {code} +logger.warn("Runnable {}:{} took too long {} micros to execute.", + new Object[] { runnable, runnable.getClass(), elapsedMicroSec }); {code} > Add tracing and stats to OrderedSafeExecutor for debugging slow tasks > --------------------------------------------------------------------- > > Key: BOOKKEEPER-862 > URL: https://issues.apache.org/jira/browse/BOOKKEEPER-862 > Project: Bookkeeper > Issue Type: Improvement > Components: bookkeeper-server > Reporter: Leigh Stewart > Assignee: Leigh Stewart > Priority: Minor > Fix For: 4.4.0 > > Attachments: ose_stats-rebase.patch, ose_stats.patch > > > Porting a change form the Twitter branch to improve stats and logging in > OrderedSafeExecutor > These changes have been helpful for us in debugging latency issues in > Bookkeeper server/client > Summary of changes is > * add a config option for op stats > * add stats for task execution time, task pending time > * add a config option for logging a warning when an op takes longer than x > micros > * add toString implementations for submitted tasks so make it easier to track > down slow ops > * start using Builder for OrderedSafeExecutor > * add a very simple test to make sure that the slow op logging path is > exercised > Most of this came from Sijie originally, with some changes from me > -- This message was sent by Atlassian JIRA (v6.3.4#6332)