public void inject()

in awspropagator/src/main/java/software/amazon/opentelemetry/awspropagator/AwsCompositePropagator.java [90:108]


  public <C> void inject(Context context, C carrier, TextMapSetter<C> setter) {
    if (injectExtractedFormat) {
      TextMapPropagator extractedPropagator = context.get(EXTRACTED_PROPAGATOR);
      if (extractedPropagator != null) {
        extractedPropagator.inject(context, carrier, setter);
        Baggage baggage = Baggage.fromContextOrNull(context);
        if (baggage != null && extractedPropagator != AwsXrayPropagator.getInstance()) {
          // We extracted a span from a format not supporting baggage within the trace context
          // itself, for example b3. if we have baggage we just propagate using w3c
          // baggage.
          W3CBaggagePropagator.getInstance().inject(context, carrier, setter);
        }
        return;
      }
    }
    // Unless injecting in the same format as extracted, always inject X-Amzn-Trace-Id, the only
    // format recognized by all AWS services as of now.
    AwsXrayPropagator.getInstance().inject(context, carrier, setter);
  }