Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-11129

Capture fork/join pattern in OpenTracing

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: camel-opentracing
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      In the blog post http://www.hawkular.org/blog/2017/03/24/distributed-tracing-with-camel.html I instrumented the Loan Broker JMS example, which has a multicast/parallel and aggregation - but currently only the inbound/outbound endpoints create spans, so the opentracing data does not capture the fork/join structure.

      Therefore I wanted to explore ideas for how these control structures could be instrumented by the camel-opentracing component.

      As an initial spec, ideally what is required for the fork is a point where a 'fork' span could be created to act as the parent for a child span per concurrent path. This also means needing to be able to detect the start and end of the exchange for each path.

      Finally - when the join has been performed, need to gain access to the exchanges representing the concurrent paths, and associate the span context for each path with a new span representing the join point. Although haven't investigated in depth, potentially a proxy around the aggregation strategy might work - but not sure how this could be installed.

      This jira is just intended to investigate options, as currently the OpenTracing spec does not clearly define how this pattern would be represented, and would probably need additional reference types to be defined.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              objectiser Gary Brown
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: