{"action":"created","comment":{"url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/comments/28425748","id":28425748,"diff_hunk":"@@ -0,0 +1,77 @@\n+/*\n+ * Copyright (c) 2008-2015, Hazelcast, Inc. All Rights Reserved.\n+ *\n+ * Licensed under the Apache License, Version 2.0 (the \"License\");\n+ * you may not use this file except in compliance with the License.\n+ * You may obtain a copy of the License at\n+ *\n+ * http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing, software\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+ * See the License for the specific language governing permissions and\n+ * limitations under the License.\n+ */\n+\n+package com.hazelcast.internal.blackbox;\n+\n+import java.util.Collection;\n+import java.util.Map;\n+import java.util.Set;\n+import java.util.concurrent.TimeUnit;\n+import java.util.concurrent.atomic.AtomicLong;\n+\n+/**\n+ * The Blackbox is responsible for recording all kinds of Hazelcast/JVM specific information to\n+ * help out with all kinds of issues\n+ *\n+ * TODO:\n+ * - number of invocations\n+ * - number of failed invocation\n+ * - number of retried invocations\n+ * - back pressure information\n+ * - runtime.availableMemory=NA  <<=== sensor doesn't exist.\n+ *\n+ * - tcp total number of created client connections\n+ * - cluster: number of heart beats send\n+ * - cluster: number of heart beats received\n+ * - io number of rebalances\n+ * - number per type of packet send\n+ * - number per type of packet received\n+ */\n+public interface Blackbox {","path":"hazelcast/src/main/java/com/hazelcast/internal/blackbox/Blackbox.java","position":43,"original_position":43,"commit_id":"4de7315fd37e7840bd91ea98af8040a004cdc29b","original_commit_id":"4de7315fd37e7840bd91ea98af8040a004cdc29b","user":{"login":"jerrinot","id":158619,"avatar_url":"https://avatars.githubusercontent.com/u/158619?v=3","gravatar_id":"","url":"https://api.github.com/users/jerrinot","html_url":"https://github.com/jerrinot","followers_url":"https://api.github.com/users/jerrinot/followers","following_url":"https://api.github.com/users/jerrinot/following{/other_user}","gists_url":"https://api.github.com/users/jerrinot/gists{/gist_id}","starred_url":"https://api.github.com/users/jerrinot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jerrinot/subscriptions","organizations_url":"https://api.github.com/users/jerrinot/orgs","repos_url":"https://api.github.com/users/jerrinot/repos","events_url":"https://api.github.com/users/jerrinot/events{/privacy}","received_events_url":"https://api.github.com/users/jerrinot/received_events","type":"User","site_admin":false},"body":"This interface needs more documentation. ","created_at":"2015-04-15T14:45:39Z","updated_at":"2015-04-15T14:45:39Z","html_url":"https://github.com/hazelcast/hazelcast/pull/5040#discussion_r28425748","pull_request_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/5040","_links":{"self":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/comments/28425748"},"html":{"href":"https://github.com/hazelcast/hazelcast/pull/5040#discussion_r28425748"},"pull_request":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/5040"}}},"pull_request":{"url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/5040","id":33109719,"html_url":"https://github.com/hazelcast/hazelcast/pull/5040","diff_url":"https://github.com/hazelcast/hazelcast/pull/5040.diff","patch_url":"https://github.com/hazelcast/hazelcast/pull/5040.patch","issue_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/5040","number":5040,"state":"open","locked":false,"title":"Introduced Blackbox","user":{"login":"pveentjer","id":105243,"avatar_url":"https://avatars.githubusercontent.com/u/105243?v=3","gravatar_id":"","url":"https://api.github.com/users/pveentjer","html_url":"https://github.com/pveentjer","followers_url":"https://api.github.com/users/pveentjer/followers","following_url":"https://api.github.com/users/pveentjer/following{/other_user}","gists_url":"https://api.github.com/users/pveentjer/gists{/gist_id}","starred_url":"https://api.github.com/users/pveentjer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pveentjer/subscriptions","organizations_url":"https://api.github.com/users/pveentjer/orgs","repos_url":"https://api.github.com/users/pveentjer/repos","events_url":"https://api.github.com/users/pveentjer/events{/privacy}","received_events_url":"https://api.github.com/users/pveentjer/received_events","type":"User","site_admin":false},"body":"The Blackbox provides insight what is happening inside of the Hazelcast member. It can currently be read using the Performance monitor which was completely rewritten for this purpose. In the future we'll add a real storage solution for the blackbox itself.\r\n\r\nLots of sensor points were added into the system. The SlowOperationDetector also dumps to the Performance log.\r\n\r\nThe blackbox is always on; it can't be disabled. The overhead of the blackbox is very low since it will periodically sample fields/methods of objects to get internal state. These fields can be simple volatile long and can even be written using a lazySet to make it even cheaper than a volatile write.\r\n\r\nThe blackbox will be the central hub to record/access all kinds of sensor data. Before it was done ad hoc and all over the place. But now all this information is accessible through the blackbox.\r\n\r\nSensor can easily be created by:\r\n```\r\n@FieldSensorInput\r\nprivate int field;\r\n\r\n@MethodSensorInput\r\nint size(){return ....}\r\n```\r\nAnd then registering an object which such annotations at the blackbox.\r\n\r\nAn example log:\r\n```\r\n====================[ Build Info ]======================================\r\nproperty                        value\r\n------------------------------------------------------------------------\r\nversion                         3.5-SNAPSHOT\r\nbuild                           20150411\r\nbuildNumber                     20150411\r\nrevision                        3.5-SNAPSHOT\r\nenterprise                      false\r\n\r\n\r\n================[ System Properties ]===================================\r\nproperty                        value\r\n------------------------------------------------------------------------\r\njava.class.path                 /java/jdk/jdk1.8.0_25/jre/lib/jce.jar:/java/jdk/jdk1.8.0_25/jre/lib/rt.jar:/java/jdk/jdk1.8.0_25/jre/lib/plugin.jar:/java/jdk/jdk1.8.0_25/jre/lib/javaws.jar:/java/jdk/jdk1.8.0_25/jre/lib/charsets.jar:/java/jdk/jdk1.8.0_25/jre/lib/management-agent.jar:/java/jdk/jdk1.8.0_25/jre/lib/resources.jar:/java/jdk/jdk1.8.0_25/jre/lib/deploy.jar:/java/jdk/jdk1.8.0_25/jre/lib/jsse.jar:/java/jdk/jdk1.8.0_25/jre/lib/jfxswt.jar:/java/jdk/jdk1.8.0_25/jre/lib/jfr.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/localedata.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/nashorn.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/jfxrt.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/sunjce_provider.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/dnsns.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/sunec.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/zipfs.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/sunpkcs11.jar:/java/jdk/jdk1.8.0_25/jre/lib/ext/cldrdata.jar:/java/projects/Hazelcast/hazelcast/hazelcast-client/target/classes:/java/projects/Hazelcast/hazelcast/hazelcast/target/classes:/home/alarmnummer/.m2/repository/net/sourceforge/findbugs/annotations/1.3.2/annotations-1.3.2.jar:/home/alarmnummer/.m2/repository/com/eclipsesource/minimal-json/minimal-json/0.9.1/minimal-json-0.9.1.jar:/java/tools/idea-IU-139.224.1/lib/idea_rt.jar\r\njava.class.version              52.0\r\njava.endorsed.dirs              /java/jdk/jdk1.8.0_25/jre/lib/endorsed\r\njava.ext.dirs                   /java/jdk/jdk1.8.0_25/jre/lib/ext:/usr/java/packages/lib/ext\r\njava.home                       /java/jdk/jdk1.8.0_25/jre\r\njava.io.tmpdir                  /tmp\r\njava.library.path               /java/tools/idea-IU-139.224.1/bin::/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib\r\njava.runtime.name               Java(TM) SE Runtime Environment\r\njava.runtime.version            1.8.0_25-b17\r\njava.specification.name         Java Platform API Specification\r\njava.specification.vendor       Oracle Corporation\r\njava.specification.version       1.8\r\njava.vendor                     Oracle Corporation\r\njava.vendor.url                 http://java.oracle.com/\r\njava.vendor.url.bug             http://bugreport.sun.com/bugreport/\r\njava.version                    1.8.0_25\r\njava.vm.info                    mixed mode\r\njava.vm.name                    Java HotSpot(TM) 64-Bit Server VM\r\njava.vm.specification.name      Java Virtual Machine Specification\r\njava.vm.specification.vendor    Oracle Corporation\r\njava.vm.specification.version    1.8\r\njava.vm.vendor                  Oracle Corporation\r\njava.vm.version                 25.25-b02\r\nos.arch                         amd64\r\nos.name                         Linux\r\nos.version                      3.14.13-100.fc19.x86_64\r\nsun.arch.data.model               64\r\nsun.boot.class.path             /java/jdk/jdk1.8.0_25/jre/lib/resources.jar:/java/jdk/jdk1.8.0_25/jre/lib/rt.jar:/java/jdk/jdk1.8.0_25/jre/lib/sunrsasign.jar:/java/jdk/jdk1.8.0_25/jre/lib/jsse.jar:/java/jdk/jdk1.8.0_25/jre/lib/jce.jar:/java/jdk/jdk1.8.0_25/jre/lib/charsets.jar:/java/jdk/jdk1.8.0_25/jre/lib/jfr.jar:/java/jdk/jdk1.8.0_25/jre/classes\r\nsun.boot.library.path           /java/jdk/jdk1.8.0_25/jre/lib/amd64\r\nsun.cpu.endian                  little\r\nsun.cpu.isalist                     \r\nsun.io.unicode.encoding         UnicodeLittle\r\nsun.java.command                com.intellij.rt.execution.application.AppMain com.hazelcast.Main\r\nsun.java.launcher               SUN_STANDARD\r\nsun.jnu.encoding                UTF-8\r\nsun.management.compiler         HotSpot 64-Bit Tiered Compilers\r\nsun.os.patch.level              unknown\r\njvm.args                        jvm.args=-Didea.launcher.port=7538 -Didea.launcher.bin.path=/java/tools/idea-IU-139.224.1/bin -Dfile.encoding=UTF-8 \r\n\r\n\r\n=================[ Hazelcast Config ]===================================\r\nproperty                                                      value\r\n------------------------------------------------------------------------\r\nhazelcast.health.monitoring.delay.seconds                        1\r\nhazelcast.performance.monitoring.delay.seconds                  10\r\nhazelcast.performance.monitoring.enabled                      true\r\n\r\n\r\n================[ Blackbox ]============================================\r\nMon, 13 Apr 2015 21:46:15 +0300\r\n------------------------------------------------------------------------\r\nclient.endpoint.count=0\r\nclient.endpoint.totalRegistrations=0\r\ncluster.clock.clusterTime=1428950775167\r\ncluster.clock.clusterTimeDiff=9223372036854775807\r\ncluster.lastHeartBeat=1428950774569\r\ncluster.size=3\r\nevent.eventQueueSize=0\r\nevent.hz:core:proxyService.listenerCount=3\r\nevent.hz:core:proxyService.publicationCount=2\r\nevent.hz:impl:replicatedMapService.listenerCount=3\r\nevent.hz:impl:replicatedMapService.publicationCount=0\r\nevent.queueCapacity=1000000\r\nevent.rejectedCount=0\r\nevent.threadCount=5\r\nevent.totalFailureCount=0\r\nexecutor.hz:async.activeCount=0\r\nexecutor.hz:async.completedTaskCount=1\r\nexecutor.hz:async.maximumPoolSize=8\r\nexecutor.hz:async.poolSize=1\r\nexecutor.hz:async.queueSize=0\r\nexecutor.hz:async.remainingQueueCapacity=100000\r\nexecutor.hz:client.activeCount=0\r\nexecutor.hz:client.completedTaskCount=0\r\nexecutor.hz:client.maximumPoolSize=160\r\nexecutor.hz:client.poolSize=0\r\nexecutor.hz:client.queueSize=0\r\nexecutor.hz:client.remainingQueueCapacity=800000\r\nexecutor.hz:cluster.activeCount=0\r\nexecutor.hz:cluster.completedTaskCount=33\r\nexecutor.hz:cluster.maximumPoolSize=2\r\nexecutor.hz:cluster.poolSize=0\r\nexecutor.hz:cluster.queueSize=0\r\nexecutor.hz:cluster.remainingQueueCapacity=1000\r\nexecutor.hz:io.queueSize=NA\r\nexecutor.hz:map-load.queueSize=NA\r\nexecutor.hz:map-loadAllKeys.queueSize=NA\r\nexecutor.hz:query.queueSize=NA\r\nexecutor.hz:scheduled.activeCount=0\r\nexecutor.hz:scheduled.completedTaskCount=331\r\nexecutor.hz:scheduled.maximumPoolSize=16\r\nexecutor.hz:scheduled.poolSize=0\r\nexecutor.hz:scheduled.queueSize=0\r\nexecutor.hz:scheduled.remainingQueueCapacity=800000\r\nexecutor.hz:system.activeCount=0\r\nexecutor.hz:system.completedTaskCount=8\r\nexecutor.hz:system.maximumPoolSize=8\r\nexecutor.hz:system.poolSize=0\r\nexecutor.hz:system.queueSize=0\r\nexecutor.hz:system.remainingQueueCapacity=2147483647\r\ngc.majorCount=0\r\ngc.majorTime=0\r\ngc.minorCount=31\r\ngc.minorTime=223\r\ngc.unknownCount=0\r\ngc.unknownTime=0\r\noperation.completed.count=58197\r\noperation.invocations.backupTimeouts=0\r\noperation.invocations.normalTimeouts=0\r\noperation.invocations.pending=1\r\noperation.invocations.used=NA\r\noperation.invocations.usedPercentage=0.0\r\noperation.partition[0].count=0\r\noperation.partition[100].count=354\r\noperation.partition[101].count=0\r\noperation.partition[102].count=340\r\noperation.partition[103].count=302\r\noperation.partition[104].count=323\r\noperation.partition[105].count=346\r\noperation.partition[106].count=310\r\noperation.partition[107].count=331\r\noperation.partition[108].count=317\r\noperation.partition[109].count=331\r\noperation.partition[10].count=319\r\noperation.partition[110].count=0\r\noperation.partition[111].count=318\r\noperation.partition[112].count=318\r\noperation.partition[113].count=308\r\noperation.partition[114].count=305\r\noperation.partition[115].count=0\r\noperation.partition[116].count=337\r\noperation.partition[117].count=328\r\noperation.partition[118].count=372\r\noperation.partition[119].count=0\r\noperation.partition[11].count=0\r\noperation.partition[120].count=342\r\noperation.partition[121].count=317\r\noperation.partition[122].count=0\r\noperation.partition[123].count=326\r\noperation.partition[124].count=311\r\noperation.partition[125].count=320\r\noperation.partition[126].count=304\r\noperation.partition[127].count=0\r\noperation.partition[128].count=0\r\noperation.partition[129].count=0\r\noperation.partition[12].count=304\r\noperation.partition[130].count=0\r\noperation.partition[131].count=315\r\noperation.partition[132].count=0\r\noperation.partition[133].count=0\r\noperation.partition[134].count=327\r\noperation.partition[135].count=0\r\noperation.partition[136].count=341\r\noperation.partition[137].count=349\r\noperation.partition[138].count=347\r\noperation.partition[139].count=282\r\noperation.partition[13].count=300\r\noperation.partition[140].count=309\r\noperation.partition[141].count=310\r\noperation.partition[142].count=318\r\noperation.partition[143].count=360\r\noperation.partition[144].count=319\r\noperation.partition[145].count=306\r\noperation.partition[146].count=293\r\noperation.partition[147].count=299\r\noperation.partition[148].count=0\r\noperation.partition[149].count=307\r\noperation.partition[14].count=0\r\noperation.partition[150].count=303\r\noperation.partition[151].count=0\r\noperation.partition[152].count=326\r\noperation.partition[153].count=330\r\noperation.partition[154].count=342\r\noperation.partition[155].count=0\r\noperation.partition[156].count=0\r\noperation.partition[157].count=304\r\noperation.partition[158].count=0\r\noperation.partition[159].count=331\r\noperation.partition[15].count=337\r\noperation.partition[160].count=312\r\noperation.partition[161].count=334\r\noperation.partition[162].count=0\r\noperation.partition[163].count=322\r\noperation.partition[164].count=0\r\noperation.partition[165].count=0\r\noperation.partition[166].count=0\r\noperation.partition[167].count=0\r\noperation.partition[168].count=316\r\noperation.partition[169].count=321\r\noperation.partition[16].count=348\r\noperation.partition[170].count=319\r\noperation.partition[171].count=335\r\noperation.partition[172].count=295\r\noperation.partition[173].count=334\r\noperation.partition[174].count=0\r\noperation.partition[175].count=0\r\noperation.partition[176].count=313\r\noperation.partition[177].count=0\r\noperation.partition[178].count=0\r\noperation.partition[179].count=322\r\noperation.partition[17].count=291\r\noperation.partition[180].count=0\r\noperation.partition[181].count=333\r\noperation.partition[182].count=348\r\noperation.partition[183].count=306\r\noperation.partition[184].count=0\r\noperation.partition[185].count=337\r\noperation.partition[186].count=321\r\noperation.partition[187].count=0\r\noperation.partition[188].count=0\r\noperation.partition[189].count=0\r\noperation.partition[18].count=0\r\noperation.partition[190].count=0\r\noperation.partition[191].count=0\r\noperation.partition[192].count=0\r\noperation.partition[193].count=337\r\noperation.partition[194].count=0\r\noperation.partition[195].count=0\r\noperation.partition[196].count=0\r\noperation.partition[197].count=322\r\noperation.partition[198].count=330\r\noperation.partition[199].count=0\r\noperation.partition[19].count=306\r\noperation.partition[1].count=335\r\noperation.partition[200].count=0\r\noperation.partition[201].count=0\r\noperation.partition[202].count=0\r\noperation.partition[203].count=315\r\noperation.partition[204].count=344\r\noperation.partition[205].count=304\r\noperation.partition[206].count=331\r\noperation.partition[207].count=356\r\noperation.partition[208].count=0\r\noperation.partition[209].count=346\r\noperation.partition[20].count=321\r\noperation.partition[210].count=0\r\noperation.partition[211].count=303\r\noperation.partition[212].count=323\r\noperation.partition[213].count=334\r\noperation.partition[214].count=337\r\noperation.partition[215].count=364\r\noperation.partition[216].count=325\r\noperation.partition[217].count=308\r\noperation.partition[218].count=331\r\noperation.partition[219].count=329\r\noperation.partition[21].count=313\r\noperation.partition[220].count=341\r\noperation.partition[221].count=0\r\noperation.partition[222].count=337\r\noperation.partition[223].count=357\r\noperation.partition[224].count=0\r\noperation.partition[225].count=0\r\noperation.partition[226].count=328\r\noperation.partition[227].count=0\r\noperation.partition[228].count=322\r\noperation.partition[229].count=323\r\noperation.partition[22].count=0\r\noperation.partition[230].count=0\r\noperation.partition[231].count=0\r\noperation.partition[232].count=313\r\noperation.partition[233].count=0\r\noperation.partition[234].count=301\r\noperation.partition[235].count=377\r\noperation.partition[236].count=308\r\noperation.partition[237].count=326\r\noperation.partition[238].count=339\r\noperation.partition[239].count=0\r\noperation.partition[23].count=356\r\noperation.partition[240].count=304\r\noperation.partition[241].count=321\r\noperation.partition[242].count=274\r\noperation.partition[243].count=317\r\noperation.partition[244].count=341\r\noperation.partition[245].count=342\r\noperation.partition[246].count=337\r\noperation.partition[247].count=313\r\noperation.partition[248].count=326\r\noperation.partition[249].count=0\r\noperation.partition[24].count=343\r\noperation.partition[250].count=0\r\noperation.partition[251].count=306\r\noperation.partition[252].count=320\r\noperation.partition[253].count=311\r\noperation.partition[254].count=304\r\noperation.partition[255].count=301\r\noperation.partition[256].count=0\r\noperation.partition[257].count=0\r\noperation.partition[258].count=0\r\noperation.partition[259].count=308\r\noperation.partition[25].count=0\r\noperation.partition[260].count=321\r\noperation.partition[261].count=334\r\noperation.partition[262].count=300\r\noperation.partition[263].count=299\r\noperation.partition[264].count=309\r\noperation.partition[265].count=0\r\noperation.partition[266].count=0\r\noperation.partition[267].count=0\r\noperation.partition[268].count=0\r\noperation.partition[269].count=0\r\noperation.partition[26].count=294\r\noperation.partition[270].count=343\r\noperation.partition[27].count=308\r\noperation.partition[28].count=336\r\noperation.partition[29].count=340\r\noperation.partition[2].count=331\r\noperation.partition[30].count=0\r\noperation.partition[31].count=329\r\noperation.partition[32].count=0\r\noperation.partition[33].count=0\r\noperation.partition[34].count=322\r\noperation.partition[35].count=0\r\noperation.partition[36].count=311\r\noperation.partition[37].count=0\r\noperation.partition[38].count=345\r\noperation.partition[39].count=329\r\noperation.partition[3].count=330\r\noperation.partition[40].count=333\r\noperation.partition[41].count=288\r\noperation.partition[42].count=321\r\noperation.partition[43].count=307\r\noperation.partition[44].count=349\r\noperation.partition[45].count=332\r\noperation.partition[46].count=343\r\noperation.partition[47].count=291\r\noperation.partition[48].count=327\r\noperation.partition[49].count=324\r\noperation.partition[4].count=0\r\noperation.partition[50].count=303\r\noperation.partition[51].count=264\r\noperation.partition[52].count=318\r\noperation.partition[53].count=0\r\noperation.partition[54].count=0\r\noperation.partition[55].count=374\r\noperation.partition[56].count=340\r\noperation.partition[57].count=341\r\noperation.partition[58].count=341\r\noperation.partition[59].count=309\r\noperation.partition[5].count=0\r\noperation.partition[60].count=356\r\noperation.partition[61].count=0\r\noperation.partition[62].count=340\r\noperation.partition[63].count=320\r\noperation.partition[64].count=0\r\noperation.partition[65].count=331\r\noperation.partition[66].count=0\r\noperation.partition[67].count=277\r\noperation.partition[68].count=314\r\noperation.partition[69].count=0\r\noperation.partition[6].count=312\r\noperation.partition[70].count=298\r\noperation.partition[71].count=0\r\noperation.partition[72].count=0\r\noperation.partition[73].count=339\r\noperation.partition[74].count=0\r\noperation.partition[75].count=0\r\noperation.partition[76].count=0\r\noperation.partition[77].count=312\r\noperation.partition[78].count=300\r\noperation.partition[79].count=0\r\noperation.partition[7].count=342\r\noperation.partition[80].count=294\r\noperation.partition[81].count=319\r\noperation.partition[82].count=304\r\noperation.partition[83].count=345\r\noperation.partition[84].count=356\r\noperation.partition[85].count=320\r\noperation.partition[86].count=301\r\noperation.partition[87].count=339\r\noperation.partition[88].count=326\r\noperation.partition[89].count=313\r\noperation.partition[8].count=331\r\noperation.partition[90].count=282\r\noperation.partition[91].count=338\r\noperation.partition[92].count=351\r\noperation.partition[93].count=0\r\noperation.partition[94].count=322\r\noperation.partition[95].count=0\r\noperation.partition[96].count=0\r\noperation.partition[97].count=0\r\noperation.partition[98].count=333\r\noperation.partition[99].count=0\r\noperation.partition[9].count=308\r\noperation.priority-queue.size=0\r\noperation.queue.size=0\r\noperation.response-queue.size=0\r\noperation.response.backup.count=87132\r\noperation.response.error.count=1\r\noperation.response.normal.count=58271\r\noperation.response.timeout.count=0\r\noperation.running.count=0\r\nos.committedVirtualMemorySize=8645160960\r\nos.freePhysicalMemorySize=2601811968\r\nos.freeSwapSpaceSize=19827253248\r\nos.maxFileDescriptorCount=4096\r\nos.openFileDescriptorCount=109\r\nos.processCpuLoad=19.0\r\nos.processCpuTime=24480000000\r\nos.systemCpuLoad=24.0\r\nos.systemLoadAverage=0.76\r\nos.totalPhysicalMemorySize=10477973504\r\nos.totalSwapSpaceSize=20003876864\r\nproxy.createdCount=0\r\nproxy.destroyedCount=0\r\nproxy.proxyCount=1\r\nruntime.availableMemory=NA\r\nruntime.availableProcessors=8\r\nruntime.freeMemory=45734448\r\nruntime.maxMemory=2330460160\r\nruntime.totalMemory=166723584\r\nruntime.usedMemory=120989136\r\ntcp.connection.acceptedSocketCount=0\r\ntcp.connection.activeCount=2\r\ntcp.connection.clientCount=0\r\ntcp.connection.closedCount=0\r\ntcp.connection.connectionListenerCount=2\r\ntcp.connection.count=2\r\ntcp.connection.inProgressCount=0\r\ntcp.connection.monitorCount=2\r\ntcp.connection.openedCount=2\r\ntcp.connection.textCount=0\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].bytesRead=9862390\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].bytesWritten=13537443\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].lastReadTime=1428950775169\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].lastWriteTime=1428950775169\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].normalPacketsRead=73944\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].normalPacketsWritten=43018\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].normalQueue.size=0\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].priorityPacketsRead=65\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].priorityPacketsWritten=61\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].priorityQueue.size=0\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].readEvents=58573\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].readExceptions=0\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].writeEvents=43044\r\ntcp.connection[192.168.0.105/192.168.0.105:45968].writeExceptions=0\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].bytesRead=8875848\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].bytesWritten=14305625\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].lastReadTime=1428950775169\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].lastWriteTime=1428950775169\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].normalPacketsRead=71472\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].normalPacketsWritten=44219\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].normalQueue.size=0\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].priorityPacketsRead=81\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].priorityPacketsWritten=76\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].priorityQueue.size=0\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].readEvents=58055\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].readExceptions=0\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].writeEvents=44245\r\ntcp.connection[192.168.0.105/192.168.0.105:57109].writeExceptions=0\r\ntcp.hz._hzInstance_1_dev.IO.thread-in-0.readEvents=58055\r\ntcp.hz._hzInstance_1_dev.IO.thread-in-1.readEvents=58573\r\ntcp.hz._hzInstance_1_dev.IO.thread-in-2.readEvents=0\r\ntcp.hz._hzInstance_1_dev.IO.thread-out-0.writeEvents=1\r\ntcp.hz._hzInstance_1_dev.IO.thread-out-1.writeEvents=1\r\ntcp.hz._hzInstance_1_dev.IO.thread-out-2.writeEvents=0\r\nthread.daemonThreadCount=137\r\nthread.peakThreadCount=137\r\nthread.threadCount=137\r\nthread.totalStartedThreadCount=139\r\n```","created_at":"2015-04-11T20:47:45Z","updated_at":"2015-04-15T14:45:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8acd9432c5f386c5a013f717ec46d13e4540814f","assignee":null,"milestone":{"url":"https://api.github.com/repos/hazelcast/hazelcast/milestones/55","html_url":"https://github.com/hazelcast/hazelcast/milestones/3.5","labels_url":"https://api.github.com/repos/hazelcast/hazelcast/milestones/55/labels","id":819785,"number":55,"title":"3.5","description":null,"creator":{"login":"sancar","id":570462,"avatar_url":"https://avatars.githubusercontent.com/u/570462?v=3","gravatar_id":"","url":"https://api.github.com/users/sancar","html_url":"https://github.com/sancar","followers_url":"https://api.github.com/users/sancar/followers","following_url":"https://api.github.com/users/sancar/following{/other_user}","gists_url":"https://api.github.com/users/sancar/gists{/gist_id}","starred_url":"https://api.github.com/users/sancar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sancar/subscriptions","organizations_url":"https://api.github.com/users/sancar/orgs","repos_url":"https://api.github.com/users/sancar/repos","events_url":"https://api.github.com/users/sancar/events{/privacy}","received_events_url":"https://api.github.com/users/sancar/received_events","type":"User","site_admin":false},"open_issues":126,"closed_issues":368,"state":"open","created_at":"2014-10-09T13:04:53Z","updated_at":"2015-04-15T13:39:02Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/5040/commits","review_comments_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/5040/comments","review_comment_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/5040/comments","statuses_url":"https://api.github.com/repos/hazelcast/hazelcast/statuses/4de7315fd37e7840bd91ea98af8040a004cdc29b","head":{"label":"pveentjer:feature/3.x/blackbox","ref":"feature/3.x/blackbox","sha":"4de7315fd37e7840bd91ea98af8040a004cdc29b","user":{"login":"pveentjer","id":105243,"avatar_url":"https://avatars.githubusercontent.com/u/105243?v=3","gravatar_id":"","url":"https://api.github.com/users/pveentjer","html_url":"https://github.com/pveentjer","followers_url":"https://api.github.com/users/pveentjer/followers","following_url":"https://api.github.com/users/pveentjer/following{/other_user}","gists_url":"https://api.github.com/users/pveentjer/gists{/gist_id}","starred_url":"https://api.github.com/users/pveentjer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pveentjer/subscriptions","organizations_url":"https://api.github.com/users/pveentjer/orgs","repos_url":"https://api.github.com/users/pveentjer/repos","events_url":"https://api.github.com/users/pveentjer/events{/privacy}","received_events_url":"https://api.github.com/users/pveentjer/received_events","type":"User","site_admin":false},"repo":{"id":10990111,"name":"hazelcast","full_name":"pveentjer/hazelcast","owner":{"login":"pveentjer","id":105243,"avatar_url":"https://avatars.githubusercontent.com/u/105243?v=3","gravatar_id":"","url":"https://api.github.com/users/pveentjer","html_url":"https://github.com/pveentjer","followers_url":"https://api.github.com/users/pveentjer/followers","following_url":"https://api.github.com/users/pveentjer/following{/other_user}","gists_url":"https://api.github.com/users/pveentjer/gists{/gist_id}","starred_url":"https://api.github.com/users/pveentjer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pveentjer/subscriptions","organizations_url":"https://api.github.com/users/pveentjer/orgs","repos_url":"https://api.github.com/users/pveentjer/repos","events_url":"https://api.github.com/users/pveentjer/events{/privacy}","received_events_url":"https://api.github.com/users/pveentjer/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/pveentjer/hazelcast","description":"Open Source In-Memory Data Grid","fork":true,"url":"https://api.github.com/repos/pveentjer/hazelcast","forks_url":"https://api.github.com/repos/pveentjer/hazelcast/forks","keys_url":"https://api.github.com/repos/pveentjer/hazelcast/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pveentjer/hazelcast/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pveentjer/hazelcast/teams","hooks_url":"https://api.github.com/repos/pveentjer/hazelcast/hooks","issue_events_url":"https://api.github.com/repos/pveentjer/hazelcast/issues/events{/number}","events_url":"https://api.github.com/repos/pveentjer/hazelcast/events","assignees_url":"https://api.github.com/repos/pveentjer/hazelcast/assignees{/user}","branches_url":"https://api.github.com/repos/pveentjer/hazelcast/branches{/branch}","tags_url":"https://api.github.com/repos/pveentjer/hazelcast/tags","blobs_url":"https://api.github.com/repos/pveentjer/hazelcast/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pveentjer/hazelcast/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pveentjer/hazelcast/git/refs{/sha}","trees_url":"https://api.github.com/repos/pveentjer/hazelcast/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pveentjer/hazelcast/statuses/{sha}","languages_url":"https://api.github.com/repos/pveentjer/hazelcast/languages","stargazers_url":"https://api.github.com/repos/pveentjer/hazelcast/stargazers","contributors_url":"https://api.github.com/repos/pveentjer/hazelcast/contributors","subscribers_url":"https://api.github.com/repos/pveentjer/hazelcast/subscribers","subscription_url":"https://api.github.com/repos/pveentjer/hazelcast/subscription","commits_url":"https://api.github.com/repos/pveentjer/hazelcast/commits{/sha}","git_commits_url":"https://api.github.com/repos/pveentjer/hazelcast/git/commits{/sha}","comments_url":"https://api.github.com/repos/pveentjer/hazelcast/comments{/number}","issue_comment_url":"https://api.github.com/repos/pveentjer/hazelcast/issues/comments{/number}","contents_url":"https://api.github.com/repos/pveentjer/hazelcast/contents/{+path}","compare_url":"https://api.github.com/repos/pveentjer/hazelcast/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pveentjer/hazelcast/merges","archive_url":"https://api.github.com/repos/pveentjer/hazelcast/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pveentjer/hazelcast/downloads","issues_url":"https://api.github.com/repos/pveentjer/hazelcast/issues{/number}","pulls_url":"https://api.github.com/repos/pveentjer/hazelcast/pulls{/number}","milestones_url":"https://api.github.com/repos/pveentjer/hazelcast/milestones{/number}","notifications_url":"https://api.github.com/repos/pveentjer/hazelcast/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pveentjer/hazelcast/labels{/name}","releases_url":"https://api.github.com/repos/pveentjer/hazelcast/releases{/id}","created_at":"2013-06-27T07:15:08Z","updated_at":"2015-03-30T10:18:05Z","pushed_at":"2015-04-15T12:57:27Z","git_url":"git://github.com/pveentjer/hazelcast.git","ssh_url":"git@github.com:pveentjer/hazelcast.git","clone_url":"https://github.com/pveentjer/hazelcast.git","svn_url":"https://github.com/pveentjer/hazelcast","homepage":"www.hazelcast.com","size":68954,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"hazelcast:master","ref":"master","sha":"8d462ba5d0308b54a72c215c3fed99204fe15da4","user":{"login":"hazelcast","id":1453152,"avatar_url":"https://avatars.githubusercontent.com/u/1453152?v=3","gravatar_id":"","url":"https://api.github.com/users/hazelcast","html_url":"https://github.com/hazelcast","followers_url":"https://api.github.com/users/hazelcast/followers","following_url":"https://api.github.com/users/hazelcast/following{/other_user}","gists_url":"https://api.github.com/users/hazelcast/gists{/gist_id}","starred_url":"https://api.github.com/users/hazelcast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hazelcast/subscriptions","organizations_url":"https://api.github.com/users/hazelcast/orgs","repos_url":"https://api.github.com/users/hazelcast/repos","events_url":"https://api.github.com/users/hazelcast/events{/privacy}","received_events_url":"https://api.github.com/users/hazelcast/received_events","type":"Organization","site_admin":false},"repo":{"id":3786237,"name":"hazelcast","full_name":"hazelcast/hazelcast","owner":{"login":"hazelcast","id":1453152,"avatar_url":"https://avatars.githubusercontent.com/u/1453152?v=3","gravatar_id":"","url":"https://api.github.com/users/hazelcast","html_url":"https://github.com/hazelcast","followers_url":"https://api.github.com/users/hazelcast/followers","following_url":"https://api.github.com/users/hazelcast/following{/other_user}","gists_url":"https://api.github.com/users/hazelcast/gists{/gist_id}","starred_url":"https://api.github.com/users/hazelcast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hazelcast/subscriptions","organizations_url":"https://api.github.com/users/hazelcast/orgs","repos_url":"https://api.github.com/users/hazelcast/repos","events_url":"https://api.github.com/users/hazelcast/events{/privacy}","received_events_url":"https://api.github.com/users/hazelcast/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hazelcast/hazelcast","description":"Open Source In-Memory Data Grid","fork":false,"url":"https://api.github.com/repos/hazelcast/hazelcast","forks_url":"https://api.github.com/repos/hazelcast/hazelcast/forks","keys_url":"https://api.github.com/repos/hazelcast/hazelcast/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hazelcast/hazelcast/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hazelcast/hazelcast/teams","hooks_url":"https://api.github.com/repos/hazelcast/hazelcast/hooks","issue_events_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/events{/number}","events_url":"https://api.github.com/repos/hazelcast/hazelcast/events","assignees_url":"https://api.github.com/repos/hazelcast/hazelcast/assignees{/user}","branches_url":"https://api.github.com/repos/hazelcast/hazelcast/branches{/branch}","tags_url":"https://api.github.com/repos/hazelcast/hazelcast/tags","blobs_url":"https://api.github.com/repos/hazelcast/hazelcast/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hazelcast/hazelcast/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hazelcast/hazelcast/git/refs{/sha}","trees_url":"https://api.github.com/repos/hazelcast/hazelcast/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hazelcast/hazelcast/statuses/{sha}","languages_url":"https://api.github.com/repos/hazelcast/hazelcast/languages","stargazers_url":"https://api.github.com/repos/hazelcast/hazelcast/stargazers","contributors_url":"https://api.github.com/repos/hazelcast/hazelcast/contributors","subscribers_url":"https://api.github.com/repos/hazelcast/hazelcast/subscribers","subscription_url":"https://api.github.com/repos/hazelcast/hazelcast/subscription","commits_url":"https://api.github.com/repos/hazelcast/hazelcast/commits{/sha}","git_commits_url":"https://api.github.com/repos/hazelcast/hazelcast/git/commits{/sha}","comments_url":"https://api.github.com/repos/hazelcast/hazelcast/comments{/number}","issue_comment_url":"https://api.github.com/repos/hazelcast/hazelcast/issues/comments{/number}","contents_url":"https://api.github.com/repos/hazelcast/hazelcast/contents/{+path}","compare_url":"https://api.github.com/repos/hazelcast/hazelcast/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hazelcast/hazelcast/merges","archive_url":"https://api.github.com/repos/hazelcast/hazelcast/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hazelcast/hazelcast/downloads","issues_url":"https://api.github.com/repos/hazelcast/hazelcast/issues{/number}","pulls_url":"https://api.github.com/repos/hazelcast/hazelcast/pulls{/number}","milestones_url":"https://api.github.com/repos/hazelcast/hazelcast/milestones{/number}","notifications_url":"https://api.github.com/repos/hazelcast/hazelcast/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hazelcast/hazelcast/labels{/name}","releases_url":"https://api.github.com/repos/hazelcast/hazelcast/releases{/id}","created_at":"2012-03-21T12:25:18Z","updated_at":"2015-04-15T13:26:25Z","pushed_at":"2015-04-15T13:26:25Z","git_url":"git://github.com/hazelcast/hazelcast.git","ssh_url":"git@github.com:hazelcast/hazelcast.git","clone_url":"https://github.com/hazelcast/hazelcast.git","svn_url":"https://github.com/hazelcast/hazelcast","homepage":"www.hazelcast.com","size":131777,"stargazers_count":1078,"watchers_count":1078,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":513,"mirror_url":null,"open_issues_count":474,"forks":513,"open_issues":474,"watchers":1078,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/5040"},"html":{"href":"https://github.com/hazelcast/hazelcast/pull/5040"},"issue":{"href":"https://api.github.com/repos/hazelcast/hazelcast/issues/5040"},"comments":{"href":"https://api.github.com/repos/hazelcast/hazelcast/issues/5040/comments"},"review_comments":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/5040/comments"},"review_comment":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hazelcast/hazelcast/pulls/5040/commits"},"statuses":{"href":"https://api.github.com/repos/hazelcast/hazelcast/statuses/4de7315fd37e7840bd91ea98af8040a004cdc29b"}}}}