/** * Serializes node metrics into byte array. * * @param metrics Node metrics to serialize. * @return New offset. */ public static byte[] serialize(ClusterMetrics metrics) { byte[] buf = new byte[METRICS_SIZE]; serialize(buf, 0, metrics); return buf; }
/** * Constructor. * * @param creatorNodeId Creator node. * @param metrics Metrics. */ public TcpDiscoveryClientMetricsUpdateMessage(UUID creatorNodeId, ClusterMetrics metrics) { super(creatorNodeId); this.metrics = ClusterMetricsSnapshot.serialize(metrics); }
/** * @param metrics Metrics. * @param cacheMetrics Cache metrics. */ ClusterNodeMetrics(ClusterMetrics metrics, Map<Integer, CacheMetrics> cacheMetrics) { this.metrics = ClusterMetricsSnapshot.serialize(metrics); this.cacheMetrics = cacheMetrics; }
/** * @param metrics Metrics. */ public MetricsSet(ClusterMetrics metrics) { assert metrics != null; this.metrics = ClusterMetricsSnapshot.serialize(metrics); }
/** * @param nodeId Node ID. * @param metrics Metrics. * @return Serialized metrics. */ private static byte[] serializeMetrics(UUID nodeId, ClusterMetrics metrics) { assert nodeId != null; assert metrics != null; byte[] buf = new byte[16 + ClusterMetricsSnapshot.METRICS_SIZE]; U.longToBytes(nodeId.getMostSignificantBits(), buf, 0); U.longToBytes(nodeId.getLeastSignificantBits(), buf, 8); ClusterMetricsSnapshot.serialize(buf, 16, metrics); return buf; }
/** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { U.writeUuid(out, id); out.writeObject(consistentId); out.writeLong(internalId); out.writeLong(order); out.writeObject(ver); U.writeMap(out, attrs); U.writeCollection(out, addrs); U.writeCollection(out, hostNames); out.writeLong(sesTimeout); out.writeByte(flags); // Cluster metrics byte[] mtr = null; ClusterMetrics metrics = this.metrics; if (metrics != null) mtr = ClusterMetricsSnapshot.serialize(metrics); U.writeByteArray(out, mtr); }
/** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { U.writeUuid(out, id); U.writeMap(out, attrs); U.writeCollection(out, addrs); U.writeCollection(out, hostNames); out.writeInt(discPort); // Cluster metrics byte[] mtr = null; ClusterMetrics metrics = this.metrics; if (metrics != null) mtr = ClusterMetricsSnapshot.serialize(metrics); U.writeByteArray(out, mtr); // Cache metrics Map<Integer, CacheMetrics> cacheMetrics = this.cacheMetrics; out.writeInt(cacheMetrics == null ? 0 : cacheMetrics.size()); if (!F.isEmpty(cacheMetrics)) for (Map.Entry<Integer, CacheMetrics> m : cacheMetrics.entrySet()) { out.writeInt(m.getKey()); out.writeObject(m.getValue()); } out.writeLong(order); out.writeLong(intOrder); out.writeObject(ver); U.writeUuid(out, clientRouterNodeId); }
/** */ @Test public void testMetricsSize() { byte[] data = new byte[ClusterMetricsSnapshot.METRICS_SIZE]; // Test serialization. int off = ClusterMetricsSnapshot.serialize(data, 0, createMetrics()); assert off == ClusterMetricsSnapshot.METRICS_SIZE; // Test deserialization. ClusterMetrics res = ClusterMetricsSnapshot.deserialize(data, 0); assert res != null; }
/** */ @Test public void testSerialization() { byte[] data = new byte[ClusterMetricsSnapshot.METRICS_SIZE]; ClusterMetrics metrics1 = createMetrics(); // Test serialization. int off = ClusterMetricsSnapshot.serialize(data, 0, metrics1); assert off == ClusterMetricsSnapshot.METRICS_SIZE; // Test deserialization. ClusterMetrics metrics2 = ClusterMetricsSnapshot.deserialize(data, 0); assert metrics2 != null; assert isMetricsEquals(metrics1, metrics2); }
/** * Serializes node metrics into byte array. * * @param metrics Node metrics to serialize. * @return New offset. */ public static byte[] serialize(ClusterMetrics metrics) { byte[] buf = new byte[METRICS_SIZE]; serialize(buf, 0, metrics); return buf; }
/** * @param metrics Metrics. * @param cacheMetrics Cache metrics. */ ClusterNodeMetrics(ClusterMetrics metrics, Map<Integer, CacheMetrics> cacheMetrics) { this.metrics = ClusterMetricsSnapshot.serialize(metrics); this.cacheMetrics = cacheMetrics; }
/** * @param metrics Metrics. */ public MetricsSet(ClusterMetrics metrics) { assert metrics != null; this.metrics = ClusterMetricsSnapshot.serialize(metrics); }
/** * Constructor. * * @param creatorNodeId Creator node. * @param metrics Metrics. */ public TcpDiscoveryClientMetricsUpdateMessage(UUID creatorNodeId, ClusterMetrics metrics) { super(creatorNodeId); this.metrics = ClusterMetricsSnapshot.serialize(metrics); }
/** * @param nodeId Node ID. * @param metrics Metrics. * @return Serialized metrics. */ private static byte[] serializeMetrics(UUID nodeId, ClusterMetrics metrics) { assert nodeId != null; assert metrics != null; byte[] buf = new byte[16 + ClusterMetricsSnapshot.METRICS_SIZE]; U.longToBytes(nodeId.getMostSignificantBits(), buf, 0); U.longToBytes(nodeId.getLeastSignificantBits(), buf, 8); ClusterMetricsSnapshot.serialize(buf, 16, metrics); return buf; }
/** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { U.writeUuid(out, id); U.writeMap(out, attrs); U.writeCollection(out, addrs); U.writeCollection(out, hostNames); out.writeInt(discPort); // Cluster metrics byte[] mtr = null; ClusterMetrics metrics = this.metrics; if (metrics != null) mtr = ClusterMetricsSnapshot.serialize(metrics); U.writeByteArray(out, mtr); // Cache metrics Map<Integer, CacheMetrics> cacheMetrics = this.cacheMetrics; out.writeInt(cacheMetrics == null ? 0 : cacheMetrics.size()); if (!F.isEmpty(cacheMetrics)) for (Map.Entry<Integer, CacheMetrics> m : cacheMetrics.entrySet()) { out.writeInt(m.getKey()); out.writeObject(m.getValue()); } out.writeLong(order); out.writeLong(intOrder); out.writeObject(ver); U.writeUuid(out, clientRouterNodeId); }