anchor.diff:              ?LOG_INFO("OTLP grpc export failed with error: ~p", [Reason]),
               error
       end;
  -export(logs, {Logs, Config}, Resource, #state{protocol=grpc,
  -                                              grpc_metadata=Metadata,
  -                                              channel_pid=_ChannelPid}) ->
  +export(logs, {Logs, Config}, Resource, #state{channel=Channel,
  +                                              protocol=grpc,
  +                                              grpc_metadata=Metadata}) ->
       ExportRequest = otel_otlp_logs:to_proto(Logs, Resource, Config),
       Ctx = grpcbox_metadata:append_to_outgoing_ctx(ctx:new(), Metadata),
  -    case opentelemetry_logs_service:export(Ctx, ExportRequest, #{channel => ?MODULE}) of
  +    case opentelemetry_logs_service:export(Ctx, ExportRequest, #{channel => Channel}) of
           {ok, _Response, _ResponseMetadata} ->
               ok;
           {error, {Status, Message}, _} ->
  
positive.code:     end;
  export(metrics, Tab, Resource, #state{protocol=grpc,
                                        grpc_metadata=Metadata,
                                        channel_pid=_ChannelPid}) ->
      ExportRequest = otel_otlp_metrics:to_proto(Tab, Resource),
      Ctx = grpcbox_metadata:append_to_outgoing_ctx(ctx:new(), Metadata),
      case opentelemetry_metrics_service:export(Ctx, ExportRequest, #{channel => ?MODULE}) of
          {ok, _Response, _ResponseMetadata} ->
              ok;
          {error, {Status, Message}, _} ->
  
negative.code:                                    undefined -> ChannelOpts;
                                     Encoding -> maps:put(encoding, Encoding, ChannelOpts)
                                   end,
  
              %% Channel name can be any term. To separate Channels per
              %% the process calling the exporter (like the batch processor,
              %% metric reader and log handler) use the current pid
              Channel = self(),
              case grpcbox_channel:start_link(Channel,
                                              grpcbox_endpoints(Endpoints),
                                              UpdatedChannelOpts) of
                  {ok, ChannelPid} ->
                      {ok, #state{channel=Channel,
                                  channel_pid=ChannelPid,
                                  endpoints=Endpoints,
                                  headers=Headers,
                                  compression=Compression,
  