Skip to content
This repository was archived by the owner on Oct 29, 2021. It is now read-only.
This repository was archived by the owner on Oct 29, 2021. It is now read-only.

Consider exposing OpenTracing-compatible gRPC API #125

Open

Description

@emidoots

I haven't run very far with this idea, so this is just a thought dump for now. But I've been considering how Appdash could reach the most languages.. it stands to reason that we would gather support for a large number of languages by exposing a gRPC service which would literally be the OpenTracing API itself.

Then, from a user's perspective, they could either directly use this gRPC client from their language of choice OR we could even implement opentracing-python, opentracing-java, etc by simply calling out to this gRPC service.

This is interesting, because it could give many other tracers that do not wish to spend a significant amount of time implementing tracing clients in various languages automatic support if they were to expose the same OpenTracing-compatible gRPC service. This could also be done over, e.g. HTTP or others, I just chose gRPC because I am most familiar with it.

Activity

  1. bhs commented on May 7, 2016

    @bhs
  2. asilversempirical commented on Dec 22, 2016

    @asilversempirical

    One thing to watch out for: https://github.com/sourcegraph/appdash/blob/master/internal/wire/collector.proto is a proto2 proto, and it's incompatible with proto3 without some changes. Namely: support for group fields was removed: https://github.com/google/protobuf/releases/tag/v3.0.0

    This isn't a huge deal, except that there's no python3 support for proto2, only proto3. So doing this over gRPC exclusively doesn't open up python3 support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions