LT Seeding upload rate

Hi,

Is it possible to include the LT seeding upload rate as a column in the main task list? It would be nice to know which tasks were taking up the upload bandwidth.

At the moment all I can do is either hover the mouse over the upload size display on the status page for an individual task (GBs/100 don’t change very often!!) or monitor the sharing ratios, which don’t automatically get updated for tasks that are LT seeding until you click on them, even with the task list real-time sort switched on (should I report that as a bug?).

Thanks.

LTseedSession.jpg

Upload stats.jpg

LTseed won’t “take up your upload bandwidth”, unless it’s not being used. If there are bittorrent tasks that need upload, LTseeed will throttle back and allow the bittorrent peers to have it.

Although it’s usually not necessary, you can limit how much LTseed can use as a maximum.

I do like the idea of adding a column to the gui, but I’m not sure how much work it would require, and there is something to be said for making the gui as simple and uncomplicated as possible, so not to overwhelm new users who have no idea what all these stats are.

Perhaps putting the specific LTseed info into a tab in the lower pane would be a better option.

Maybe it could be a column that is hidden by default so that only people that are interested would unhide it. That might be better than adding more info that would always be displayed in the lower pane that maybe not very many people would want to see.

Anyhoo, let’s see what the devs think and maybe it will depend on how much work it would be to add it.

I just thought it would make it easier to decide which tasks to keep in the list once they have reached the share ratio limit that I use. if something is doing a lot of LT seeding then it is certainly something I would want to keep.

I agree, more feedback regarding LTseed peers in needed in many aspects, not just the upload rates. There has been a big improvement in this over the recent versions though. We now have individual peer listings for LTseed, separate download stats so we can know how much comes from each source, and real-time download figures. None of this existed when the feature was brand new, so hopefully suggestions like this and others we’ve submitted will be considered.

Thanks for the suggestion.

There is an advanced option reachable via Options–>Advanced called system.show_debug_info. Activating that will enable another column in the Task List (hidden by default) in which you can see the LTS upload rate for each task.

However that may take some toll on the CPU.

So, you may want to watch that to see how it fares for you.

Excellent, that does exactly what I asked for :slight_smile:

Only thing is that it now makes me realise that it would also be nice to have another column for session upload size for those tasks where the LT seeding rate varies a lot or only happens in short bursts.

Another reason for this is that BitComet often reports a much larger upload size than my router. I reset the router and my PC the other night and in the morning the router reported 3.5GB sent but BitComet reckoned nearly 8GB had been uploaded. Does BitComet record the full size of data if the upload is compressed as it goes?

The per session upload size you can find by hovering the mouse over the Upload Size and Download Size, in the Summary tab, for each task.

You’ll find the data divided by protocol. The data in front of the parenthesis is the data for the current session while the data inside parenthesis is the data for all sessions since that task was added to the list (global data).

I doubt that the team will consider moving that into columns (it would require 6 columns to cover upload and download for all 3 protocols) since it would further clutter an already full pane.

As for your router, there isn’t much I can tell you from here (possibly not even while in front of your router).

Short of knowing exactly WHAT data your router counts, there isn’t much sense in comparing the two values.

We know for a fact that BitComet will count data transferred for both transport protocols it uses (UDP and TCP). If you can confirm that your router does the same then you can start observing and comparing the two values. But in case your router counts only data transferred by TCP then the comparison is pointless.

AFAIK there is no compression involved in the proprietary LT-Seeding protocol and the other two (BitTorrent and eDonkey) would have to specify compression negotiation methods and compression alogrithms IN the protocol specifications, in order to be able use it in peer-to-peer connections.

BitTorrent doesn’t include that and as far as I can remember neither does eDonkey.

Wiz, as far as I am aware, BitComet does not transfer any torrent data via UDP under any circumstances. UDP is used for DHT traffic, and for tracker updates if specified, but not for transfer of blocks from one peer to another. That is done only by TCP. Have you got something different?

There was something about UDP LTSeeds, but it’s very vaguely documented… For example I don’t know if udp is used for the actual transfers or just the peer lists similarly to DHT. I’d personally discourage using udp for transferring files as it’s not as reliable as tcp, being intended for video/voice streaming where a random packet or two now and then wouldn’t be costly to the overall purpose.

Hi,

There is no ‘per session’ size displayed for LT seeding when you hover over the upload and download values on the summary page, it is only displayed for BitTorrent peers or eMule.

