content: /*
   * Copyright The OpenTelemetry Authors
   * SPDX-License-Identifier: Apache-2.0
   */
  
  package io.opentelemetry.javaagent.instrumentation.rocketmqclient.v4_8;
  
  import io.opentelemetry.api.GlobalOpenTelemetry;
  import io.opentelemetry.instrumentation.rocketmqclient.v4_8.RocketMqTelemetry;
  import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig;
  import io.opentelemetry.javaagent.bootstrap.internal.ExperimentalConfig;
  import org.apache.rocketmq.client.hook.ConsumeMessageHook;
  import org.apache.rocketmq.client.hook.SendMessageHook;
  
  public final class RocketMqClientHooks {
  
    @SuppressWarnings("deprecation") // call to deprecated method will be removed in the future
    private static final RocketMqTelemetry TELEMETRY =
        RocketMqTelemetry.builder(GlobalOpenTelemetry.get())
            .setCapturedHeaders(ExperimentalConfig.get().getMessagingHeaders())
            .setCaptureExperimentalSpanAttributes(
                AgentInstrumentationConfig.get()
                    .getBoolean(
                        "otel.instrumentation.rocketmq-client.experimental-span-attributes", false))
            .build();
  
    public static final ConsumeMessageHook CONSUME_MESSAGE_HOOK =
        TELEMETRY.newTracingConsumeMessageHook();
  
    public static final SendMessageHook SEND_MESSAGE_HOOK = TELEMETRY.newTracingSendMessageHook();
  
    private RocketMqClientHooks() {}
  }
  