enterSegment({ segment, transaction = this._transaction }) {
    if (transaction?.agent?.otelSpanKey && segment) {
      this._otelCtx.set(transaction.agent.otelSpanKey, new FakeSpan(segment, transaction))
    }
    return new this.constructor(transaction, segment, this._otelCtx)
  }
Constructs a new context from segment about to be bound to context manager
along with the current transaction. It will also bind a FakeSpan to the `_otelCtx`

@param {object} params to function
@param {TraceSegment} params.segment segment to bind to context
@param {Transaction} params.transaction active transaction
@returns {OtelContext} a newly constructed context