public static MetricExporter configureIfPossible()

in custom/src/main/java/co/elastic/otel/ElasticUserAgentHeader.java [49:69]


  public static MetricExporter configureIfPossible(MetricExporter metricExporter) {
    // TODO remove workaround for https://github.com/open-telemetry/opentelemetry-java/issues/7276
    // once fixed, setAggregationTemporalitySelector and setDefaultAggregationSelector can then be
    // removed
    if (metricExporter instanceof OtlpGrpcMetricExporter) {
      return ((OtlpGrpcMetricExporter) metricExporter)
          .toBuilder()
              .setAggregationTemporalitySelector(metricExporter)
              .setDefaultAggregationSelector(metricExporter)
              .addHeader(HEADER_NAME, GRPC_VALUE)
              .build();
    } else if (metricExporter instanceof OtlpHttpMetricExporter) {
      return ((OtlpHttpMetricExporter) metricExporter)
          .toBuilder()
              .setAggregationTemporalitySelector(metricExporter)
              .setDefaultAggregationSelector(metricExporter)
              .addHeader(HEADER_NAME, HTTP_VALUE)
              .build();
    }
    return metricExporter;
  }