constructor(infiniteTracingConfig, metrics, reconnectDelayMs = DEFAULT_RECONNECT_DELAY_MS) {
    super()
    this._compression = infiniteTracingConfig.compression
    this._method = infiniteTracingConfig.batching ? 'recordSpanBatch' : 'recordSpan'

    this._reconnectDelayMs = reconnectDelayMs

    this._metrics = metrics
    this._setState(connectionStates.disconnected)

    this._licensekey = null
    this._runId = null
    this._requestHeadersMap = null

    const traceObserverConfig = infiniteTracingConfig.trace_observer
    this._endpoint = this.getTraceObserverEndpoint(traceObserverConfig)
    this._insecureConnection = traceObserverConfig.insecure

    this._client = null
    this.stream = null
  }
GrpcConnection constructor

Standard property setting/initialization, and sets an initial
connection state of disconnected

@param {object} infiniteTracingConfig config item config.infinite_tracing
@param {MetricAggregator} metrics metric aggregator, for supportability metrics
@param {number} [reconnectDelayMs] number of milliseconds to wait before reconnecting
for error states that require a reconnect delay.