anchor.diff:      maps:get(address, Options, ?DEFAULT_ZIPKIN_ADDRESS).
   
   local_endpoint_from_resource(Attributes, LocalEndpoint) ->
  -    case lists:keyfind("service.name", 1, Attributes) of
  -        {"service.name", ServiceName} ->
  +    case maps:find(<<"service.name">>, otel_attributes:map(Attributes)) of
  +        {ok, ServiceName} ->
               LocalEndpoint#zipkin_endpoint{service_name=ServiceName};
           _ ->
               LocalEndpoint
  
positive.code:     Value.
  
  to_tags(Attributes) ->
      lists:map(fun({Name, Value}) ->
                       {to_binary_string(Name), to_binary_string(Value)}
                end, Attributes).
  
  to_parent_id(undefined) ->
      undefined;
  
negative.code:                                              value=annotation_value(Name, Attributes)} | Annotations]).
  
  annotation_value(Name, Attributes) ->
      Annos = maps:fold(fun(Key, Value, Acc) ->
                                [Key, ": ", to_string(Value) | Acc]
                        end, [], otel_attributes:map(Attributes)),
      AttrString = lists:join(", ", Annos),
      iolist_to_binary([Name, ": {", AttrString, "}"]).
  
  to_string(Value) when is_function(Value) ->
  