private static void setExtraAttributes()

in agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/exporter/Exporter.java [1025:1085]


  private static void setExtraAttributes(
      TelemetryItem telemetry, MonitorDomain data, Attributes attributes) {
    attributes.forEach(
        (key, value) -> {
          String stringKey = key.getKey();
          if (stringKey.startsWith("applicationinsights.internal.")) {
            return;
          }
          if (stringKey.equals(AZURE_NAMESPACE.getKey())
              || stringKey.equals(AZURE_SDK_MESSAGE_BUS_DESTINATION.getKey())
              || stringKey.equals(AZURE_SDK_ENQUEUED_TIME.getKey())) {
            // these are from azure SDK (AZURE_SDK_PEER_ADDRESS gets filtered out automatically
            // since it uses the otel "peer." prefix)
            return;
          }
          if (stringKey.equals(KAFKA_RECORD_QUEUE_TIME_MS.getKey())
              || stringKey.equals(KAFKA_OFFSET.getKey())) {
            return;
          }
          if (stringKey.equals(AI_REQUEST_CONTEXT_KEY.getKey())) {
            return;
          }
          // special case mappings
          if (stringKey.equals(SemanticAttributes.ENDUSER_ID.getKey()) && value instanceof String) {
            telemetry.getTags().put(ContextTagKeys.AI_USER_ID.toString(), (String) value);
            return;
          }
          if (stringKey.equals(SemanticAttributes.HTTP_USER_AGENT.getKey())
              && value instanceof String) {
            telemetry.getTags().put("ai.user.userAgent", (String) value);
            return;
          }
          if (stringKey.equals("ai.preview.instrumentation_key") && value instanceof String) {
            telemetry.setInstrumentationKey((String) value);
            return;
          }
          if (stringKey.equals("ai.preview.service_name") && value instanceof String) {
            telemetry.getTags().put(ContextTagKeys.AI_CLOUD_ROLE.toString(), (String) value);
            return;
          }
          if (stringKey.equals("ai.preview.service_instance_id") && value instanceof String) {
            telemetry
                .getTags()
                .put(ContextTagKeys.AI_CLOUD_ROLE_INSTANCE.toString(), (String) value);
            return;
          }
          if (stringKey.equals("ai.preview.service_version") && value instanceof String) {
            telemetry.getTags().put(ContextTagKeys.AI_APPLICATION_VER.toString(), (String) value);
            return;
          }
          if (STANDARD_ATTRIBUTE_PREFIX_TRIE.getOrDefault(stringKey, false)
              && !stringKey.startsWith("http.request.header.")
              && !stringKey.startsWith("http.response.header.")) {
            return;
          }
          String val = convertToString(value, key.getType());
          if (value != null) {
            TelemetryUtil.getProperties(data).put(key.getKey(), val);
          }
        });
  }