Hợp nhất OpenTracing và OpenCensus: Con đường dẫn đến sự hội tụ

Hợp nhất OpenTracing và OpenCensus: Con đường dẫn đến sự hội tụ

Các tác giả: Ted Young, Pritam Shah và Ủy ban Thông số Kỹ thuật (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev và Yury Shkuro).

Dự án chung có được tên: http://opentelemetry.io

Rất, rất ngắn gọn:

  • Chúng tôi đang tạo một bộ thư viện và thông số kỹ thuật thống nhất mới cho khả năng giám sát đo từ xa. Nó sẽ hợp nhất các dự án OpenTracing và OpenCensus và cung cấp một đường dẫn được hỗ trợ cho việc di chuyển.
  • Việc triển khai tham chiếu trong Java sẽ có sẵn vào ngày 24 tháng 8 và công việc triển khai bằng các ngôn ngữ khác sẽ bắt đầu đầy đủ vào ngày 2019 tháng XNUMX năm XNUMX. Xem lịch trình đây.
  • Đến tháng 2019 năm XNUMX, dự án tương đương với các dự án hiện có cho C#, Golang, Java, NodeJS và Python đã được lên kế hoạch. Còn rất nhiều công việc phía trước, nhưng chúng tôi có thể giải quyết được nếu làm việc song song. Nếu bạn muốn tham gia vào dự án này, vui lòng đăng ký và cho chúng tôi biết bạn muốn đóng góp như thế nào.
  • Sau khi quá trình triển khai bằng từng ngôn ngữ đã hoàn thiện, các dự án OpenTracing và OpenCensus tương ứng sẽ bị đóng. Điều này có nghĩa là các dự án cũ sẽ bị đóng băng và dự án mới sẽ tiếp tục hỗ trợ các công cụ hiện có trong hai năm bằng khả năng tương thích ngược.

dự án Tổng quan

Hợp nhất OpenTracing và OpenCensus: Con đường dẫn đến sự hội tụ

Chúng tôi đang tiến hành sáp nhập! Mục tiêu cuối cùng là kết hợp các dự án OpenTracing và OpenCensus thành một dự án chung.
Cốt lõi của dự án mới sẽ là một tập hợp các giao diện rõ ràng và chu đáo, bao gồm tập hợp các thư viện truyền thống triển khai các giao diện này dưới dạng cái gọi là. SDK. Lớp kem trên bánh sẽ là các tiêu chuẩn được đề xuất cho các giao thức dữ liệu và dây, bao gồm các phần chung của cơ sở hạ tầng.
Kết quả sẽ là một hệ thống đo từ xa hoàn chỉnh phù hợp để giám sát các dịch vụ vi mô và các loại hệ thống phân tán hiện đại khác, tương thích với hầu hết các phần mềm phụ trợ thương mại và OSS chính.

Sự kiện chính

24.04/XNUMX - Ứng viên tham khảo được gửi để xem xét.
8.05 — Một nhóm được thành lập và bắt đầu làm việc bằng tất cả các ngôn ngữ.
20.05 — Ra mắt chính thức dự án tại Kubecon Barcelona.
6.09 - Việc triển khai trong C#, Golang, Java, NodeJS và Python đạt mức ngang bằng với các đối tác của chúng.
6.11 - Chính thức hoàn thành các dự án OpenTracing và OpenCensus.
20.11 — Tiệc chia tay nhằm vinh danh việc hoàn thành các dự án tại Hội nghị thượng đỉnh về khả năng quan sát, Kubecon San Diego.

Dòng thời gian hội tụ

Hợp nhất OpenTracing và OpenCensus: Con đường dẫn đến sự hội tụ

Quá trình di chuyển cho từng ngôn ngữ bao gồm bản dựng SDK sẵn sàng sản xuất, công cụ cho các thư viện phổ biến, tài liệu, CI, công cụ tương thích ngược và việc đóng các dự án OpenCensus và OpenTracing có liên quan (“hoàng hôn”). Chúng tôi đặt ra mục tiêu đầy tham vọng cho tháng 2019 năm XNUMX - đạt được sự ngang bằng cho các ngôn ngữ C#, Golang, Java, NodeJS và Python. Chúng tôi sẽ dời ngày hoàng hôn cho đến khi tất cả các ngôn ngữ sẵn sàng. Nhưng tốt nhất là tránh điều này.
Khi xem mục tiêu, vui lòng xem xét sự tham gia cá nhân của bạn, cho chúng tôi biết bằng cách điền vào Mẫu đăng kýhoặc bằng cách nói xin chào trong cuộc trò chuyện Gitter của dự án MởTracing и Điều tra dân số mở. Bạn có thể xem biểu đồ dưới dạng đồ họa thông tin đây.

