/** * @param m Metrics to copy from. */ public GridCacheMetricsAdapter(GridCacheMetrics m) { createTime = m.createTime(); readTime = m.readTime(); writeTime = m.writeTime(); commitTime = m.commitTime(); rollbackTime = m.rollbackTime(); reads = m.reads(); writes = m.writes(); hits = m.hits(); misses = m.misses(); txCommits = m.txCommits(); txRollbacks = m.txRollbacks(); drSndMetrics = ((GridCacheMetricsAdapter)m).drSndMetrics; drRcvMetrics = ((GridCacheMetricsAdapter)m).drRcvMetrics; }
/** {@inheritDoc} */ @Override public GridFuture<?> applyx(GridCacheProjection<Object, Object> c, GridKernalContext ctx) { GridCacheMetrics metrics = c.cache().metrics(); assert metrics != null; return new GridFinishedFuture<Object>(ctx, new GridCacheRestMetrics( metrics.createTime(), metrics.readTime(), metrics.writeTime(), metrics.reads(), metrics.writes(), metrics.hits(), metrics.misses())); } }
/** * @param cache Source cache. * @return Create data transfer object for DR receiver cache metrics of given cache. */ public static VisorDrReceiverCacheMetrics from(GridCache cache) { assert cache != null; try { GridDrReceiverCacheMetrics m = cache.metrics().drReceiveMetrics(); VisorDrReceiverCacheMetrics metrics = new VisorDrReceiverCacheMetrics(); metrics.entriesReceived(m.entriesReceived()); metrics.conflictNew(m.conflictNew()); metrics.conflictOld(m.conflictOld()); metrics.conflictMerge(m.conflictMerge()); return metrics; } catch (IllegalStateException ignored) { return null; } }
/** Create data transfer object for given cache. */ public static VisorDrSenderCacheMetrics from(GridCache cache) { assert cache != null; try { GridDrSenderCacheMetrics m = cache.metrics().drSendMetrics(); VisorDrSenderCacheMetrics metrics = new VisorDrSenderCacheMetrics(); metrics.batchesSent(m.batchesSent()); metrics.entriesSent(m.entriesSent()); metrics.batchesAcked(m.batchesAcked()); metrics.entriesAcked(m.entriesAcked()); metrics.batchesFailed(m.batchesFailed()); metrics.entriesFiltered(m.entriesFiltered()); metrics.backupQueueSize(m.backupQueueSize()); metrics.status(m.status()); metrics.stateTransfers(((GridCacheProjectionEx)cache).drListStateTransfers()); return metrics; } catch (IllegalStateException | IllegalArgumentException ignored) { return null; } }
/** * Writes {@link GridCacheMetrics} to output stream. This method is meant * to be used by implementations of {@link Externalizable} interface. * * @param out Output stream. * @param metrics Metrics to write. * @throws IOException If write failed. */ public static void writeMetrics(DataOutput out, GridCacheMetrics metrics) throws IOException { // Write null flag. out.writeBoolean(metrics == null); if (metrics != null) { out.writeLong(metrics.createTime()); out.writeLong(metrics.readTime()); out.writeLong(metrics.writeTime()); out.writeLong(metrics.commitTime()); out.writeLong(metrics.rollbackTime()); out.writeInt(metrics.reads()); out.writeInt(metrics.writes()); out.writeInt(metrics.hits()); out.writeInt(metrics.misses()); out.writeInt(metrics.txCommits()); out.writeInt(metrics.txRollbacks()); } }
/** * @param m Cache metrics. * @return Data transfer object for given cache metrics. */ public static VisorCacheMetrics from(GridCacheMetrics m) { assert m != null; VisorCacheMetrics metrics = new VisorCacheMetrics(); metrics.createTime(m.createTime()); metrics.writeTime(m.writeTime()); metrics.readTime(m.readTime()); metrics.commitTime(m.commitTime()); metrics.rollbackTime(m.rollbackTime()); metrics.reads(m.reads()); metrics.writes(m.writes()); metrics.hits(m.hits()); metrics.misses(m.misses()); metrics.txCommits(m.txCommits()); metrics.txRollbacks(m.txRollbacks()); metrics.readsPerSecond(perSecond(m.reads(), m.readTime(), m.createTime())); metrics.writesPerSecond(perSecond(m.writes(), m.writeTime(), m.createTime())); metrics.hitsPerSecond(perSecond(m.hits(), m.readTime(), m.createTime())); metrics.missesPerSecond(perSecond(m.misses(), m.readTime(), m.createTime())); metrics.commitsPerSecond(perSecond(m.txCommits(), m.commitTime(), m.createTime())); metrics.rollbacksPerSecond(perSecond(m.txRollbacks(), m.rollbackTime(), m.createTime())); return metrics; }