mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-10 23:57:25 -05:00
ant to gradle. Removes linux and windows application launch scripts and produces an executable jar with all resources included.
86 lines
2.1 KiB
Java
86 lines
2.1 KiB
Java
package io.github.dsheirer.gui;
|
|
|
|
import io.github.dsheirer.controller.channel.Channel.ChannelType;
|
|
import io.github.dsheirer.controller.channel.ChannelEvent;
|
|
import io.github.dsheirer.controller.channel.ChannelEventListener;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import java.text.NumberFormat;
|
|
|
|
public class ChannelMemoryLogger implements Runnable, ChannelEventListener
|
|
{
|
|
private final static Logger mLog = LoggerFactory.getLogger( ChannelMemoryLogger.class );
|
|
|
|
public int mChannelCount;
|
|
public int mChannelProcessingCount;
|
|
public int mTrafficChannelCount;
|
|
|
|
@Override
|
|
public void run()
|
|
{
|
|
final Runtime runtime = Runtime.getRuntime();
|
|
|
|
final NumberFormat format = NumberFormat.getInstance();
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.append( "CHAN TOT:" + mChannelCount );
|
|
sb.append( " TRFC:" + mTrafficChannelCount );
|
|
sb.append( " PROC:" + mChannelProcessingCount );
|
|
|
|
long maxMemory = runtime.maxMemory();
|
|
long allocatedMemory = runtime.totalMemory();
|
|
long freeMemory = runtime.freeMemory();
|
|
|
|
sb.append(" MEM FREE: " + format.format(freeMemory / 1024) );
|
|
sb.append(" ALLOC: " + format.format(allocatedMemory / 1024) );
|
|
sb.append(" MAX: " + format.format(maxMemory / 1024) );
|
|
sb.append(" TOTAL: " + format.format((freeMemory + (maxMemory - allocatedMemory)) / 1024) );
|
|
|
|
mLog.debug( sb.toString() );
|
|
}
|
|
|
|
@Override
|
|
public void channelChanged( ChannelEvent event )
|
|
{
|
|
switch( event.getEvent() )
|
|
{
|
|
case NOTIFICATION_ADD:
|
|
if( event.getChannel().getChannelType() == ChannelType.TRAFFIC )
|
|
{
|
|
mTrafficChannelCount++;
|
|
}
|
|
else
|
|
{
|
|
mChannelCount++;
|
|
}
|
|
break;
|
|
case NOTIFICATION_DELETE:
|
|
if( event.getChannel().getChannelType() == ChannelType.TRAFFIC )
|
|
{
|
|
mTrafficChannelCount--;
|
|
}
|
|
else
|
|
{
|
|
mChannelCount--;
|
|
}
|
|
break;
|
|
case REQUEST_DISABLE:
|
|
break;
|
|
case REQUEST_ENABLE:
|
|
break;
|
|
case NOTIFICATION_PROCESSING_START:
|
|
mChannelProcessingCount++;
|
|
break;
|
|
case NOTIFICATION_PROCESSING_STOP:
|
|
mChannelProcessingCount--;
|
|
break;
|
|
case NOTIFICATION_STATE_RESET:
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|