{"action":"opened","issue":{"url":"https://api.github.com/repos/grpc/grpc-java/issues/4312","repository_url":"https://api.github.com/repos/grpc/grpc-java","labels_url":"https://api.github.com/repos/grpc/grpc-java/issues/4312/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc-java/issues/4312/comments","events_url":"https://api.github.com/repos/grpc/grpc-java/issues/4312/events","html_url":"https://github.com/grpc/grpc-java/issues/4312","id":312049288,"number":4312,"title":"Provide more detailed information on OpenCensus spans","user":{"login":"steveniemitz","id":1882981,"avatar_url":"https://avatars0.githubusercontent.com/u/1882981?v=4","gravatar_id":"","url":"https://api.github.com/users/steveniemitz","html_url":"https://github.com/steveniemitz","followers_url":"https://api.github.com/users/steveniemitz/followers","following_url":"https://api.github.com/users/steveniemitz/following{/other_user}","gists_url":"https://api.github.com/users/steveniemitz/gists{/gist_id}","starred_url":"https://api.github.com/users/steveniemitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveniemitz/subscriptions","organizations_url":"https://api.github.com/users/steveniemitz/orgs","repos_url":"https://api.github.com/users/steveniemitz/repos","events_url":"https://api.github.com/users/steveniemitz/events{/privacy}","received_events_url":"https://api.github.com/users/steveniemitz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-04-06T17:04:26Z","updated_at":"2018-04-06T17:04:26Z","closed_at":null,"author_association":"NONE","body":"I had made some modifications to gRPC that I'm running in a local fork which have been very useful for debugging network issues, performance etc.  I wanted to start a discussion of adding more useful tracing information into gRPC.\r\n\r\nCurrently the only information provided comes from the ClientCallTracer, which simple marks the start/end of a call, along with message send/recv events.\r\n\r\nI've additionally instrumented the netty transport (via `NettyClientStream`) to annotate the send operation span with:\r\n- Header send queued\r\n- Header send complete\r\n- Frame queued\r\n- Frame sent\r\n- Request called\r\n- Headers received\r\n- Trailers received\r\n\r\nSpecifically the frame queued and frame sent annotations are very helpful for debugging network congestion on the client end.  Would this kind of tracing be useful for others?  I can clean up my code and submit a pull request if so."}}
{"actor":{"display_login":"steveniemitz"}}