Fusionant OpenTracing i OpenCensus: el camí cap a la convergència

Fusionant OpenTracing i OpenCensus: el camí cap a la convergència

Autors: Ted Young, Pritam Shah i el Comitè d'Especificacions Tècniques (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev i Yuri Shkuro).

El projecte conjunt va adquirir el nom: http://opentelemetry.io

Molt, molt breument:

  • Estem creant un nou conjunt unificat de biblioteques i especificacions per a les capacitats de monitorització de telemetria. Combinarà els projectes OpenTracing i OpenCensus i proporcionarà un camí compatible per a la migració.
  • La implementació de referència en Java estarà disponible el 24 d'abril, i el treball en implementacions en altres idiomes començarà íntegrament el 8 de maig de 2019. Veure la programació pot ser aquí.
  • Per al setembre de 2019, està prevista la paritat amb els projectes existents per a C#, Golang, Java, NodeJS i Python. Ens queda molta feina per davant, però podem fer front si treballem en paral·lel. Si esteu interessats a participar en aquest projecte, registreu-vos i feu-nos saber com voleu col·laborar.
  • Un cop madura la implementació en cada idioma, es tancaran els projectes OpenTracing i OpenCensus corresponents. Això vol dir que els projectes antics es congelaran i el nou projecte continuarà donant suport a les eines existents durant dos anys utilitzant compatibilitat enrere.

Descripció general del projecte

Fusionant OpenTracing i OpenCensus: el camí cap a la convergència

Estem fent una fusió! L'objectiu final és reunir els projectes OpenTracing i OpenCensus en un projecte comú.
El nucli del nou projecte serà un conjunt d'interfícies netes i reflexives, inclòs el tradicional muntatge de biblioteques que implementen aquestes interfícies en forma de les anomenades. SDK. La cirereta del pastís serà els estàndards recomanats per als protocols de dades i cablejats, incloses les parts comunes de la infraestructura.
El resultat serà un sistema de telemetria complet adequat per a la supervisió de microserveis i altres tipus de sistemes distribuïts moderns, compatible amb la majoria de programari de backend comercial i OSS important.

Esdeveniments clau

24.04/XNUMX — Candidat de referència presentat a revisió.
8.05 — Es forma un equip i comença a treballar en tots els idiomes.
20.05 — Presentació oficial del projecte a Kubecon Barcelona.
6.09 - Les implementacions en C#, Golang, Java, NodeJS i Python aconsegueixen la paritat amb els seus homòlegs.
6.11 - Finalització oficial dels projectes OpenTracing i OpenCensus.
20.11 — Festa de comiat en honor a la finalització dels projectes a l'Observability Summit, Kubecon San Diego.

Cronologia de la convergència

Fusionant OpenTracing i OpenCensus: el camí cap a la convergència

La migració per a cada idioma inclou una compilació d'SDK preparada per a la producció, eines per a biblioteques populars, documentació, CI, eines de compatibilitat amb versions anteriors i el tancament dels projectes relacionats d'OpenCensus i OpenTracing ("puesta de sol"). Ens vam establir un objectiu ambiciós per al setembre de 2019: aconseguir la paritat per als llenguatges C#, Golang, Java, NodeJS i Python. Apostarem la data de la posta del sol fins que tots els idiomes estiguin a punt. Però és preferible evitar-ho.
Quan visualitzeu els objectius, tingueu en compte la vostra implicació personal, feu-nos-ho saber omplint formulari d'inscripció, o saludant als xats de Gitter dels projectes OpenTracing и OpenCensus. Podeu veure el gràfic com una infografia aquí.

Objectiu: primer esborrany de l'especificació multiidioma (finalització abans del 8 de maig)

És important treballar de manera cohesionada, fins i tot quan es treballa en paral·lel en diferents idiomes. L'especificació multiidioma proporciona una guia per al projecte. Sona prosaic, però garanteix el suport per a un sistema coherent que se sent familiar independentment del llenguatge de programació.

Requisits obligatoris per al primer projecte d'especificació per a la llengua X:

  • Definicions de terminologia general.
  • Un model per descriure transaccions distribuïdes, estadístiques i mètriques.
  • Aclariments sobre qüestions importants que van sorgir durant la implementació.

Aquest objectiu està bloquejant la resta de l'obra, el primer esborrany s'ha d'acabar el 8 de maig.

Objectiu: primer esborrany per a l'especificació de dades (acabat el 6 de juliol)

L'especificació de dades defineix un format de dades comú per a traces i mètriques de manera que les dades exportades per tots els processos puguin ser processades per la mateixa infraestructura de telemetria independentment del procés de generació de dades. Això inclou l'esquema de dades per al model de traça descrit a l'especificació entre idiomes. També s'inclouen definicions de metadades per a les operacions habituals que la traça utilitza per capturar, com ara sol·licituds HTTP, errors i consultes a la base de dades. Aquests convencions semàntiques són un exemple.

