[webrtc-stats] identifying the ice generation of a candidate pair

fippo has just created a new issue for https://github.com/w3c/webrtc-stats:

== identifying the ice generation of a candidate pair ==
I tried testing https://webrtc.github.io/samples/src/content/peerconnection/restart-ice/ today and ran into an issue trying to determine when an ice restart is done (ofc there are differences in behaviour...)

Before the ICE restart I got the candidate-pair stats:
```
{ availableOutgoingBitrate: 300000,
  bytesReceived: 701,
  bytesSent: 3436,
  consentRequestsSent: 1,
  currentRoundTripTime: 0.001,
  id: 'RTCIceCandidatePair_6VmMtnAH_YtJXN7Y1',
  localCandidateId: 'RTCIceCandidate_6VmMtnAH',
  nominated: true,
  priority: 9079290933572287000,
  remoteCandidateId: 'RTCIceCandidate_YtJXN7Y1',
  requestsReceived: 2,
  requestsSent: 1,
  responsesReceived: 2,
  responsesSent: 2,
  state: 'succeeded',
  timestamp: 1533138198848.83,
  totalRoundTripTime: 0.002,
  transportId: 'RTCTransport_audio_1',
  type: 'candidate-pair',
  writable: true }
```
and after the restart I got these:
```
{ bytesReceived: 961,
  bytesSent: 34971,
  consentRequestsSent: 2,
  currentRoundTripTime: 0.001,
  id: 'RTCIceCandidatePair_6VmMtnAH_YtJXN7Y1',
  localCandidateId: 'RTCIceCandidate_6VmMtnAH',
  nominated: true,
  priority: 9079290933572287000,
  remoteCandidateId: 'RTCIceCandidate_YtJXN7Y1',
  requestsReceived: 3,
  requestsSent: 1,
  responsesReceived: 3,
  responsesSent: 3,
  state: 'succeeded',
  timestamp: 1533138204016.691,
  totalRoundTripTime: 0.003,
  transportId: 'RTCTransport_audio_1',
  type: 'candidate-pair',
  writable: false }
{ bytesReceived: 0,
  bytesSent: 0,
  consentRequestsSent: 0,
  id: 'RTCIceCandidatePair_6VmMtnAH_gK386qHH',
  localCandidateId: 'RTCIceCandidate_6VmMtnAH',
  nominated: false,
  priority: 9079290933572287000,
  remoteCandidateId: 'RTCIceCandidate_gK386qHH',
  requestsReceived: 1,
  requestsSent: 0,
  responsesReceived: 0,
  responsesSent: 1,
  state: 'waiting',
  timestamp: 1533138204016.691,
  totalRoundTripTime: 0,
  transportId: 'RTCTransport_audio_1',
  type: 'candidate-pair',
  writable: false }
 { bytesReceived: 0,
  bytesSent: 0,
  consentRequestsSent: 0,
  id: 'RTCIceCandidatePair_mGy7uetC_YtJXN7Y1',
  localCandidateId: 'RTCIceCandidate_mGy7uetC',
  nominated: false,
  priority: 9079290933572287000,
  remoteCandidateId: 'RTCIceCandidate_YtJXN7Y1',
  requestsReceived: 0,
  requestsSent: 0,
  responsesReceived: 0,
  responsesSent: 0,
  state: 'waiting',
  timestamp: 1533138204016.691,
  totalRoundTripTime: 0,
  transportId: 'RTCTransport_audio_1',
  type: 'candidate-pair',
  writable: false }
{ availableOutgoingBitrate: 2850677,
  bytesReceived: 4154,
  bytesSent: 283990,
  consentRequestsSent: 5,
  currentRoundTripTime: 0.001,
  id: 'RTCIceCandidatePair_mGy7uetC_gK386qHH',
  localCandidateId: 'RTCIceCandidate_mGy7uetC',
  nominated: true,
  priority: 9079290933572287000,
  remoteCandidateId: 'RTCIceCandidate_gK386qHH',
  requestsReceived: 6,
  requestsSent: 1,
  responsesReceived: 6,
  responsesSent: 6,
  state: 'succeeded',
  timestamp: 1533138204016.691,
  totalRoundTripTime: 0.006,
  transportId: 'RTCTransport_audio_1',
  type: 'candidate-pair',
  writable: true }
```
just from looking at this it is not clear which generation they belong to.
Should we add a username (combination) or generation attribute?

If yes: to the pair or the local/remote candidates?

Please view or discuss this issue at https://github.com/w3c/webrtc-stats/issues/358 using your GitHub account

Received on Wednesday, 1 August 2018 15:54:28 UTC