LTseed download stats.

/monthly_07_2011/post-1287-13116128850671.jpg" rel=“”>

0 Bytes (this session) 6.12MB (total)

Kluelos, I don’t have anything rock-solid from the team, so to speak.

But there has been since long an option in BC Advanced Options, called bittorrent.connection.ltseed_protocol_selection which decides which transport protocol LTS uses for transport.

By default the value of the option is set to 2, which means TCP+UDP but you can also select other values equivalent to “TCP only” or “UDP only”.

Obviously in the event where you choose “UDP only” UDP will be used for protocol overhead as well as data transfer, which leads me to believe that it may very well use UDP for transporting data even in the default configuration (when TCP is also enabled), in parallel with TCP.

Of course, we don’t have specific confirmation on this (as you know the info on LTS is limited) but since it seems to be technologically possible to do that in LTS, while choosing only UDP as transport protocol, it may very well be valid for the default option too (TCP+UDP).

Sorry, my fault, it is fine for LT Download, I was looking at LT Upload, where it isn’t displayed :slight_smile:

/monthly_07_2011/post-56273-13117566490591.jpg" rel=“”>

The LTseed protocol selection in advanced options sounds to me like it would be the negotiations used, not actual packets of data, but this needs to be clarified so we all understand it.

My understanding is that udp provides less provision for confirming the data transfer is intact and complete, therefore relying on the hashcheck after the data is sent. I don’t know of any advantage to using it for data or overhead, but I’m assuming there must be some ability it has to offer that tcp cannot, or it wouldn’t be used at all.

So, would one of you please prepare a list of questions for Ariel about this, then edit it into the wiki when you’ve had the questions answered to your satisfaction.

And would you also submit this users discovery that there LTseed upload doesn’t list the net and global values like it does for other protocols and for download.

Thank you. We are preparing some questions for development about this and will bring this issue to their attention at the same time.

TUUS, TCP and UDP are transport protocols, meaning they lie in the Transport level of both the OSI Reference Networking Model and TCP/IP Architectural Networking Model. Anyway they don’t really care WHAT they transport.

That being said, in TCP/IP you DON’T have another choice but one of these two when you want to transport higher protocol data.

BitTorrent, LT-Seeding, eDonkey, HTTP/FTP are all application protocols, which means they lie on a higher level than Transport level, so they must rely on one of these two transport protocols, at a minimum, for segmentation, encapsulation, multiplexing and addressing at process level (port numbers).

There is no going around that, period.

Now, TCP uses a negotiation by means of a 3 way handshake, but it only does that for itself (TCP) at transport level, meaning it will establish a TCP connection in order for it to function, irrespective of the needs for a connection of the higher transported protocol.

UDP doesn’t involve any negotiation or handshake; it just provides segmentation, encapsulation, multiplexing and process-level addressing, but doesn’t provide error control or flow control. If the application which sends data over it, needs those features it will need to implement them in an application protocol (at the higher level).

OTOH any higher protocol will need to make negotiations by itself if its specifications require it to, irrespective whether it will use TCP or UDP as a transport vehicle.

That is to say, for instance, that if LTS protocol specifies that there needs be a negotiation between two peers before actual LTS data can begin flowing in any direction, then LTS will need to perform a negotiation of its own, irrespective whether it’s using TCP (and thus a 3-way handshake negotiation took place at Transport level) or it’s using UDP and there was no such negotiation at the lower Transport level.

Each higher level (than Transport) does or doesn’t do its own negotiations (according to its design and specifications) with a total disregard on how the lower level Transport protocol works and whether it uses or not a negotiation process in order to render functional the Transport level (this doesn’t mean that the designer of the application protocol can’t take into account what Transport protocol will use and based on that make a decision if additional error and flow control is needed or redundant).

Therefore, the only thing that is unclear to me and could be clarified by the team is whether, in the implicit setting (TCP+UDP), BitComet will use both protocols simultaneously or it will choose dynamically between the two, and if the latter, what are the conditions (or the algorithm) it follows to choose.

If anyone else has any other questions regarding this, feel free to add them here and bump the thread.

(Towards mods:) I’ve added my question.

Please append yours (if any) before forwarding them to Ariel.

Just to focus the question a little more, we’re concerned about/want to know about the specific issue of transmission of blocks and pieces of the content. IOW, we don’t care about what protocols are used for exchanging piecemaps or negotiations or peer lists, only actual block transfers.