On Wed, 2016-05-25 at 18:10 +0200, Thomas Haller wrote:
> On Tue, 2016-05-24 at 12:51 -0400, Tony Espy wrote:
> > 
> > We have a new requirement to add a data activity indicator to
> > Ubuntu 
> > Touch for certification in certain markets.
> > 
> > We've had some internal debate about whether or not we should
> > extend 
> > NetworkManager to provide this information to the rest of the
> > system
> > vs. 
> > adding logic directly to our touch-specific network indicator.
> Hi Tony,
> 
> 
> IMO it would be interested in having this in NetworkManager, and I
> think we would be willing to help with implementation.

Yeah, it's been brought up before and it just needed somebody to do it
:)

> 
> > 
> > The current prototype is based on a similar facility in Connman,
> > and 
> > involves RTM_GETLINK polling to retrieve device-specific Rx and Tx 
> > statistics.
> Do you have a prototype available somewhere?
> 
> 
> > 
> > 
> > Connman's API can be seen here:
> > 
> > https://git.kernel.org/cgit/network/connman/connman.git/tree/doc/co
> > un
> > ter-api.txt
> > https://git.kernel.org/cgit/network/connman/connman.git/tree/doc/ma
> > na
> > ger-api.txt#n90
> > 
> > Our proposed implementation involves extending 
> > NMPlatform/NMLinuxPlatform and adding some new properties to the 
> > NetworkManager.Device interface:
> > 
> > * TxBytes, TxPackets, [calculated TxRate (byte/s)] and Rx
> > equivalents
> > * EnableStatProps : boolean property to enable/disable device
> > statistics
> > * StatPropsRefreshRateMs : refresh rate for Tx/Rx properties in
> > milliseconds
> > 
> > An alternative to extending the Device interface would be adding a 
> > dedicated Device.Statistics interface; and perhaps a Device
> > interface 
> > method ( vs. the EnableStatProps property ) to control 
> > enabling/disabling collection of statistics on a per-device basis.
> > 
> > The idea behind EnableStatProps is to avoid overloading the system
> > with 
> > PropertiesChanged signals. The Tx/Rx properties will not refresh
> > if 
> > EnableStatProps is false, and will refresh, sending
> > PropertiesChanged 
> > signals with the rate specified in StatPropsRefreshRateMs, when
> > true.
> > In our case, we'd explicitly disable statistics when the screen on
> > a 
> > device is turned off.
> 
> Maybe EnableStatProps could be dropped, and is implicit by
> setting StatPropsRefreshRateMs to zero.

I would say that the new Device.Statistics interface would simply have
a "RefreshRateMs" property (eg, no StatProps prefix) which would be set
to > 0 to enable reporting via D-Bus.  Then have the Tx/Rx statistics
as properties of the interface as well, that stay zero when reporting
isn't enabled or is turned off.

It's great to have some attention on this!

Dan
_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to