Mục tiêu: Bản thảo đầu tiên của đặc tả đa ngôn ngữ (hoàn thành trước ngày 8 tháng XNUMX)

Điều quan trọng là phải làm việc một cách gắn kết, ngay cả khi làm việc song song với các ngôn ngữ khác nhau. Đặc tả đa ngôn ngữ cung cấp hướng dẫn cho dự án. Nghe có vẻ tầm thường nhưng nó đảm bảo hỗ trợ cho một hệ thống mạch lạc, tạo cảm giác quen thuộc bất kể ngôn ngữ lập trình.

Yêu cầu bắt buộc đối với đặc tả dự thảo đầu tiên cho ngôn ngữ X:

  • Định nghĩa các thuật ngữ chung.
  • Một mô hình để mô tả các giao dịch, số liệu thống kê và số liệu phân tán.
  • Làm rõ các vấn đề quan trọng phát sinh trong quá trình thực hiện.

Mục tiêu này đang cản trở phần còn lại của công việc, dự thảo đầu tiên phải hoàn thành trước ngày 8/XNUMX.

Mục tiêu: Bản thảo đầu tiên về đặc tả dữ liệu (hoàn thành trước ngày 6 tháng XNUMX)

Đặc tả dữ liệu xác định định dạng dữ liệu chung cho dấu vết và số liệu để dữ liệu được xuất bởi tất cả các quy trình có thể được xử lý bởi cùng một cơ sở hạ tầng đo từ xa bất kể quy trình tạo dữ liệu. Điều này bao gồm lược đồ dữ liệu cho mô hình theo dõi được mô tả trong đặc tả ngôn ngữ chéo. Ngoài ra còn có các định nghĩa siêu dữ liệu cho các hoạt động phổ biến mà dấu vết sử dụng để thu thập, chẳng hạn như yêu cầu HTTP, lỗi và truy vấn cơ sở dữ liệu. Những cái này quy ước ngữ nghĩa là một ví dụ

Bản dự thảo đầu tiên dựa trên định dạng dữ liệu OpenCensus hiện tại và sẽ chứa những nội dung sau:

  • Lược đồ dữ liệu triển khai đặc tả đa ngôn ngữ.
  • Định nghĩa siêu dữ liệu cho các hoạt động chung.
  • Định nghĩa JSON và Protobuf.
  • Triển khai các khách hàng tham khảo.

Xin lưu ý rằng cũng có một giao thức dây phân phối dấu vết trong băng tần mà chúng tôi cũng muốn chuẩn hóa. Định dạng phân phối Theo dõi bối cảnh được phát triển thông qua W3C.

Mục tiêu: tính chẵn lẻ trên tất cả các ngôn ngữ được hỗ trợ chính (hoàn thành trước ngày 6 tháng XNUMX)

Chúng ta phải đạt được sự bình đẳng cho hệ sinh thái ngôn ngữ hiện tại bằng cách thay thế các dự án cũ bằng những dự án mới.

  • Định nghĩa giao diện để theo dõi, số liệu và truyền bá ngữ cảnh dựa trên đặc tả đa ngôn ngữ.
  • SDK sẵn sàng sử dụng để triển khai các giao diện này và xuất Dữ liệu theo dõi. Nếu có thể, SDK sẽ được tạo bằng cách chuyển một triển khai hiện có từ OpenCensus.
  • Bộ công cụ dành cho các thư viện phổ biến hiện có trong OpenTracing và OpenCensus.

Chúng tôi cũng coi trọng khả năng tương thích ngược và muốn đảm bảo quá trình chuyển đổi suôn sẻ từ các dự án hiện có.

  • SDK mới sẽ tương thích ngược với giao diện OpenTracing hiện tại. Chúng sẽ cho phép các công cụ OpenTracing cũ chạy cùng với các công cụ mới trong cùng một quy trình, cho phép người dùng di chuyển công việc của họ theo thời gian.
  • Khi SDK mới sẵn sàng, gói nâng cấp sẽ được tạo cho người dùng OpenCensus hiện tại. Giống như OpenTracing, các công cụ cũ sẽ có thể tiếp tục hoạt động cùng với các công cụ mới.
  • Đến tháng XNUMX, cả OpenTracing và OpenCensus sẽ ngừng chấp nhận các thay đổi. Khả năng tương thích ngược với các công cụ cũ sẽ được hỗ trợ trong hai năm.

Việc tạo SDK tốt nhất cho mọi ngôn ngữ đòi hỏi rất nhiều công sức và đó là điều chúng tôi cần nhất.

Mục tiêu: tài liệu cơ bản (hoàn thành trước ngày 6 tháng XNUMX)

Yếu tố quan trọng trong sự thành công của bất kỳ dự án nguồn mở nào là tài liệu. Chúng tôi muốn có các công cụ đào tạo và tài liệu hàng đầu, đồng thời những người viết kỹ thuật của chúng tôi là những nhà phát triển tích cực nhất trong dự án. Dạy các nhà phát triển cách giám sát phần mềm đúng cách là một trong những tác động quan trọng nhất mà chúng tôi muốn có đối với thế giới.

Những tài liệu sau đây là tối thiểu cần thiết để bắt đầu:

  • Định hướng dự án.
  • Khả năng quan sát 101.
  • Bắt đầu
  • Hướng dẫn ngôn ngữ (riêng cho từng ngôn ngữ).

Nhà văn ở mọi cấp độ đều được chào đón! Trang web mới của chúng tôi dựa trên Hugo, sử dụng đánh dấu thông thường, vì vậy việc đóng góp khá dễ dàng.

Mục tiêu: Đăng ký v1.0 (hoàn thành trước ngày 6 tháng XNUMX)

Sổ đăng ký - một thành phần quan trọng khác, một phiên bản cải tiến Sổ đăng ký OpenTracing.

  • Thật dễ dàng để tìm thấy thư viện, plugin, trình cài đặt và các thành phần khác.
  • Dễ dàng quản lý các thành phần của sổ đăng ký.
  • Bạn có thể tìm hiểu những tính năng SDK nào có sẵn ở mỗi ngôn ngữ.

Nếu bạn quan tâm đến thiết kế, giao diện và UX, chúng tôi có một dự án tuyệt vời dành cho sự tham gia của cá nhân.

Mục tiêu: cơ sở hạ tầng để thử nghiệm và phát hành phần mềm (hoàn thành trước ngày 6 tháng XNUMX)

Để đảm bảo chúng tôi tiếp tục cung cấp mã bảo mật mà bạn có thể tin cậy, chúng tôi có cam kết thiết kế nhằm xây dựng quy trình phát hành và kiểm thử phần mềm có chất lượng. Vui lòng cho chúng tôi biết nếu bạn có thể đảm nhiệm các quy trình thử nghiệm, mô tả đặc tính và phát hành phần mềm. Chúng tôi chỉ rõ mức độ sẵn sàng sản xuất và sự trưởng thành của cơ sở hạ tầng thử nghiệm sẽ là yếu tố quyết định chính đối với chúng tôi.

Mục tiêu: kết thúc các dự án OpenTracing và OpenCensus (hoàn thành trước ngày 6 tháng XNUMX)

Chúng tôi dự định bắt đầu đóng các dự án cũ vào ngày 6 tháng 2, nếu dự án mới đạt được mức ngang bằng với chúng. XNUMX tháng sau, với sự ngang bằng của tất cả các ngôn ngữ, chúng tôi dự định đóng các dự án OpenTracing và OpenCensus. Nên hiểu như thế này:

  • các kho lưu trữ sẽ bị đóng băng và sẽ không có thay đổi nào được thực hiện nữa.
  • Bộ công cụ hiện tại dự kiến ​​sẽ có thời gian hỗ trợ là hai năm.
  • người dùng sẽ có thể nâng cấp lên SDK mới bằng các công cụ tương tự.
  • Sẽ có thể cập nhật dần dần.

Tham gia với chúng tôi

Chúng tôi sẽ hoan nghênh mọi sự giúp đỡ vì đây là một dự án lớn. Nếu bạn muốn tìm hiểu về khả năng quan sát thì bây giờ là lúc!

Nguồn: www.habr.com

Thêm một lời nhận xét