/hazelcast/src/main/java/com/hazelcast/impl/monitor/LocalSemaphoreOperationStatsImpl.java

https://bitbucket.org/gabral6_gmailcom/hazelcast · Java · 116 lines · 82 code · 19 blank · 15 comment · 0 complexity · b6256c6492fb644275c9871ba7cd7d97 MD5 · raw file

  1. /*
  2. * Copyright (c) 2008-2013, Hazelcast, Inc. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package com.hazelcast.impl.monitor;
  17. import com.hazelcast.monitor.LocalSemaphoreOperationStats;
  18. import java.io.DataInput;
  19. import java.io.DataOutput;
  20. import java.io.IOException;
  21. public class LocalSemaphoreOperationStatsImpl extends LocalOperationStatsSupport
  22. implements LocalSemaphoreOperationStats {
  23. OperationStat acquires = new OperationStat(0, 0);
  24. OperationStat nonAcquires = new OperationStat(0, 0);
  25. long numberOfRejectedAcquires;
  26. long numberOfPermitsAcquired;
  27. long numberOfPermitsReleased;
  28. long numberOfPermitsAttached;
  29. long numberOfPermitsDetached;
  30. long numberOfPermitsReduced;
  31. void writeDataInternal(DataOutput out) throws IOException {
  32. acquires.writeData(out);
  33. nonAcquires.writeData(out);
  34. out.writeLong(numberOfRejectedAcquires);
  35. out.writeLong(numberOfPermitsAcquired);
  36. out.writeLong(numberOfPermitsReleased);
  37. out.writeLong(numberOfPermitsAttached);
  38. out.writeLong(numberOfPermitsDetached);
  39. out.writeLong(numberOfPermitsReduced);
  40. }
  41. void readDataInternal(DataInput in) throws IOException {
  42. (acquires = new OperationStat()).readData(in);
  43. (nonAcquires = new OperationStat()).readData(in);
  44. numberOfRejectedAcquires = in.readLong();
  45. numberOfPermitsAcquired = in.readLong();
  46. numberOfPermitsReleased = in.readLong();
  47. numberOfPermitsAttached = in.readLong();
  48. numberOfPermitsDetached = in.readLong();
  49. numberOfPermitsReduced = in.readLong();
  50. }
  51. public long total() {
  52. return acquires.count + nonAcquires.count;
  53. }
  54. public long getNumberOfAcquireOps() {
  55. return acquires.count;
  56. }
  57. public long getNumberOfNonAcquireOps() {
  58. return nonAcquires.count;
  59. }
  60. public long getTotalAcquireLatency() {
  61. return acquires.totalLatency;
  62. }
  63. public long getTotalNonAcquireLatency() {
  64. return nonAcquires.totalLatency;
  65. }
  66. public long getNumberOfRejectedAcquires() {
  67. return numberOfRejectedAcquires;
  68. }
  69. public long getNumberOfPermitsAcquired() {
  70. return numberOfPermitsAcquired;
  71. }
  72. public long getNumberOfPermitsReduced() {
  73. return numberOfPermitsReduced;
  74. }
  75. public long getNumberOfPermitsReleased() {
  76. return numberOfPermitsReleased;
  77. }
  78. public long getNumberOfAttachedPermits() {
  79. return numberOfPermitsAttached;
  80. }
  81. public long getNumberOfDetachedPermits() {
  82. return numberOfPermitsDetached;
  83. }
  84. public String toString() {
  85. return "LocalSemaphoreOperationStats{" +
  86. "total= " + total() +
  87. ", acquires total:" + acquires +
  88. ", acquires rejected:" + numberOfRejectedAcquires +
  89. ", non-acquires:" + nonAcquires +
  90. ", permits acquired: " + numberOfPermitsAcquired +
  91. ", permits released: " + numberOfPermitsReleased +
  92. ", permits attached: " + numberOfPermitsAttached +
  93. ", permits detached: " + numberOfPermitsDetached +
  94. ", permits reduced: " + numberOfPermitsReduced +
  95. "}";
  96. }
  97. }