Net measures


Measure=NetIn measures incoming (download) network traffic.
Measure=NetOut measures outgoing (upload) network traffic.
Measure=NetTotal measures both incoming and outgoing network traffic.

Net measures will have a value in bytes per second.

Bits and Bytes

The Net measures internally measure the traffic across the NIC (Network Interface Controller) in bits per second. The measures automatically divide both this internal measurement and any MinValue or MaxValue options by 8, (there are 8 bits in a byte) in order to use and display the values as bytes in measures and meters. This can be changed with the UseBits option on the measure.

Note that this means that any MinValue and MaxValue options on the measures, used to support a percentage in meters, should be set by you in bits, not bytes. Rainmeter itself will do the conversion to bytes automatically when the value(s) are used.

Per Second

The measured value is the number of bytes per second, factored by the total update rate of the measure, as defined by the Update option for the skin and any UpdateDivider option on the measure. Since the usual display of network traffic is in bytes per second, it is advisable to either set Update=1000 in the [Rainmeter] section of the skin, or add UpdateDivider options to NetIn / NetOut / NetTotal measures so they are updated once a second. Updating these measures at a rate other than once a second will return results that are confusing at best.

LAN and WAN

The measured value is simply the network traffic in and out of the network interface controller (NIC) of the computer running the skin. If the computer is on a local network through a router (LAN), the traffic will include all interaction between the computer and both the router and any other devices on the LAN. It will not include traffic directly to and from other devices and the internet (WAN), and so cannot be used to determine the amount of internet traffic.

You just cannot isolate traffic between your computer and another devices on the local network (LAN), from traffic coming from or going to the internet (WAN), nor can you ever know what some other device on your LAN is doing with the internet. If you are on some kind of "metered" connection to the internet, do not try to use these measures to manage that, other than in the most "approximate" kind of way.

Options

General measure options

All general measure options are valid.

Interface Default: Best

Identity of the network interface controller (NIC) to measure.

This can be defined in one of several ways:

  • The string value Best, which will automatically detect the active interface.
  • The name of the network interface controller. For example, Qualcomm AR938x Wireless Network Adapter.
  • The alias of the network interface. For example, Ethernet or Wi-Fi 3.
  • The index number of the network interface controller. If explicitly set to 0, all interfaces are measured.

Example: Interface=Best

Notes:

When the option is set to Best, the function will select a "wired" network connection in preference to a "wireless" one, if both are active.

When the option is set to Best, DynamicVariables=1 must be set on the measure if you want it to automatically react to changes in the active interface. This should be done if for instance you have a laptop or other computer that you switch between wired and wireless connections.

Cumulative Default: 0

If set to 1, measures the cumulative network traffic. This can be used to measure the cumulative NetIn, NetOut or NetTotal traffic through a NIC during a certain interval.

Note: The network traffic cumulative statistics are persistent and stored when Rainmeter is exited. They can be reset by either using the "Reset statistics" button in the "Settings" tab of the Manage interface, or by using the !ResetStats bang in a skin.

UseBits Default: 0

If set to 1, the value of the measure is returned in bits per second, rather than the default bytes per second.

Note: If UseBits is set to 1 then any MaxValue derived or set on the measure will also be calculated in bits, for use in percentages in meters that require them.

Deprecated Options

NetInSpeed Number of Bytes per second

This option replicates the behavior of setting MaxValue on the measure. There is no reason to prefer this over MaxValue.

While this option does not automatically divide the value by 8 to convert from bits to bytes, and is just set with bytes to start with, most sites that allow you to measure your total bandwidth, like speedtest.net, will return values in bits per second, and it is easier to just use those values in bits in MaxValue and let Rainmeter do the math.

NetOutSpeed Number of Bytes per second

This option replicates the behavior of setting MaxValue on the measure. There is no reason to prefer this over MaxValue.

While this option does not automatically divide the value by 8 to convert from bits to bytes, and is just set with bytes to start with, most sites that allow you to measure your total bandwidth, like speedtest.net, will return values in bits per second, and it is easier to just use those values in bits in MaxValue and let Rainmeter do the math.

Example

[Rainmeter]
Update=1000
BackgroundMode=2
SolidColor=0,0,0,255

[MeasureNetIn]
Measure=NetIn

[MeasureNetOut]
Measure=NetOut

[MeterText]
Meter=String
MeasureName=MeasureNetIn
MeasureName2=MeasureNetOut
X=5
Y=5
W=100
H=20
FontColor=255,255,255,255
NumOfDecimals=1
AutoScale=1
Text="In: %1B, Out: %2B"

A more detailed example and explanation can be found at Network Skin.