OpenTracingin ja OpenCensuksen yhdistäminen: tie lähentymiseen

OpenTracingin ja OpenCensuksen yhdistäminen: tie lähentymiseen

Tekijät: Ted Young, Pritam Shah ja teknisten eritelmien komitea (Carlos Alberto, Bogdan Drutu, Sergei Kanzhelev ja Juri Shkuro).

Yhteisprojekti sai nimen: http://opentelemetry.io

Hyvin, hyvin lyhyesti:

  • Luomme uusia yhtenäisiä kirjastoja ja määrityksiä telemetrian valvontaominaisuuksille. Se yhdistää OpenTracing- ja OpenCensus-projektit ja tarjoaa tuetun polun siirtymiselle.
  • Java-referenssitoteutus tulee saataville 24 ja muilla kielillä toteutetut toteutukset alkavat kokonaisuudessaan 8. Katso aikataulu täällä.
  • Syyskuuhun 2019 mennessä suunnitellaan pariteettia olemassa olevien C#-, Golang-, Java-, NodeJS- ja Python-projektien kanssa. Edessämme on paljon työtä, mutta pärjäämme, jos työskentelemme rinnakkain. Jos olet kiinnostunut osallistumaan tähän projektiin, rekisteröidy ja kerro meille, miten haluat osallistua.
  • Kun toteutus kullakin kielellä on kypsä, vastaavat OpenTracing- ja OpenCensus-projektit suljetaan. Tämä tarkoittaa sitä, että vanhat projektit jäädytetään ja uusi projekti jatkaa olemassa olevien työkalujen tukemista kahden vuoden ajan taaksepäin yhteensopivuuden avulla.

Hankkeen yleiskatsaus

OpenTracingin ja OpenCensuksen yhdistäminen: tie lähentymiseen

Olemme tekemässä fuusiota! Lopullisena tavoitteena on yhdistää OpenTracing- ja OpenCensus-projektit yhdeksi yhteiseksi projektiksi.
Uuden projektin ytimen muodostaa joukko puhtaita ja harkittuja rajapintoja, mukaan lukien perinteinen kirjastojen kokoonpano, joka toteuttaa nämä rajapinnat ns. SDK. Kirsikka kakun päällä ovat suositeltavia standardeja data- ja johtoprotokollia varten, mukaan lukien infrastruktuurin yhteiset osat.
Tuloksena on täydellinen telemetriajärjestelmä, joka soveltuu mikropalvelujen ja muuntyyppisten nykyaikaisten hajautettujen järjestelmien valvontaan ja on yhteensopiva useimpien tärkeimpien OSS- ja kaupallisten taustaohjelmistojen kanssa.

Keskeiset tapahtumat

24.04/XNUMX — Referenssiehdokas lähetetty tarkastettavaksi.
8.05 — Tiimi muodostetaan ja se alkaa työskennellä kaikilla kielillä.
20.05 — Projektin virallinen avaus Kubecon Barcelonassa.
6.09 - C#-, Golang-, Java-, NodeJS- ja Python-toteutukset saavuttavat pariteetin vastaavien kanssa.
6.11 - OpenTracing- ja OpenCensus-projektien virallinen päätökseen.
Klo 20.11 — Jäähyväiset projektien valmistumisen kunniaksi Observability Summitissa, Kubecon San Diegossa.

Lähentymisen aikajana

OpenTracingin ja OpenCensuksen yhdistäminen: tie lähentymiseen

Jokaisen kielen siirto sisältää tuotantovalmiuden SDK-koontiversion, työkalut suosittuja kirjastoja varten, dokumentaation, CI:n, taaksepäin yhteensopivuustyökalut ja niihin liittyvien OpenCensus- ja OpenTracing-projektien sulkemisen ("auringonlasku"). Syyskuulle 2019 asetimme kunnianhimoisen tavoitteen – pariteetin saavuttaminen C#-, Golang-, Java-, NodeJS- ja Python-kielille. Siirrämme auringonlaskun päivämäärää, kunnes kaikki kielet ovat valmiita. Mutta tätä on parempi välttää.
Kun tarkastelet tavoitteita, ota huomioon henkilökohtainen osallistumisesi, kerro siitä meille täyttämällä ilmoittautumislomake, tai tervehtimällä projektien Gitter-chateissa OpenTracing и OpenCensus. Voit tarkastella kaaviota infografiikkana täällä.

