<div dir="ltr">Hi Ricardo,<div><br></div><div>Otter has different APIs, but indeed you do need to pass something on the process boundaries. </div><div>I think this discussion will be very otter specific, so I'd suggest to open an issue on github. We can brainstorm there and see if we can come up with something nice for this.</div><div><br></div><div>Regards,</div><div>Ferenc</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 28 September 2017 at 17:54, Ricardo Oliveira <span dir="ltr"><<a href="mailto:picaoao@gmail.com" target="_blank">picaoao@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I'm trying to design a distributed tracing system for Erlang processes following the <a href="http://opentracing.io" target="_blank">opentracing</a> standard. For the purpose, I'm supporting myself in <a href="https://github.com/Bluehouse-Technology/otter" target="_blank">otter</a> for generating and emitting traces, and <a href="http://jaeger.readthedocs.io/en/latest/" target="_blank">jaeger</a> for collecting, querying and storing them.. The question for which I can't figure out a clear answer is how should I pass the trace payload between processes. The first idea that comes to me is to put the trace information in the all the messages passed between processes, and with that define a sort of message protocol that all messages would have to `extend`. This was the approach Uber used to solve this problem, with the implementation of <a href="https://github.com/uber/tchannel" target="_blank">TChannel</a>. This would be a bit awkward to implement in Erlang, as we would have to `force` all messages exchanged between processes to include this payload, and I don't know how I could do this properly. Do you have a way of doing this ?</div><div><br></div><div>Also , would you see a better (simpler) way of doing this in Erlang, by taking advantage of the ERTS and OTP, for example, like <a href="http://erlang.org/doc/man/seq_trace.html" target="_blank">seq_trace</a> is passing `implicitly` the trace_token in the messages sent between the processes.</div><div><br></div><div>Thank you,</div><div>Ricardo Oliveira<br></div></div>
<br>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>