@@ -213,20 +213,23 @@ public void processRequest(Request request) {
213213 switch (request .type ) {
214214 case OpCode .ping : {
215215 lastOp = "PING" ;
216+ incrementOpCount (ServerMetrics .getMetrics ().PING_OP_COUNT );
216217 updateStats (request , lastOp , lastZxid );
217218
218219 responseSize = cnxn .sendResponse (new ReplyHeader (ClientCnxn .PING_XID , lastZxid , 0 ), null , "response" );
219220 return ;
220221 }
221222 case OpCode .createSession : {
222223 lastOp = "SESS" ;
224+ incrementOpCount (ServerMetrics .getMetrics ().CREATE_SESSION_OP_COUNT );
223225 updateStats (request , lastOp , lastZxid );
224226
225227 zks .finishSessionInit (request .cnxn , true );
226228 return ;
227229 }
228230 case OpCode .multi : {
229231 lastOp = "MULT" ;
232+ incrementOpCount (ServerMetrics .getMetrics ().MULTI_OP_COUNT );
230233 rsp = new MultiResponse ();
231234
232235 for (ProcessTxnResult subTxnResult : rc .multiResult ) {
@@ -269,6 +272,7 @@ public void processRequest(Request request) {
269272 }
270273 case OpCode .multiRead : {
271274 lastOp = "MLTR" ;
275+ incrementOpCount (ServerMetrics .getMetrics ().MULTI_READ_OP_COUNT );
272276 MultiOperationRecord multiReadRecord = request .readRequestRecord (MultiOperationRecord ::new );
273277 rsp = new MultiResponse ();
274278 OpResult subResult ;
@@ -297,6 +301,7 @@ public void processRequest(Request request) {
297301 }
298302 case OpCode .create : {
299303 lastOp = "CREA" ;
304+ incrementOpCount (ServerMetrics .getMetrics ().CREATE_OP_COUNT );
300305 rsp = new CreateResponse (rc .path );
301306 err = Code .get (rc .err );
302307 requestPathMetricsCollector .registerRequest (request .type , rc .path );
@@ -306,6 +311,7 @@ public void processRequest(Request request) {
306311 case OpCode .createTTL :
307312 case OpCode .createContainer : {
308313 lastOp = "CREA" ;
314+ incrementOpCount (ServerMetrics .getMetrics ().CREATE_OP_COUNT );
309315 rsp = new Create2Response (rc .path , rc .stat );
310316 err = Code .get (rc .err );
311317 requestPathMetricsCollector .registerRequest (request .type , rc .path );
@@ -314,19 +320,22 @@ public void processRequest(Request request) {
314320 case OpCode .delete :
315321 case OpCode .deleteContainer : {
316322 lastOp = "DELE" ;
323+ incrementOpCount (ServerMetrics .getMetrics ().DELETE_OP_COUNT );
317324 err = Code .get (rc .err );
318325 requestPathMetricsCollector .registerRequest (request .type , rc .path );
319326 break ;
320327 }
321328 case OpCode .setData : {
322329 lastOp = "SETD" ;
330+ incrementOpCount (ServerMetrics .getMetrics ().SET_DATA_OP_COUNT );
323331 rsp = new SetDataResponse (rc .stat );
324332 err = Code .get (rc .err );
325333 requestPathMetricsCollector .registerRequest (request .type , rc .path );
326334 break ;
327335 }
328336 case OpCode .reconfig : {
329337 lastOp = "RECO" ;
338+ incrementOpCount (ServerMetrics .getMetrics ().RECONFIG_OP_COUNT );
330339 rsp = new GetDataResponse (
331340 ((QuorumZooKeeperServer ) zks ).self .getQuorumVerifier ().toString ().getBytes (UTF_8 ),
332341 rc .stat );
@@ -335,31 +344,36 @@ public void processRequest(Request request) {
335344 }
336345 case OpCode .setACL : {
337346 lastOp = "SETA" ;
347+ incrementOpCount (ServerMetrics .getMetrics ().SET_ACL_OP_COUNT );
338348 rsp = new SetACLResponse (rc .stat );
339349 err = Code .get (rc .err );
340350 requestPathMetricsCollector .registerRequest (request .type , rc .path );
341351 break ;
342352 }
343353 case OpCode .closeSession : {
344354 lastOp = "CLOS" ;
355+ incrementOpCount (ServerMetrics .getMetrics ().CLOSE_SESSION_OP_COUNT );
345356 err = Code .get (rc .err );
346357 break ;
347358 }
348359 case OpCode .sync : {
349360 lastOp = "SYNC" ;
361+ incrementOpCount (ServerMetrics .getMetrics ().SYNC_OP_COUNT );
350362 SyncRequest syncRequest = request .readRequestRecord (SyncRequest ::new );
351363 rsp = new SyncResponse (syncRequest .getPath ());
352364 requestPathMetricsCollector .registerRequest (request .type , syncRequest .getPath ());
353365 break ;
354366 }
355367 case OpCode .check : {
356368 lastOp = "CHEC" ;
369+ incrementOpCount (ServerMetrics .getMetrics ().CHECK_OP_COUNT );
357370 rsp = new SetDataResponse (rc .stat );
358371 err = Code .get (rc .err );
359372 break ;
360373 }
361374 case OpCode .exists : {
362375 lastOp = "EXIS" ;
376+ incrementOpCount (ServerMetrics .getMetrics ().EXISTS_OP_COUNT );
363377 ExistsRequest existsRequest = request .readRequestRecord (ExistsRequest ::new );
364378 path = existsRequest .getPath ();
365379 if (path .indexOf ('\0' ) != -1 ) {
@@ -382,6 +396,7 @@ public void processRequest(Request request) {
382396 }
383397 case OpCode .getData : {
384398 lastOp = "GETD" ;
399+ incrementOpCount (ServerMetrics .getMetrics ().GET_DATA_OP_COUNT );
385400 GetDataRequest getDataRequest = request .readRequestRecord (GetDataRequest ::new );
386401 path = getDataRequest .getPath ();
387402 rsp = handleGetDataRequest (getDataRequest , cnxn , request .authInfo );
@@ -390,6 +405,7 @@ public void processRequest(Request request) {
390405 }
391406 case OpCode .setWatches : {
392407 lastOp = "SETW" ;
408+ incrementOpCount (ServerMetrics .getMetrics ().SET_WATCHES_OP_COUNT );
393409 SetWatches setWatches = request .readRequestRecord (SetWatches ::new );
394410 long relativeZxid = setWatches .getRelativeZxid ();
395411 zks .getZKDatabase ()
@@ -405,6 +421,7 @@ public void processRequest(Request request) {
405421 }
406422 case OpCode .setWatches2 : {
407423 lastOp = "STW2" ;
424+ incrementOpCount (ServerMetrics .getMetrics ().SET_WATCHES_OP_COUNT );
408425 SetWatches2 setWatches = request .readRequestRecord (SetWatches2 ::new );
409426 long relativeZxid = setWatches .getRelativeZxid ();
410427 zks .getZKDatabase ().setWatches (relativeZxid ,
@@ -418,13 +435,15 @@ public void processRequest(Request request) {
418435 }
419436 case OpCode .addWatch : {
420437 lastOp = "ADDW" ;
438+ incrementOpCount (ServerMetrics .getMetrics ().ADD_WATCH_OP_COUNT );
421439 AddWatchRequest addWatcherRequest = request .readRequestRecord (AddWatchRequest ::new );
422440 zks .getZKDatabase ().addWatch (addWatcherRequest .getPath (), cnxn , addWatcherRequest .getMode ());
423441 rsp = new ErrorResponse (0 );
424442 break ;
425443 }
426444 case OpCode .getACL : {
427445 lastOp = "GETA" ;
446+ incrementOpCount (ServerMetrics .getMetrics ().GET_ACL_OP_COUNT );
428447 GetACLRequest getACLRequest = request .readRequestRecord (GetACLRequest ::new );
429448 path = getACLRequest .getPath ();
430449 DataNode n = zks .getZKDatabase ().getNode (path );
@@ -467,6 +486,7 @@ public void processRequest(Request request) {
467486 }
468487 case OpCode .getChildren : {
469488 lastOp = "GETC" ;
489+ incrementOpCount (ServerMetrics .getMetrics ().GET_CHILDREN_OP_COUNT );
470490 GetChildrenRequest getChildrenRequest = request .readRequestRecord (GetChildrenRequest ::new );
471491 path = getChildrenRequest .getPath ();
472492 rsp = handleGetChildrenRequest (getChildrenRequest , cnxn , request .authInfo );
@@ -475,6 +495,7 @@ public void processRequest(Request request) {
475495 }
476496 case OpCode .getAllChildrenNumber : {
477497 lastOp = "GETACN" ;
498+ incrementOpCount (ServerMetrics .getMetrics ().GET_ALL_CHILDREN_NUMBER_OP_COUNT );
478499 GetAllChildrenNumberRequest getAllChildrenNumberRequest = request .readRequestRecord (GetAllChildrenNumberRequest ::new );
479500 path = getAllChildrenNumberRequest .getPath ();
480501 DataNode n = zks .getZKDatabase ().getNode (path );
@@ -494,6 +515,7 @@ public void processRequest(Request request) {
494515 }
495516 case OpCode .getChildren2 : {
496517 lastOp = "GETC" ;
518+ incrementOpCount (ServerMetrics .getMetrics ().GET_CHILDREN_OP_COUNT );
497519 GetChildren2Request getChildren2Request = request .readRequestRecord (GetChildren2Request ::new );
498520 Stat stat = new Stat ();
499521 path = getChildren2Request .getPath ();
@@ -515,6 +537,7 @@ public void processRequest(Request request) {
515537 }
516538 case OpCode .checkWatches : {
517539 lastOp = "CHKW" ;
540+ incrementOpCount (ServerMetrics .getMetrics ().CHECK_WATCHES_OP_COUNT );
518541 CheckWatchesRequest checkWatches = request .readRequestRecord (CheckWatchesRequest ::new );
519542 WatcherType type = WatcherType .fromInt (checkWatches .getType ());
520543 path = checkWatches .getPath ();
@@ -528,6 +551,7 @@ public void processRequest(Request request) {
528551 }
529552 case OpCode .removeWatches : {
530553 lastOp = "REMW" ;
554+ incrementOpCount (ServerMetrics .getMetrics ().REMOVE_WATCHES_OP_COUNT );
531555 RemoveWatchesRequest removeWatches = request .readRequestRecord (RemoveWatchesRequest ::new );
532556 WatcherType type = WatcherType .fromInt (removeWatches .getType ());
533557 path = removeWatches .getPath ();
@@ -541,11 +565,13 @@ public void processRequest(Request request) {
541565 }
542566 case OpCode .whoAmI : {
543567 lastOp = "HOMI" ;
568+ incrementOpCount (ServerMetrics .getMetrics ().WHO_AM_I_OP_COUNT );
544569 rsp = new WhoAmIResponse (AuthUtil .getClientInfos (request .authInfo ));
545570 break ;
546571 }
547572 case OpCode .getEphemerals : {
548573 lastOp = "GETE" ;
574+ incrementOpCount (ServerMetrics .getMetrics ().GET_EPHEMERALS_OP_COUNT );
549575 GetEphemeralsRequest getEphemerals = request .readRequestRecord (GetEphemeralsRequest ::new );
550576 String prefixPath = getEphemerals .getPrefixPath ();
551577 Set <String > allEphems = zks .getZKDatabase ().getDataTree ().getEphemerals (request .sessionId );
@@ -677,4 +703,9 @@ private void updateStats(Request request, String lastOp, long lastZxid) {
677703 request .cnxn .updateStatsForResponse (request .cxid , lastZxid , lastOp , request .createTime , currentTime );
678704 }
679705
706+ private void incrementOpCount (org .apache .zookeeper .metrics .Counter specificCounter ) {
707+ ServerMetrics metrics = ServerMetrics .getMetrics ();
708+ specificCounter .add (1 );
709+ metrics .TOTAL_OP_COUNT .add (1 );
710+ }
680711}
0 commit comments