On 06/22/2017 01:54 AM, Rodric Rabbah wrote:
1. How does a whisk subject get access to the trace data?

I believe this would be a deployment concern. On a scenario where OpenWhisk is deployed in a single tenant mode (single company), a system like Jaeger would be deployed internally and anyone with valid credentials would be able to access the tool.

2. How will the tracing work for multiple tenants?

I have to admit that I don't really know how multi-tenancy works in OpenWhisk, so, it's not something I can answer right now.

3. From the description of the PR and screen shot, it looks like you're
tracing from the invoker side only around the "run". Why not also the
"init"?

I'm tracing only the invoker because I had to start somewhere :) Adding the init part to the trace is a really good point, I'll change the PR accordingly.

4. Measuring the "run" span should correlate with the reported duration of
the action in the whisk activation record, if you also measure "init", is
that right?

That's my understanding, yes.

5. Are you also thinking about tracing inside the container? If so, what
are your thoughts around this?

I'm currently extending the PR to begin the tracing at the controller, creating the span context based on the incoming HTTP headers (extract operation, in OpenTracing terms), and adding it to the ActivationMessage, which seems to be _the_ "transaction context" in OpenWhisk.

Then, at HttpUtils#post, do the OpenTracing inject operation, to "serialize" the span context into the outgoing HTTP request. On the next action, the extract operation above would re-build the span context, and we would then be able to connect spans in a distributed trace.

I have not started to consider the possibilities of allowing the action itself to generate "business spans". This would require the action to have access to the concrete Trace implementation, and it has to be the same as the tracer from outside of the container, as each tracer implementation serializes the span context differently. So, it's probably a complex matter that is better left out for a next iteration.

- Juca.

Reply via email to