anchor.diff:      AppOpts = otel_configuration:merge_list_with_environment(config_mapping(), AppEnv, Config),
   
       %% append the default path `/v1/traces` only to the path of otlp_endpoint
  -    Opts1 = update_opts(otlp_endpoint, endpoints, ?DEFAULT_ENDPOINTS, AppOpts, Opts, fun endpoints_append_path/1),
  -    Opts2 = update_opts(otlp_traces_endpoint, endpoints, ?DEFAULT_ENDPOINTS, AppOpts, Opts1, fun maybe_to_list/1),
  +    Opts1 = update_opts(otlp_endpoint, endpoints, ?DEFAULT_HTTP_ENDPOINTS, AppOpts, Opts, fun endpoints_append_path/1),
  +    Opts2 = update_opts(otlp_traces_endpoint, endpoints, ?DEFAULT_HTTP_ENDPOINTS, AppOpts, Opts1, fun maybe_to_list/1),
   
       Opts3 = update_opts(otlp_headers, headers, [], AppOpts, Opts2),
       Opts4 = update_opts(otlp_traces_headers, headers, [], AppOpts, Opts3),
  
positive.code:                                 protocol=http_protobuf}}
              end;
          http_protobuf ->
              {ok, #state{endpoints=Endpoints,
                          headers=Headers,
                          compression=Compression,
                          protocol=http_protobuf}};
          http_json ->
              {ok, #state{endpoints=Endpoints,
                          headers=Headers,
                          compression=Compression,
  
negative.code:     #{scheme => atom_to_list(Scheme), host => Host, port => Port, path => "/v1/traces", ssl_options => SSLOptions};
  append_path(Endpoint=#{path := Path}) ->
      Endpoint#{path => filename:join(Path, ?DEFAULT_TRACES_PATH)};
  append_path(Endpoint=#{}) ->
      Endpoint#{path => ?DEFAULT_TRACES_PATH};
  append_path(EndpointString) when is_list(EndpointString) orelse is_binary(EndpointString) ->
      Endpoint=#{path := Path} = uri_string:parse(EndpointString),
      Endpoint#{path => filename:join(Path, ?DEFAULT_TRACES_PATH)}.
  