OpenTracing integration

Hi I wonder is there anybody try to integrate APM with temporal.

I knew temporal-web has similar stuff, it display the activity lifetime in frame graph.
But it doesn’t show what happened inside each activity unless I use logging. and fetch it with other service.

I want to use opentracing, but it’s easy to create span in activity, not in workflow.

class MyWorkflow
  def execute
    span = OpenTracingTemporal.start_active_span("My Span")
      # The SpanContext carries data across process boundaries
      distributed_span_ctx = {}
      OpenTracing.inject(span.context, OpenTracing::FORMAT_TEXT_MAP, distributed_span_ctx)
      SomeActivity.execute!(**params, parent_span: distributed_span_ctx)
    span.close
  end

end

OpenTracing"Temporal" because I don’t think OpenTracing has interface to do this.
OpenTracing.start_active_span returns a span. it is not replayable(non-deterministic) and it’s value is not promised to be serializable.(so I cannot make it inside activity) Maybe the problem is in OpenTracing.

I wonder if there’s anyone doing this.

Hi @tim37021
we don’t officially support a Ruby SDK at the moment. We do have a community on ruby-sdk-dev channel on our slack that might be able to help. Do you mind posting the question there and let me know if you don’t get a response. Thanks.