合併 OpenTracing 和 OpenCensus:融合之路

合併 OpenTracing 和 OpenCensus:融合之路

作者:Ted Young、Pritam Shah 和技術規範委員會(Carlos Alberto、Bogdan Drutu、Sergei Kanzhelev 和 Yuri Shkuro)。

此聯合專案獲得了以下名稱: http://opentelemetry.io

非常非常簡短:

  • 我們正在為遙測監控功能創建一套新的統一程式庫和規格。 它將合併 OpenTracing 和 OpenCensus 項目,並提供受支援的遷移路徑。
  • Java 的參考實作將於 24 月 8 日提供,其他語言的實作工作將於 2019 年 XNUMX 月 XNUMX 日全面開始。 查看時間表 可以在這裡.
  • 到 2019 年 XNUMX 月,計劃與 C#、Golang、Java、NodeJS 和 Python 的現有專案實現同等程度。 我們面前有很多工作,但如果我們並行工作,我們就能應付。 如果您有興趣參與該項目,請註冊並告訴我們您希望如何做出貢獻。
  • 一旦每種語言的實現成熟,相應的 OpenTracing 和 OpenCensus 專案將關閉。 這意味著舊項目將被凍結,新項目將利用向後相容性繼續支援現有工具兩年。

項目概覽

合併 OpenTracing 和 OpenCensus:融合之路

我們正在進行合併! 最終目標是將 OpenTracing 和 OpenCensus 專案整合到一個公共專案中。
新專案的核心將是一組乾淨且周到的接口,包括以所謂的形式實現這些接口的傳統庫的組裝。 SDK。 錦上添花的是數據和有線協議的建議標準,包括基礎設施的公共部分。
結果將是一個完整的遙測系統,適用於監控微服務和其他類型的現代分散式系統,與大多數主要的 OSS 和商業後端軟體相容。

主要事件

24.04/XNUMX — 參考候選人提交審核。
8.05 — 團隊成立並開始以所有語言工作。
20.05 — 該計畫在巴塞隆納 Kubecon 正式啟動。
6.09 - C#、Golang、Java、NodeJS 和 Python 的實作與對應版本達到同等水準。
6.11 - OpenTracing 和 OpenCensus 專案正式完成。
20.11 — 為紀念在聖地牙哥 Kubecon 舉行的可觀測性高峰會上專案的完成而舉行的告別派對。

融合時間表

合併 OpenTracing 和 OpenCensus:融合之路

每種語言的遷移包括生產就緒的 SDK 建置、流行庫的工具、文件、CI、向後相容性工具以及相關 OpenCensus 和 OpenTracing 專案的關閉(「日落」)。 我們在 2019 年 XNUMX 月設定了一個雄心勃勃的目標——實現 C#、Golang、Java、NodeJS 和 Python 語言的平等。 我們將推遲日落日期,直到所有語言都準備就緒。 但最好避免這種情況。
在查看目標時,請考慮您的個人參與,請填寫以下資訊讓我們知道 報名表格,或在專案的 Gitter 聊天中打招呼 開放式追蹤 и 開放人口普查。 您可以將圖表視為資訊圖 這裡.

目標:跨語言規範初稿(8 月 XNUMX 日完成)

即使在使用不同語言並行工作時,協調一致的工作也很重要。 跨語言規範為專案提供了指導。 這聽起來平淡無奇,但它保證了對一個連貫的系統的支持,無論程式語言如何,都讓人感覺很熟悉。

X 語言規範初稿的強制性要求:

  • 一般術語的定義。
  • 用於描述分散式事務、統計資料和指標的模型。
  • 對實施過程中出現的重要問題進行了澄清。

這個目標阻礙了剩下的工作,初稿必須在8月XNUMX日之前完成。

目標:資料規格初稿(6 月 XNUMX 日完成)

