Hi Jan, where can I find more information about the data-tracing with "Census" ? Also you told that gRPC team is working on fully-fledged tracing/stats support for gRPC. I there already some information how it will look like ?
Bien à vous, Artem Miniailo 2017-02-27 9:19 GMT+01:00 Jan Tattermusch <[email protected]>: > Ryan is right in with the idea. Nevertheless, the server side interceptor > piece doesn't exist in C#, so for now you need to extract the header in the > server-side handler manually (and add it directly to the child call or to a > custom call invoker. > > Also, you need to be very careful about choosing the right context type, > as just "thread local" context won't work with async/await. > > On Sun, Feb 26, 2017 at 8:02 AM, Ryan Michela <[email protected]> wrote: > >> I've done this using grpc-java. The theory should be similar for C#. >> > >> You need to use a custom header to propagate your correlation id over the >> wire. You will also need a place to store the correlation id between >> processing a service call and calling the next service in the chain, such >> as a thread local variable. >> >> On the client side use an InterceptingCallInvoker to marshal the thread >> local correlation id into a header. On the server side, use a >> InterceptingCallInvoker to marshal the header into the thread local >> variable. Using this pattern you can chain multiple service calls while >> transparently preserving a single correlation id across the entire chain. >> This is called the Ambient Context pattern. >> >> A three service chain would look something like this: >> Thread local -> Header -> Thread local -> Header -> Thread Local >> >> If you are using asynchronous APIs you will have to do extra work to make >> sure your thread local context survives the thread hopping that happens >> with async/await. >> > >> On Tuesday, February 21, 2017 at 2:22:38 AM UTC-8, [email protected] >> wrote: >>> >>> >>> I have many microservices en .net communicating with each other via gRPC >>> (I use "protoc.exe" and "grpc_csharp_plugin.exe" to generate the client and >>> server parts). >>> Now I need that the gRPC request keeps the same correlationId passing >>> through different microservices. >>> >>> Please advise if I can add my own gRPC plugin that handle this >>> automatically? >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "grpc.io" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/grpc-io. >> To view this discussion on the web visit https://groups.google.com/d/ms >> gid/grpc-io/82238ec1-2404-49c0-b78a-dc1faeba973e%40googlegroups.com >> <https://groups.google.com/d/msgid/grpc-io/82238ec1-2404-49c0-b78a-dc1faeba973e%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CAMd85T00COB1ZLgaGCHAzt67BnQw26OhdFweDFccocoFHiCi-w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
