shouldSample(context, _traceId, _spanName, spanKind) {
    if (context?.transaction?.isActive()) {
      return { decision: SamplingDecision.RECORD_AND_SAMPLED }
    }

    const parentContext = trace.getSpanContext(context)
    if (parentContext?.isRemote || spanKind === SpanKind.SERVER || spanKind === SpanKind.CONSUMER) {
      return { decision: SamplingDecision.RECORD_AND_SAMPLED }
    }

    return { decision: SamplingDecision.NOT_RECORD }
  }
Basic sampler that just checks if there is an active transaction.
If not, it falls back to checking if it is a server of consumer span
or `isRemote` exists on the parent span context.