{"action":"created","issue":{"url":"https://api.github.com/repos/jaegertracing/jaeger-client-python/issues/128","repository_url":"https://api.github.com/repos/jaegertracing/jaeger-client-python","labels_url":"https://api.github.com/repos/jaegertracing/jaeger-client-python/issues/128/labels{/name}","comments_url":"https://api.github.com/repos/jaegertracing/jaeger-client-python/issues/128/comments","events_url":"https://api.github.com/repos/jaegertracing/jaeger-client-python/issues/128/events","html_url":"https://github.com/jaegertracing/jaeger-client-python/issues/128","id":299474328,"number":128,"title":"Python client silently ignores data larger than one UDP datagram","user":{"login":"tzickel","id":7489847,"avatar_url":"https://avatars0.githubusercontent.com/u/7489847?v=4","gravatar_id":"","url":"https://api.github.com/users/tzickel","html_url":"https://github.com/tzickel","followers_url":"https://api.github.com/users/tzickel/followers","following_url":"https://api.github.com/users/tzickel/following{/other_user}","gists_url":"https://api.github.com/users/tzickel/gists{/gist_id}","starred_url":"https://api.github.com/users/tzickel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tzickel/subscriptions","organizations_url":"https://api.github.com/users/tzickel/orgs","repos_url":"https://api.github.com/users/tzickel/repos","events_url":"https://api.github.com/users/tzickel/events{/privacy}","received_events_url":"https://api.github.com/users/tzickel/received_events","type":"User","site_admin":false},"labels":[{"id":360321603,"url":"https://api.github.com/repos/jaegertracing/jaeger-client-python/labels/bug","name":"bug","color":"ee0701","default":true},{"id":360321606,"url":"https://api.github.com/repos/jaegertracing/jaeger-client-python/labels/help%20wanted","name":"help wanted","color":"128A0C","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-02-22T19:17:08Z","updated_at":"2018-03-12T16:47:11Z","closed_at":null,"author_association":"NONE","body":"A. The documentation does not specify that there is any limit on data sizes and/or what happens in such a case (not sure that all users of this package are versed in UDP Transport and it's limitations).\r\nB. The code does not handle python socket send exceptions (UDP throws an exception on a send larger than one datagram size, at least on linux).\r\nC. The metrics counters do not count spans which were discarded because of UDP size limits anywhere."},"comment":{"url":"https://api.github.com/repos/jaegertracing/jaeger-client-python/issues/comments/372379529","html_url":"https://github.com/jaegertracing/jaeger-client-python/issues/128#issuecomment-372379529","issue_url":"https://api.github.com/repos/jaegertracing/jaeger-client-python/issues/128","id":372379529,"user":{"login":"yurishkuro","id":3523016,"avatar_url":"https://avatars2.githubusercontent.com/u/3523016?v=4","gravatar_id":"","url":"https://api.github.com/users/yurishkuro","html_url":"https://github.com/yurishkuro","followers_url":"https://api.github.com/users/yurishkuro/followers","following_url":"https://api.github.com/users/yurishkuro/following{/other_user}","gists_url":"https://api.github.com/users/yurishkuro/gists{/gist_id}","starred_url":"https://api.github.com/users/yurishkuro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurishkuro/subscriptions","organizations_url":"https://api.github.com/users/yurishkuro/orgs","repos_url":"https://api.github.com/users/yurishkuro/repos","events_url":"https://api.github.com/users/yurishkuro/events{/privacy}","received_events_url":"https://api.github.com/users/yurishkuro/received_events","type":"User","site_admin":false},"created_at":"2018-03-12T16:47:11Z","updated_at":"2018-03-12T16:47:11Z","author_association":"OWNER","body":"We do emit metrics and logs if UDP send fails\r\n\r\nhttps://github.com/jaegertracing/jaeger-client-python/blob/master/jaeger_client/reporter.py#L201\r\n\r\nThe main thing about Python client is that it's not written the same way as other clients which actually pre-compute the expected size of the batch and manage flush w.r.t. that size vs. the MAX_PACKET_SIZE (65000 bytes by default - MTU is not relevant for loopback comms). Instead Python client simple looks for the fixed # of spans as the indicator to flush. This worked well for us because that batch size is fairly small (10) and our average span size in Python is <1kb, so we have plenty of room in the buffer."}}
{"actor":{"display_login":"yurishkuro"}}