Tavoite: Ensimmäinen luonnos monikielisestä määrittelystä (valtuutettu 8. toukokuuta mennessä)

On tärkeää työskennellä yhtenäisesti, vaikka työskentelet rinnakkain eri kielillä. Monikielinen eritelmä antaa opastusta projektille. Se kuulostaa proosaiselta, mutta se takaa tuen yhtenäiselle järjestelmälle, joka tuntuu tutulta ohjelmointikielestä riippumatta.

Kielen X ensimmäisen eritelmäluonnoksen pakolliset vaatimukset:

  • Yleisen terminologian määritelmät.
  • Malli hajautettujen tapahtumien, tilastojen ja mittareiden kuvaamiseen.
  • Selvennyksiä toteutuksen aikana esiin tulleista tärkeistä asioista.

Tämä tavoite estää muun työn, ensimmäisen luonnoksen on oltava valmis 8. toukokuuta mennessä.

Tavoite: Ensimmäinen luonnos tietojen määrittelyyn (valtuutettu 6. heinäkuuta mennessä)

Tietospesifikaatio määrittelee yhteisen tietomuodon jäljityksille ja mittareille, jotta kaikkien prosessien viemää dataa voidaan käsitellä samalla telemetria-infrastruktuurilla tiedontuotantoprosessista riippumatta. Tämä sisältää monikielisessä määrittelyssä kuvatun jäljitysmallin tietoskeeman. Mukana on myös metatietomääritykset yleisille toiminnoille, joita jäljitys käyttää kaappaamiseen, kuten HTTP-pyynnöt, virheet ja tietokantakyselyt. Nämä semanttiset sopimukset ovat esimerkki.

Ensimmäinen luonnos perustuu nykyiseen OpenCensus-tietomuotoon ja sisältää seuraavat tiedot:

  • Tietoskeema, joka toteuttaa monikielisen määrityksen.
  • Yleisten toimintojen metatietojen määritelmät.
  • JSON- ja Protobuf-määritelmät.
  • Referenssiasiakkaiden toteutus.

Huomaa, että on olemassa myös lankaprotokolla, joka jakaa jäljet ​​kaistan sisällä, jonka haluaisimme myös standardoida. Jakelumuoto Trace-Context kehitetty W3C:n kautta.

Tavoite: tasa-arvo kaikilla tärkeimmillä tuetuilla kielillä (valtuutettu 6. syyskuuta mennessä)

Meidän on saavutettava nykyisen kieliekosysteemin tasa-arvo korvaamalla vanhat projektit uusilla.

  • Rajapintamääritykset jäljitystä, mittareita ja kontekstin leviämistä varten, jotka perustuvat kieltenväliseen määritykseen.
  • Käyttövalmis SDK, joka toteuttaa nämä rajapinnat ja vie Trace-Dataa. Mikäli mahdollista, SDK luodaan siirtämällä olemassa oleva toteutus OpenCensuksesta.
  • Toolkit suosituille kirjastoille, joita tällä hetkellä koskevat OpenTracing ja OpenCensus.

