본문 바로가기
리눅스

jaeger udp buffer limits (macOS -> sudo sysctl net.inet.udp.maxdgram=65536)

by 혜룐 2019. 8. 21.

https://www.jaegertracing.io/docs/1.12/client-libraries/#emsgsize-and-udp-buffer-limits

 

Client Libraries

Client Libraries Version  1.13 Latest See also: All Jaeger client libraries support the OpenTracing APIs. The following resources provide more information about instrumenting your application with OpenTracing: The rest of this page contains information abo

www.jaegertracing.io

커널 값을 늘려주자!

예거라이브러리는 udp프로토콜로 처리한다.

맥os의 경우 udp패킷의최대버퍼키기를 제한하기때문에, EMSGSIZE오류와 관련된 문제가 발생하면 아래처럼 커널에서 값을 늘려주면 된다.

catherineui-MacBook-Pro:~ catherine$ sysctl -a|grep gram
net.local.dgram.recvspace: 4096
net.local.dgram.maxdgram: 2048
net.inet.udp.maxdgram: 9216
net.inet.raw.maxdgram: 8192
catherineui-MacBook-Pro:~ catherine$ sudo sysctl net.inet.udp.maxdgram=65536
Password:
net.inet.udp.maxdgram: 9216 -> 65536
catherineui-MacBook-Pro:~ catherine$ sysctl -a|grep gramnet.local.dgram.recvspace: 4096
net.local.dgram.maxdgram: 2048
net.inet.udp.maxdgram: 65536
net.inet.raw.maxdgram: 8192

많은양의 데이터를 기록하는 경우, 최대패킷크기를 초과하면 잘 처리가 되지 않을수있다.

java클라이언트 처럼 httpSender와 같은 non-udp프로토콜을 사용하는 것도 방법이 될수있겠다.

예거문서에 잘 나와있음....