package org.bench4q.monitor.performance.windows;

import org.springframework.stereotype.Component;

@Component
public class NetworkInterfaceMonitor {
	public native String[] getInstances();

	public native String[] getCounterList();

	public native double getBytesTotalPerSecond(String instanceName,
			int idleTime);

	public native double getPacketsPerSecond(String instanceName, int idleTime);

	public native double getPacketsReceivedPerSecond(String instanceName,
			int idleTime);

	public native double getPacketsSentPerSecond(String instanceName,
			int idleTime);

	public native double getCurrentBandwidth(String instanceName);

	public native double getBytesReceivedPerSecond(String instanceName,
			int idleTime);

	public native double getPacketsReceivedUnicastPerSecond(
			String instanceName, int idleTime);

	public native double getPacketsReceivedNonUnicastPerSecond(
			String instanceName, int idleTime);

	public native double getPacketsReceivedDiscarded(String instanceName);

	public native double getPacketsReceivedErrors(String instanceName);

	public native double getPacketsReceivedUnknown(String instanceName);

	public native double getBytesSentPerSecond(String instanceName, int idleTime);

	public native double getPacketsSentUnicastPerSecond(String instanceName,
			int idleTime);

	public native double getPacketsSentNonUnicastPerSecond(String instanceName,
			int idleTime);

	public native double getPacketsOutboundDiscarded(String instanceName);

	public native double getPacketsOutboundErrors(String instanceName);

	public native double getOutputQueueLength(String instanceName);

	public native double getOffloadedConnections(String instanceName);

	public native double getTcpActiveRscConnections(String instanceName);

	public native double getTcpRscCoalescedPacketsPerSecond(
			String instanceName, int idleTime);

	public native double getTcpRscExceptionsPerSecond(String instanceName,
			int idleTime);

	public native double getTcpRscAveragePacketSize(String instanceName);
}
