Pulsar: Support for Distributed Tracing with OpenTracing

Created on 1 Mar 2019  路  3Comments  路  Source: apache/pulsar

Is your feature request related to a problem? Please describe.

Distributed tracing, also called distributed request tracing, is a method used to profile and monitor applications, especially those built using a microservices architecture. Distributed tracing helps pinpoint where failures occur and what causes poor performance.

From the description of OpenTracing - https://opentracing.io/docs/overview/what-is-tracing/

Describe the solution you'd like

The topic was raised on Slack a couple days ago, involving @merlimat.

@merlimat mentioned at one point that there were talks of integrating OpenTracing in Pulsar (and I assume Bookkeeper, Zookeeper, Presto, ... by extension).

OpenTracing can be used by multiple visualization tools, such as Jaeger.
If added to the deployment scripts, maybe Jaeger (https://www.jaegertracing.io/) could be integrated as well (similar to Prometheus and Grafana).

Describe alternatives you've considered

None, but open to alternatives. OpenTracing is fairly industry standard though.

Additional context

I'd be interested in feature testing this, however our Pulsar deployment is not yet mature enough to do so at this point in time. We also don't (yet) cover any use cases involving Presto or Pulsar Functions.

Ideally, some other people raise interest in this feature and are willing to help feature test this.

componendeploy typfeature

Most helpful comment

OpenTracing was recently merged with OpenCensus into the OpenTelemetry framework.

With that being said, my team (and myself especially) will consider contributing to this, and our preference is integration with Jaeger (over Zipkin or others). We're especially interested in tracing in Pulsar Functions.

All 3 comments

OpenTracing was recently merged with OpenCensus into the OpenTelemetry framework.

With that being said, my team (and myself especially) will consider contributing to this, and our preference is integration with Jaeger (over Zipkin or others). We're especially interested in tracing in Pulsar Functions.

For people who are looking for open tracing integration, we have open-sourced our open-tracking interceptor for Pulsar client.

documentation: https://hub.streamnative.io/monitoring/opentracing-pulsar-client/0.1.0
source code: https://github.com/streamnative/pulsar-tracing

Close this issue since the tracing interceptor is available at https://github.com/streamnative/pulsar-tracing

Was this page helpful?
0 / 5 - 0 ratings