Arvostamme myös taaksepäin yhteensopivuutta ja haluamme varmistaa sujuvan siirtymisen olemassa olevista projekteista.

  • Uusi SDK on taaksepäin yhteensopiva nykyisten OpenTracing-rajapintojen kanssa. Niiden avulla vanhat OpenTracing-työkalut voivat toimia uusien työkalujen rinnalla samassa prosessissa, jolloin käyttäjät voivat siirtää työnsä ajan myötä.
  • Kun uusi SDK on valmis, päivityssuunnitelma luodaan nykyisille OpenCensus-käyttäjille. Kuten OpenTracingissa, vanhat työkalut voivat jatkaa toimintaansa uusien työkalujen rinnalla.
  • Marraskuuhun mennessä sekä OpenTracing että OpenCensus suljetaan muutosten hyväksymiseltä. Taaksepäin yhteensopivuutta vanhojen työkalujen kanssa tuetaan kahden vuoden ajan.

Luokkansa parhaan SDK:n luominen jokaiselle kielelle vaatii paljon työtä, ja sitä tarvitsemme eniten.

Tavoite: perusdokumentaatio (valmis 6. mennessä)

Kriittinen tekijä minkä tahansa avoimen lähdekoodin projektin onnistumisessa on dokumentointi. Haluamme huippuluokan dokumentaatio- ja koulutustyökalut, ja tekniset kirjoittajamme ovat projektin aktiivisimpia kehittäjiä. Ohjelmistojen oikean valvonnan opettaminen kehittäjille on yksi tärkeimmistä vaikutuksista, jonka haluamme maailmaan.

Seuraavat asiakirjat ovat vähimmäisvaatimuksena aloittamiseen:

  • Projektilähtöisyys.
  • Havaittavuus 101.
  • Työn alku.
  • Kielioppaat (jokaiselle erikseen).

Kaiken tasoiset kirjoittajat ovat tervetulleita! Uusi sivustomme perustuu Hugoon ja käyttää tavallista merkintää, joten osallistuminen on melko helppoa.

Tavoite: Rekisteri v1.0 (valtuutettu 6. heinäkuuta mennessä)

Rekisteri - toinen tärkeä komponentti, parannettu versio OpenTracing-rekisteri.

  • Kirjastoja, laajennuksia, asennusohjelmia ja muita komponentteja on helppo löytää.
  • Helppo hallita rekisterin komponentteja.
  • Voit selvittää, mitkä SDK-ominaisuudet ovat saatavilla kullakin kielellä.

Jos olet kiinnostunut suunnittelusta, käyttöliittymästä ja UX:stä, meillä on erinomainen projekti henkilökohtaiseen osallistumiseen.

Tavoite: ohjelmistojen testauksen ja julkaisun infrastruktuuri (valtuutettu 6. syyskuuta mennessä)

Varmistaaksemme, että toimitamme jatkossakin turvallista koodia, johon voit luottaa, olemme sitoutuneet rakentamaan laadukkaita ohjelmistotestauksia ja julkaisuputkia. Kerro meille, jos pystyt huolehtimaan putkistosta testausta, karakterisointia ja ohjelmiston julkaisua varten. Ilmoitamme selkeästi tuotantovalmiuden tason, ja testausinfrastruktuurin kypsyys tulee olemaan meille tärkein ratkaiseva tekijä.

Tavoite: OpenTracing- ja OpenCensus-projektien sulkeminen (valtuutettu 6. marraskuuta mennessä)

Suunnittelemme aloittavamme vanhojen projektien sulkemisen 6., mikäli uusi projekti saavuttaa tasavertaisuuden niiden kanssa. 2 kuukautta myöhemmin aiomme sulkea OpenTracing- ja OpenCensus-projektit kaikkien kielten pariteetilla. Se pitäisi ymmärtää näin:

  • arkistot jäädytetään eikä muita muutoksia tehdä.
  • Nykyiseen työkalupakettiin on suunniteltu kahden vuoden tukijakso.
  • käyttäjät voivat päivittää uuteen SDK:han samoilla työkaluilla.
  • Asteittainen päivitys on mahdollista.

Liity nyt

Otamme mielellämme vastaan ​​kaiken avun, koska tämä on valtava projekti. Jos olet kiinnostunut oppimaan havainnoitavuudesta, nyt on sen aika!

Lähde: will.com

Lisää kommentti