drain(waitDrainStart) {
    // Metric can be used to see how frequently completing drains as well as
    // average time to drain from when we first notice.
    const drainCompleted = Date.now()
    const drainDurationMs = drainCompleted - waitDrainStart
    this._metrics.getOrCreateMetric(NAMES.DRAIN_DURATION).recordValue(drainDurationMs / 1000)

    // Once the 'drain' event fires we can begin writing to the stream again
    this._writable = true
    this.sendQueue()
  }
Drains the span queue that built up when the connection was
 back-pressured or disconnected. `waitDrainStart` is when the stream
 initially blocked, used to time how long the stream was blocked. If this
 is not defined, it is assumed this is being called after a reconnect,
 and the metric is not used.

@param {number} waitDrainStart time that drain started