El primer esborrany es basa en el format de dades actual d'OpenCensus i contindrà el següent:

  • Un esquema de dades que implementa una especificació multiidioma.
  • Definicions de metadades per a operacions comunes.
  • Definicions JSON i Protobuf.
  • Implantació de clients de referència.

Tingueu en compte que també hi ha un protocol de cable que distribueix traces a la banda, que també ens agradaria estandarditzar. Format de distribució Traça-Context desenvolupat a través del W3C.

Objectiu: paritat en tots els idiomes principals compatibles (finalització abans del 6 de setembre)

Hem d'aconseguir la paritat per a l'ecosistema lingüístic actual substituint projectes antics per nous.

  • Definicions d'interfície per a traça, mètriques i propagació de context basades en una especificació multiidioma.
  • Un SDK llest per utilitzar que implementa aquestes interfícies i exporta Trace-Data. Quan sigui possible, l'SDK es crearà mitjançant la portació d'una implementació existent d'OpenCensus.
  • Kit d'eines per a biblioteques populars cobertes actualment a OpenTracing i OpenCensus.

També valorem la compatibilitat enrere i volem garantir una transició fluida dels projectes existents.

  • El nou SDK serà compatible amb les interfícies actuals d'OpenTracing. Permetran que les eines d'OpenTracing heretades s'executin juntament amb eines noves en el mateix procés, permetent als usuaris migrar el seu treball amb el temps.
  • Quan el nou SDK estigui llest, es crearà un pla d'actualització per als usuaris actuals d'OpenCensus. Igual que amb OpenTracing, les eines heretades podran continuar treballant juntament amb les noves.
  • Al novembre, tant OpenTracing com OpenCensus estaran tancats per acceptar canvis. La compatibilitat enrere amb eines heretades serà compatible durant dos anys.

Crear el millor SDK de la seva classe per a cada idioma requereix molta feina, i això és el que més necessitem.

Objectiu: documentació bàsica (acabat el 6 de setembre)

Un factor crític per a l'èxit de qualsevol projecte de codi obert és la documentació. Volem documentació i eines de formació de primer nivell, i els nostres redactors tècnics són els desenvolupadors més actius del projecte. Ensenyar als desenvolupadors a controlar correctament el programari és un dels impactes més importants que volem tenir al món.

Els documents següents són el mínim necessari per començar:

  • Orientació al projecte.
  • Observabilitat 101.
  • Inici de la feina.
  • Guies lingüístiques (per separat per a cadascun).

Els escriptors de tots els nivells són benvinguts! El nostre nou lloc es basa en Hugo, utilitzant el marcatge habitual, de manera que és bastant fàcil contribuir.

Objectiu: Registre v1.0 (finalització abans del 6 de juliol)

Registre: un altre component crític, una versió millorada Registre OpenTracing.

  • És fàcil trobar biblioteques, connectors, instal·ladors i altres components.
  • Fàcil gestió dels components del registre.
  • Podeu esbrinar quines funcions SDK estan disponibles en cada idioma.

Si t'interessa el disseny, la interfície i la UX, tenim un excel·lent projecte de participació personal.

Objectiu: infraestructura per a proves i llançament de programari (finalització el 6 de setembre)

Per assegurar-nos que continuem oferint codi segur en el qual podeu confiar, tenim un compromís de disseny per crear proves de programari de qualitat i canalitzacions de llançament. Si us plau, fes-nos saber si pots fer-te càrrec de les canalitzacions per a proves, caracterització i llançament de programari. Indiquem clarament el nivell de preparació de la producció i la maduresa de la infraestructura de proves serà el principal factor decisiu per a nosaltres.

Objectiu: tancar els projectes OpenTracing i OpenCensus (acabat el 6 de novembre)

Tenim previst començar a tancar projectes antics el 6 de setembre, si el nou projecte arriba a la paritat amb ells. 2 mesos després, amb paritat de tots els idiomes, tenim previst tancar els projectes OpenTracing i OpenCensus. S'ha d'entendre d'aquesta manera:

  • els dipòsits es congelaran i no es faran més canvis.
  • El conjunt d'eines actual té previst un període de suport de dos anys.
  • els usuaris podran actualitzar al nou SDK utilitzant les mateixes eines.
  • Serà possible una actualització gradual.

Uneix-te a nosaltres

Agrairem qualsevol ajuda ja que aquest és un gran projecte. Si t'interessa aprendre sobre l'observabilitat, ara és el moment!

Font: www.habr.com

Afegeix comentari