package org.yamcs.xtceproc; import java.util.concurrent.ConcurrentHashMap; public class ProcessingStatistics { long lastUpdated;//local java time of the last update public ConcurrentHashMap<String, TmStats> stats=new ConcurrentHashMap<String, TmStats>(); public void newPacket(String name, int subscribedParameterCount, long acquisitionTime, long generationTime) { TmStats s=stats.get(name); if(s==null) { s=new TmStats(name); stats.put(name, s); } s.receivedPackets++; s.subscribedParameterCount=subscribedParameterCount; s.lastReceived=acquisitionTime; s.lastPacketTime=generationTime; lastUpdated=System.currentTimeMillis(); } public void reset() { stats.clear(); } public long getLastUpdated() { return lastUpdated; } public static class TmStats { public final String packetName; public int receivedPackets; public int subscribedParameterCount; public long lastReceived; public long lastPacketTime; TmStats(String packetName){ this.packetName=packetName; } } }