Uploaded image for project: 'Distributed Tracing'
  1. Distributed Tracing
  2. TRACING-1925

Decide the interface of the Query API

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Won't Do
    • Icon: Major Major
    • 2021-06-01
    • None
    • None
    • None

      As discussed in the community, we have three main possibilities for the Query API:

       

      • Using the protobuf as the spec, and using something like grpc-gateway for the REST interface. This would however be inefficient for future endpoints, such as bulk retrieval of traces.
      • Using OpenAPI to document the API, potentially having it auto-generate the handlers
      • Using GraphQL, similar to OpenAPI in that it can handle most of the work for us, but is focused on queries

      A decision has to be made having two things in mind:

      • we might have consumers like Kiali, who'd benefit from a HTTP/2 or gRPC-like approach, for performance reasons
      • browsers should also be able to talk to the API, such as the Jaeger UI or the OpenShift Developer Console

       

      A comment from Yuri: the JSON data model for the REST API, if that's the path we'd take, could use OTLP instead of Jaeger's representation, given that there's a JSON spec for trace data.

            Unassigned Unassigned
            jpkroehling@redhat.com Juraci Paixão Kröhling (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: