Συγχώνευση OpenTracing και OpenCensus: The Path to Convergence

Συγχώνευση OpenTracing και OpenCensus: The Path to Convergence

Συγγραφείς: Ted Young, Pritam Shah και η Επιτροπή Τεχνικών Προδιαγραφών (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev και Yuri Shkuro).

Το κοινό έργο απέκτησε το όνομα: http://opentelemetry.io

Πολύ, πολύ συνοπτικά:

  • Δημιουργούμε ένα νέο ενοποιημένο σύνολο βιβλιοθηκών και προδιαγραφών για δυνατότητες παρακολούθησης τηλεμετρίας. Θα συγχωνεύσει τα έργα OpenTracing και OpenCensus και θα παρέχει μια υποστηριζόμενη διαδρομή για τη μετεγκατάσταση.
  • Η υλοποίηση αναφοράς σε Java θα είναι διαθέσιμη στις 24 Απριλίου και οι εργασίες για υλοποιήσεις σε άλλες γλώσσες θα ξεκινήσουν πλήρως στις 8 Μαΐου 2019. Δείτε το πρόγραμμα μπορεί να είναι εδώ.
  • Μέχρι τον Σεπτέμβριο του 2019, σχεδιάζεται ισοτιμία με τα υπάρχοντα έργα για C#, Golang, Java, NodeJS και Python. Έχουμε πολλή δουλειά μπροστά μας, αλλά μπορούμε να αντεπεξέλθουμε αν δουλέψουμε παράλληλα. Εάν ενδιαφέρεστε να συμμετάσχετε σε αυτό το έργο, εγγραφείτε και ενημερώστε μας πώς θα θέλατε να συνεισφέρετε.
  • Μόλις ωριμάσει η υλοποίηση σε κάθε γλώσσα, τα αντίστοιχα έργα OpenTracing και OpenCensus θα κλείσουν. Αυτό σημαίνει ότι τα παλιά έργα θα παγώσουν και το νέο έργο θα συνεχίσει να υποστηρίζει τα υπάρχοντα εργαλεία για δύο χρόνια χρησιμοποιώντας συμβατότητα προς τα πίσω.

Επισκόπηση έργου

Συγχώνευση OpenTracing και OpenCensus: The Path to Convergence

Κάνουμε συγχώνευση! Ο απώτερος στόχος είναι να ενωθούν τα έργα OpenTracing και OpenCensus σε ένα κοινό έργο.
Ο πυρήνας του νέου έργου θα είναι ένα σύνολο καθαρών και προσεγμένων διεπαφών, συμπεριλαμβανομένης της παραδοσιακής συναρμολόγησης βιβλιοθηκών που υλοποιούν αυτές τις διεπαφές με τη μορφή των λεγόμενων. SDK. Το κερασάκι στην τούρτα θα είναι τα προτεινόμενα πρότυπα για δεδομένα και πρωτόκολλα καλωδίων, συμπεριλαμβανομένων κοινών τμημάτων της υποδομής.
Το αποτέλεσμα θα είναι ένα πλήρες σύστημα τηλεμετρίας κατάλληλο για την παρακολούθηση μικροϋπηρεσιών και άλλων τύπων σύγχρονων κατανεμημένων συστημάτων, συμβατό με τα περισσότερα μεγάλα OSS και εμπορικά λογισμικά υποστήριξης.

Κύριες εκδηλώσεις

24.04/XNUMX — Ο υποψήφιος αναφοράς υποβλήθηκε για επανεξέταση.
8.05 — Δημιουργείται μια ομάδα και αρχίζει να εργάζεται σε όλες τις γλώσσες.
20.05 — Επίσημη έναρξη του έργου στο Kubecon Barcelona.
6.09 - Οι υλοποιήσεις σε C#, Golang, Java, NodeJS και Python φτάνουν σε ισοτιμία με τις αντίστοιχές τους.
6.11 - Επίσημη ολοκλήρωση των έργων OpenTracing και OpenCensus.
20.11 — Αποχαιρετιστήριο πάρτι προς τιμήν της ολοκλήρωσης των έργων στο Observability Summit, Kubecon San Diego.

Χρονοδιάγραμμα σύγκλισης

Συγχώνευση OpenTracing και OpenCensus: The Path to Convergence

Η μετεγκατάσταση για κάθε γλώσσα περιλαμβάνει μια έκδοση SDK έτοιμη για παραγωγή, εργαλεία για δημοφιλείς βιβλιοθήκες, τεκμηρίωση, CI, εργαλεία συμβατότητας προς τα πίσω και το κλείσιμο των σχετικών έργων OpenCensus και OpenTracing ("sunset"). Θέσαμε έναν φιλόδοξο στόχο για τον Σεπτέμβριο του 2019 - την επίτευξη ισοτιμίας για τις γλώσσες C#, Golang, Java, NodeJS και Python. Θα μετακινήσουμε την ημερομηνία ηλιοβασιλέματος μέχρι να είναι έτοιμες όλες οι γλώσσες. Αλλά είναι προτιμότερο να αποφευχθεί αυτό.
Κατά την προβολή των στόχων, λάβετε υπόψη την προσωπική σας συμμετοχή, ενημερώστε μας συμπληρώνοντας φόρμα εγγραφής, ή λέγοντας ένα γεια στις συνομιλίες Gitter των έργων OpenTracing и OpenCensus. Μπορείτε να δείτε το γράφημα ως γράφημα εδώ.

Στόχος: Πρώτο προσχέδιο της διαγλωσσικής προδιαγραφής (ολοκλήρωση έως τις 8 Μαΐου)

Είναι σημαντικό να εργάζεστε με συνοχή, ακόμη και όταν εργάζεστε παράλληλα σε διαφορετικές γλώσσες. Η διαγλωσσική προδιαγραφή παρέχει καθοδήγηση για το έργο. Ακούγεται πεζό, αλλά εγγυάται υποστήριξη για ένα συνεκτικό σύστημα που αισθάνεται οικείο ανεξάρτητα από τη γλώσσα προγραμματισμού.

Υποχρεωτικές απαιτήσεις για το πρώτο σχέδιο προδιαγραφών για τη γλώσσα Χ:

  • Ορισμοί γενικής ορολογίας.
  • Ένα μοντέλο για την περιγραφή κατανεμημένων συναλλαγών, στατιστικών και μετρήσεων.
  • Διευκρινίσεις για σημαντικά θέματα που προέκυψαν κατά την υλοποίηση.

Αυτός ο στόχος εμποδίζει την υπόλοιπη εργασία, το πρώτο προσχέδιο πρέπει να ολοκληρωθεί έως τις 8 Μαΐου.

Στόχος: Πρώτο προσχέδιο για τις προδιαγραφές δεδομένων (ολοκλήρωση έως τις 6 Ιουλίου)

Η προδιαγραφή δεδομένων ορίζει μια κοινή μορφή δεδομένων για ίχνη και μετρήσεις, έτσι ώστε τα δεδομένα που εξάγονται από όλες τις διεργασίες να μπορούν να υποβληθούν σε επεξεργασία από την ίδια τηλεμετρική υποδομή ανεξάρτητα από τη διαδικασία παραγωγής δεδομένων. Αυτό περιλαμβάνει το σχήμα δεδομένων για το μοντέλο ανίχνευσης που περιγράφεται στη διαγλωσσική προδιαγραφή. Περιλαμβάνονται επίσης ορισμοί μεταδεδομένων για κοινές λειτουργίες που χρησιμοποιεί το ίχνος για την καταγραφή, όπως αιτήματα HTTP, σφάλματα και ερωτήματα βάσης δεδομένων. Αυτά τα σημασιολογικές συμβάσεις αποτελούν παράδειγμα.

Το πρώτο προσχέδιο βασίζεται στην τρέχουσα μορφή δεδομένων OpenCensus και θα περιέχει τα εξής:

  • Ένα σχήμα δεδομένων που υλοποιεί μια διαγλωσσική προδιαγραφή.
  • Ορισμοί μεταδεδομένων για κοινές λειτουργίες.
  • Ορισμοί JSON και Protobuf.
  • Υλοποίηση πελατών αναφοράς.

Λάβετε υπόψη ότι υπάρχει επίσης ένα πρωτόκολλο καλωδίου που διανέμει ίχνη εντός ζώνης, το οποίο θα θέλαμε επίσης να τυποποιήσουμε. Μορφή διανομής Trace-Context αναπτύχθηκε μέσω του W3C.

Στόχος: ισοτιμία σε όλες τις κύριες υποστηριζόμενες γλώσσες (ολοκλήρωση έως τις 6 Σεπτεμβρίου)

Πρέπει να επιτύχουμε ισοτιμία για το τρέχον γλωσσικό οικοσύστημα αντικαθιστώντας τα παλιά έργα με νέα.

  • Ορισμοί διεπαφής για ιχνηλάτηση, μετρήσεις και διάδοση περιβάλλοντος με βάση μια προδιαγραφή μεταξύ των γλωσσών.
  • Ένα έτοιμο προς χρήση SDK που υλοποιεί αυτές τις διεπαφές και εξάγει Trace-Data. Όπου είναι δυνατόν, το SDK θα δημιουργηθεί μεταφέροντας μια υπάρχουσα υλοποίηση από το OpenCensus.
  • Εργαλειοθήκη για δημοφιλείς βιβλιοθήκες που καλύπτονται επί του παρόντος στο OpenTracing και στο OpenCensus.

Εκτιμούμε επίσης τη συμβατότητα προς τα πίσω και θέλουμε να διασφαλίσουμε την ομαλή μετάβαση από τα υπάρχοντα έργα.

  • Το νέο SDK θα είναι συμβατό με τις τρέχουσες διεπαφές OpenTracing. Θα επιτρέψουν στα εργαλεία OpenTracing παλαιού τύπου να εκτελούνται παράλληλα με νέα εργαλεία στην ίδια διαδικασία, επιτρέποντας στους χρήστες να μετεγκαταστήσουν την εργασία τους με την πάροδο του χρόνου.
  • Όταν το νέο SDK είναι έτοιμο, θα δημιουργηθεί ένα σχέδιο αναβάθμισης για τους τρέχοντες χρήστες OpenCensus. Όπως και με το OpenTracing, τα παλαιού τύπου εργαλεία θα μπορούν να συνεχίσουν να εργάζονται παράλληλα με νέα.
  • Μέχρι τον Νοέμβριο, τόσο το OpenTracing όσο και το OpenCensus θα είναι κλειστά για την αποδοχή αλλαγών. Η συμβατότητα προς τα πίσω με εργαλεία παλαιού τύπου θα υποστηρίζεται για δύο χρόνια.

Η δημιουργία ενός SDK καλύτερου στην κατηγορία για κάθε γλώσσα απαιτεί πολλή δουλειά και αυτό είναι που χρειαζόμαστε περισσότερο.

Στόχος: βασική τεκμηρίωση (ολοκλήρωση έως τις 6 Σεπτεμβρίου)

Ένας κρίσιμος παράγοντας για την επιτυχία οποιουδήποτε έργου ανοιχτού κώδικα είναι η τεκμηρίωση. Θέλουμε κορυφαία εργαλεία τεκμηρίωσης και εκπαίδευσης και οι τεχνικοί μας συγγραφείς είναι οι πιο ενεργοί προγραμματιστές στο έργο. Η διδασκαλία των προγραμματιστών πώς να παρακολουθούν σωστά το λογισμικό είναι μία από τις σημαντικότερες επιπτώσεις που θέλουμε να έχουμε στον κόσμο.

Τα ακόλουθα έγγραφα τεκμηρίωσης είναι τα ελάχιστα απαιτούμενα για να ξεκινήσετε:

  • Προσανατολισμός έργου.
  • Παρατηρησιμότητα 101.
  • Έναρξη εργασίας.
  • Γλωσσικοί οδηγοί (ξεχωριστά για το καθένα).

Συγγραφείς όλων των επιπέδων είναι ευπρόσδεκτοι! Ο νέος μας ιστότοπος βασίζεται στο Hugo, χρησιμοποιώντας κανονική σήμανση, επομένως είναι πολύ εύκολο να συνεισφέρετε.

Στόχος: Registry v1.0 (ολοκλήρωση έως τις 6 Ιουλίου)

Μητρώο - ένα άλλο κρίσιμο στοιχείο, μια βελτιωμένη έκδοση Μητρώο OpenTracing.

  • Είναι εύκολο να βρείτε βιβλιοθήκες, πρόσθετα, προγράμματα εγκατάστασης και άλλα στοιχεία.
  • Εύκολη διαχείριση στοιχείων μητρώου.
  • Μπορείτε να μάθετε ποιες δυνατότητες SDK είναι διαθέσιμες σε κάθε γλώσσα.

Εάν ενδιαφέρεστε για το σχεδιασμό, τη διεπαφή και το UX, έχουμε ένα εξαιρετικό έργο για προσωπική συμμετοχή.

Στόχος: υποδομή για δοκιμή και κυκλοφορία λογισμικού (ολοκλήρωση έως τις 6 Σεπτεμβρίου)

Για να διασφαλίσουμε ότι θα συνεχίσουμε να παρέχουμε ασφαλή κώδικα στον οποίο μπορείτε να βασιστείτε, έχουμε μια δέσμευση σχεδιασμού για την κατασκευή ποιοτικών δοκιμών λογισμικού και αγωγών κυκλοφορίας. Ενημερώστε μας εάν μπορείτε να φροντίσετε τους αγωγούς για δοκιμή, χαρακτηρισμό και έκδοση λογισμικού. Υποδεικνύουμε ξεκάθαρα το επίπεδο ετοιμότητας παραγωγής και η ωριμότητα της υποδομής δοκιμών θα είναι ο κύριος αποφασιστικός παράγοντας για εμάς.

Στόχος: κλείσιμο των έργων OpenTracing και OpenCensus (ολοκλήρωση έως τις 6 Νοεμβρίου)

Σκοπεύουμε να ξεκινήσουμε το κλείσιμο των παλαιών έργων στις 6 Σεπτεμβρίου, εάν το νέο έργο φτάσει στην ισοτιμία με αυτά. 2 μήνες αργότερα, με ισοτιμία όλων των γλωσσών, σχεδιάζουμε να κλείσουμε τα έργα OpenTracing και OpenCensus. Θα πρέπει να γίνει κατανοητό ως εξής:

  • τα αποθετήρια θα παγώσουν και δεν θα γίνουν περαιτέρω αλλαγές.
  • Η τρέχουσα εργαλειοθήκη έχει προγραμματίσει μια περίοδο στήριξης δύο ετών.
  • Οι χρήστες θα μπορούν να κάνουν αναβάθμιση στο νέο SDK χρησιμοποιώντας τα ίδια εργαλεία.
  • Θα είναι δυνατή μια σταδιακή ενημέρωση.

Ελα μαζί μας

Θα δεχθούμε οποιαδήποτε βοήθεια, καθώς πρόκειται για ένα τεράστιο έργο. Αν σας ενδιαφέρει να μάθετε για την παρατηρησιμότητα, τώρα είναι η ώρα!

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο