weixin_39918248
weixin_39918248
2020-12-09 02:29

Agent trace pipe: is transforming data to 1st to OC proto, then to SpanData, then exporters work

At first I don't see a reason why the data needs to be transformed to OC proto (see zipkin receiver). We can save one hop for any interceptor by removing the OC proto step and going straight to SpanData.

该提问来源于开源项目:census-instrumentation/opencensus-service

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • weixin_40003478 weixin_40003478 5月前

    Great question ! The reason why we are transforming them into OC Proto I believe is because the agent-core might do some processing on the Spans and the collector which y'all building will need spans to be in the same format regardless of source e.g. OpenCensus libraries, Zipkin, Jaeger etc, currently because the middle pipeline hasn't yet built we are going directly to exporting.

    /cc

    点赞 评论 复制链接分享
  • weixin_39918248 weixin_39918248 5月前

    I see. Anyway, we should accomplish any core transformation with a single hop to either to "Span Proto with Node" or SpanData, in the end should be: receiver -> OC core format -> exporters.

    点赞 评论 复制链接分享
  • weixin_39886172 weixin_39886172 5月前

    The opencensus-go exporters work with SpanData (equivalent with Proto) because we don't want a dependency on proto in the core library. -em did the change in order to reuse the exporters to transform proto + node into SpanData. This decision can be revisited.

    点赞 评论 复制链接分享
  • weixin_39886172 weixin_39886172 5月前

    Sorry pressed the wrong button and closed this issue.

    点赞 评论 复制链接分享
  • weixin_39918248 weixin_39918248 5月前

    I see, so actually this can be done in the future if we think it is worth: instead of directly re-using the existing exporters in opencensus-service we can create "service-exporters" that consume OC-proto directly. Ok, closing this.

    点赞 评论 复制链接分享

相关推荐