You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Chinmay Kulkarni (JIRA)" <ji...@apache.org> on 2017/04/26 02:10:04 UTC
[jira] [Commented] (ZOOKEEPER-2662) Export a metric for txn log
sync times
[ https://issues.apache.org/jira/browse/ZOOKEEPER-2662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15984012#comment-15984012 ]
Chinmay Kulkarni commented on ZOOKEEPER-2662:
---------------------------------------------
[~eribeiro] are you still working on this JIRA? Your diff seems to solve the issue. I have added a test inside {{FileTxnSnapLogTest.java}} to check that {{syncElapsedTime}} is updated. The test is as follows:
{code:title=FileTxnSnapLogTest.java|borderStyle=solid}
@Test
public void testGetTxnLogSyncElapsedTime() throws IOException {
File tmpDir = ClientBase.createEmptyTestDir();
FileTxnSnapLog fileTxnSnapLog = new FileTxnSnapLog(new File(tmpDir, "data"),
new File(tmpDir, "data_txnlog"));
TxnHeader hdr = new TxnHeader(1, 1, 1, 1, ZooDefs.OpCode.setData);
Record txn = new SetDataTxn("/foo", new byte[0], 1);
Request req = new Request(0, 0, 0, hdr, txn, 0);
fileTxnSnapLog.append(req);
fileTxnSnapLog.commit();
long syncElapsedTime = fileTxnSnapLog.getTxnLogElapsedSyncTime();
Assert.assertNotEquals("Did not update syncElapsedTime!", -1L, syncElapsedTime);
}
{code}
[~apurtell] Is this sufficient to test the changes?
> Export a metric for txn log sync times
> --------------------------------------
>
> Key: ZOOKEEPER-2662
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2662
> Project: ZooKeeper
> Issue Type: Improvement
> Reporter: Andrew Purtell
> Assignee: Edward Ribeiro
> Attachments: ZOOKEEPER-2662.diff
>
>
> In FileTxnLog there is code that records the amount of time required to fsync the txn log in order to warn if that time exceeds a configurable threshold. This information should also be exported as a metric available by JMX so an important aspect of quorum performance can be monitored.
> ZooKeeperServerMXBean carries some global latency information for the server process already, seems like a good place to put it if not an entirely new bean for the TxnLog. After ZOOKEEPER-2310 might want to collect the same information for snapshots.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)