資料規格定義了追蹤和指標的通用資料格式,以便所有行程導出的資料都可以由相同的遙測基礎架構處理,而不管資料產生過程如何。 這包括跨語言規範中描述的追蹤模型的資料模式。 還包括追蹤用於捕獲的常見操作的元資料定義,例如 HTTP 請求、錯誤和資料庫查詢。 這些 語意約定 就是一個例子。

第一份草案是基於目前的 OpenCensus 資料格式,並將包含以下內容:

  • 實現跨語言規範的資料模式。
  • 常見操作的元資料定義。
  • JSON 和 Protobuf 定義。
  • 參考客戶的實施。

請注意,還有一種在帶內分發追蹤的有線協議,我們也希望對其進行標準化。 發行形式 追蹤上下文 透過 W3C 開發。

目標:所有主要支持語言的平等(6 月 XNUMX 日完成)

我們必須透過用新項目取代舊項目來實現當前語言生態系統的平等。

  • 基於跨語言規範的追蹤、指標和上下文傳播的介面定義。
  • 一個即用型 SDK,可實作這些介面並匯出追蹤資料。 在可能的情況下,將透過從 OpenCensus 移植現有實作來建立 SDK。
  • 目前 OpenTracing 和 OpenCensus 中涵蓋的流行庫的工具包。

我們也重視向後相容性,並希望確保現有專案的順利過渡。

  • 新的 SDK 將向後相容當前的 OpenTracing 介面。 它們將允許舊版 OpenTracing 工具與新工具在同一流程中運行,從而允許用戶隨著時間的推移遷移他們的工作。
  • 當新的 SDK 準備就緒時,將為目前 OpenCensus 使用者建立昇級計畫。 與 OpenTracing 一樣,舊工具將能夠繼續與新工具一起工作。
  • 到 XNUMX 月,OpenTracing 和 OpenCensus 將停止接受變更。 將支援與舊版工具的向後相容性兩年。

為每種語言創建一流的 SDK 需要大量工作,而這正是我們最需要的。

目標:基本文件(6 月 XNUMX 日前完成)

任何開源專案成功的關鍵因素是文件。 我們需要一流的文件和培訓工具,而我們的技術作家是該專案中最活躍的開發人員。 教導開發人員如何正確監控軟體是我們希望對世界產生的最重要的影響之一。

以下文件是入門所需的最低限度的文件:

  • 專案導向。
  • 可觀察性 101.
  • 工作開始。
  • 語言指南(每個單獨)。

歡迎各階層的作家! 我們的新網站基於 Hugo,使用常規標記,因此很容易做出貢獻。

目標:Registry v1.0(6 月 XNUMX 日完成)

註冊表 - 另一個關鍵組件,改進版本 OpenTracing 註冊表.

  • 很容易找到庫、插件、安裝程式和其他元件。
  • 輕鬆管理註冊表組件。
  • 您可以了解每種語言提供哪些 SDK 功能。

如果您對設計、介面和使用者體驗感興趣,我們有一個優秀的專案可供個人參與。

目標:軟體測試和發布的基礎設施(6 月 XNUMX 日完成)

為了確保我們繼續提供您可以信賴的安全程式碼,我們致力於建立高品質的軟體測試和發布管道。 如果您可以負責測試、特性描述和軟體發布的流程,請告知我們。 我們明確表明生產準備水平,測試基礎設施的成熟度將是我們的主要決定因素。

目標:關閉 OpenTracing 和 OpenCensus 專案(6 月 XNUMX 日完成)

如果新項目與舊項目持平,我們計劃從 6 月 2 日開始關閉舊項目。 XNUMX 個月後,在所有語言平等的情況下,我們計劃關閉 OpenTracing 和 OpenCensus 專案。 應該這樣理解:

  • 存儲庫將被凍結,並且不會進行進一步的更改。
  • 目前的工具包計劃有兩年的支援期。
  • 用戶將能夠使用相同的工具升級到新的 SDK。
  • 逐步更新將是可能的。

加入

我們歡迎任何幫助,因為這是一個巨大的項目。 如果您有興趣學習可觀察性,現在正是時候!

來源: www.habr.com

添加評論