2016-05-09 33 views
9

Próbuję dowiedzieć się, dlaczego moje połączenie grpc nie działa, ale nie mogę dowiedzieć się, jak włączyć debugowanie, więc mogę zobaczyć dane, które są wysyłane i odbierane przez połączenie GRPC.Jak debugować wywołanie grpc?

Jak włączyć debugowanie wywołań grpc?

Odpowiedz

15

Można ustawić zmienną GRPC_TRACE środowiskową do all mieć grpc zrzucić całą masę danych o tym, co gra robi:

export GRPC_TRACE=all 

zmienił się od komentarza: widocznie trzeba także ustawić:

export GRPC_VERBOSITY=DEBUG 
+0

Próbowałem tego i nic nie widziałem na konsoli. Czy było coś jeszcze, co zrobiłeś w swojej aplikacji, aby uzyskać wyjście? – PudgePacket

+2

Ah, znalazłem https://github.com/grpc/grpc/issues/7960#issuecomment-250801871 – PudgePacket

+0

https://github.com/grpc/grpc/blob/master/doc/environment_variables.md –

1

W Golang, trzeba ustawić GODEBUG environment variable zobaczyć HTTP2 ślady, czyli nagłówki ustawione przez gRPC:

GODEBUG=http2debug=1 # enable verbose HTTP/2 debug logs 
GODEBUG=http2debug=2 # ... even more verbose, with frame dumps 

Dane wyjściowe zostaną wysłane na standardowe wyjście. oto przykład:

{"level":"info","msg":"2017/06/11 08:52:20 http2: Framer 0xc42009c0e0: wrote SETTINGS len=0","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: Framer 0xc42009c0e0: wrote WINDOW_UPDATE len=4 (conn) incr=983025","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: Framer 0xc42009c0e0: read SETTINGS len=18, settings: ENABLE_PUSH=0, MAX_CONCURRENT_STREAMS=0, INITIAL_WINDOW_SIZE=1048576","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: Framer 0xc42009c0e0: read WINDOW_UPDATE len=4 (conn) incr=983041","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: Framer 0xc42009c0e0: wrote SETTINGS flags=ACK len=0","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: Framer 0xc42009c0e0: read SETTINGS flags=ACK len=0","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: Framer 0xc42009c0e0: read HEADERS flags=END_HEADERS|PRIORITY stream=3 len=249","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \":authority\" = \"\"","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \":path\" = \"/internal.push.v1.UnifiedDevicePush/SendMessage\"","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \":method\" = \"POST\"","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \":scheme\" = \"http\"","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \"content-type\" = \"application/grpc\"","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \"te\" = \"trailers\"","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \"user-agent\" = \"grpc-java-netty/1.0.3\"","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \"root-common.xirequestid-bin\" = \"ChIJzE6lBfCTCsYRoIIJujc92JY=\"","time":"2017-06-11T08:52:20Z"} 
{"level":"info","msg":"2017/06/11 08:52:20 http2: decoded hpack field header field \"te\" = \"trailers\"","time":"2017-06-11T08:52:20Z"} 
+0

@Dominik - dzięki za edycję. Musiałem być wysoki, gdy napisałem tę odpowiedź: / – FuzzyAmi