coinbase / coinbase/temporal-ruby

OpenTracing / Context propagation support

オープン
#175 コメント 2 件 リアクション 1 件 担当者 0 名 GitHub で見る
主要言語
Ruby
スター
287
フォーク
113
平均マージ
6日 11時間
マージ済み PR(30日)
1

説明

As suggested by @jeffschoner-stripe and @drewhoskins-stripe, I am creating a github issue to discuss the topic of context propagation for the Ruby SDK.

# Tracing Proposal

## Why
Distributed applications are more difficult to measure and debug due
to the distributed nature of their processing. One cannot simply
attach to the running process with a debugger and capture state
since that state may be spread across multiple processes or systems.
Temporal, by its nature, is distributed. Any application written using
Temporal will also be distributed. In order to trace through the
behavior of the business logic implemented as workflow(s) and
activit(ies) we should provide support for OpenTracing and other
related tracing mechanisms.

The [Java](https://github.com/temporalio/sdk-java/tree/master/temporal-opentracing), [Go](https://docs.temporal.io/docs/go/tracing/), and [Typescript](https://docs.temporal.io/docs/typescript/interceptors) SDKs all support OpenTracing today via
context propagation. The Ruby SDK can support Tracing today without
any changes merely by allowing the programmer to pass the Tracing
context as an argument to every workflow and activity. This is sloppy
and error prone, so we should mimic the facilities exposed by the
aforementioned SDKs and allow the context to propagate automatically
using the Temporal headers.

## What
This defines the interface for passing in OpenTracing contexts to
the Temporal system. Upon configuration, the propagation of this
information should be automatic and transparent to the programmer.
Aside from initial configuration, methods should be exposed on
the workflow and activity that allow for adding to the existing
(if any) context.

### Workflow Configuration
Will fill this out in next edit... thinking about it.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

ファイルやテストは指定されていないため、まず Ruby SDK の workflow と activity の設定、および Temporal ヘッダーの扱いを確認してください。この issue はまだ実装の準備ができていません。workflow 設定インターフェースは未完成であり、完了には自動的なコンテキスト伝播のための合意された設計に加えて、既存のコンテキストを拡張するための workflow および activity メソッドが必要になります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
ruby
領域
distributed-systems, observability-sre
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
20/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。