Jaeger五岁了:对项目贡献者的致敬

2020-08-24 10:06:20 浏览数 (1)

作者:Yuri Shkuro

2015年8月3日是Jaeger在Uber内部仓库第一次提交的日期。从技术上讲,这个项目真正的生日可能是在一个星期之前,因为当我在构建收集器服务原型时,我们经历了许多项目名称,其中一些在这里很不好意思列出,而真正的第一次提交发生在一个不同命名的存储库中。当我们确定了Jaeger这个名字,我们就没有保存提交历史,第一次提交是一个完整的快照(教训:不要这样做!)不过,我们并不需要一个确切的日期来庆祝,所以就在8月。

为了纪念Jaeger项目成立5周年,CNCF团队最近发布了Jaeger项目旅程报告。该报告包括许多关于项目增长和多样性的统计数据,以及来自快乐用户的引用。我觉得我应该写一些非正式的文章来说明我们将Jaeger作为一个开源项目的运行经验,然后我想到,我能写的最好的东西不是项目本身,而是人,我们的杰出贡献者。 使Jaeger成为今天的样子。

来自Jaeger项目旅程报告的统计数据。

我想提前道歉,因为我无法一一提及我们数百位贡献者。我们赞赏并重视所有的贡献,从新特性到文档和错误修复。下面的清单绝不是详尽无遗的;我试着把那些贡献塑造了项目方向的人包括进来(甚至在某些情况下,即使个别功能的范围较小,也做出了很多贡献的人)。再一次,如果我忘记了某个人或某件事,我向大家表示歉意,并对大家的贡献表示集体的感谢。

The list is ordered alphabetically.

  • Annanay Agarwal (@annanay25) implemented a number of backend features, including regex support for Elasticsearch backend and a stable, gRPC-based API in the query service, which builds the foundation of the official data retrieval API. He recently published an interesting post about How Grafana Labs enables horizontally scalable tail sampling.
  • Behrooz Badii (@badiib) was pivotal to Jaeger’s early open source strategy. He was responsible for the initial migration of Uber’s internal Jaeger backend to GitHub, which included implementing the query service to support the new UI, and reimplementing the Cassandra storage backend to use strong schema, then advocated for investing into Elasticsearch backend to expand user options.
  • Benjamin Krämer (@Falco20019) is one of the original authors of Jaeger C# client and its current maintainer. The C# client (and related instrumentation) allowed Jaeger to make inroads into .NET world of applications, where the core maintainers of the project had little expertise.
  • Davit Yeghshatyan (@davit-y) was an intern at Uber where he worked on our integration with Kafka as a storage backend.
  • Everett Ross (@everett980) is the maintainer of Jaeger UI, who worked on such significant pieces as the transitive topology graphs and the UI for trace quality measures.
  • Gary Brown (@objectiser), in my personal view, is the main coordinator of Red Hat involvement with Jaeger. The idea of Jaeger joining CNCF was floating in my head at the time, but really became a reality through his involvement. Gary worked on many operational aspects of Jaeger backend, from security fixes to metrics normalization. He is a major contributor to jaeger-operator. He works with other projects like Kiali and Istio to enable better integration with Jaeger.
  • Isaac Heir (@isaachier) was the original author of Jaeger C client. Having a C SDK allows integration of Jaeger with compiled products like Envoy or HAProxy.
  • Joe Elliott (@joe-elliott) is crushing it in our online chat answering questions from hundreds of people. He is also writing posts about tuning your Jaeger installation for best performance.
  • Joe Farro (@tiffon) is the chief architect of the current Jaeger UI. He worked on every aspect of the UI, including styling (which was cloned by other projects), performance optimizations (handling of large traces, up to 80,000 spans), rewrite of the code in Typescript, and the development of Plexus, the graph visualization plugin used for various visualizations like trace graph, graph comparisons, and transitive topology graphs.
  • Jon Carl (@grounded042) is one of the original authors of Jaeger C# client.
  • Juraci Paixão Kröhling (@jpkrohling) is a long standing member of a team at Red Hat working on tracing. He implemented numerous features aiming at stability and operational quality of the Jaeger backend and client libraries. He is the lead developer of jaeger-operator, which vastly simplifies deploying and running Jaeger on Kubernetes. Juraci is a frequent speaker at conferences, author of many blog posts about Jaeger, and a regular mentor of Jaeger’s Outreachy interns.
  • Kevin Earls (@kevinearls) is a member of the quality assurance team at Red Hat. He made numerous contributions improving the quality and stability of Jaeger tests.
  • Lev Polyakov is an award-winning animation director, creator of such wonderful animated shorts as Only Love (2008) and My Heart Belongs to You (2012) (more at polyakovproductions.com). Lev is the author of Jaeger’s awesome logo.
  • Mehrez Douaihy (@mdouaihy) is a recent contributor to Jaeger C client, where we are short on C experts.
  • Michael Burman (@burmanm) is the author of a single-node storage backend based on the embedded key-value store Badger. It replicates the Prometheus model where if your trace volume can be handled by a single server, you can run Jaeger all-in-one with Badger backend without worrying about data loss, and without the complexity of operating a distributed storage like Cassandra or Elasticsearch.
  • Minho Park (@mh-park) was an intern at Uber where he created the first implementation of Jaeger storage backend based on Elasticsearch.
  • Onwukike (Keekay) Ibe (@oibe): people often credit me with creating Jaeger, but I did not do it alone. For almost a year the tracing team at Uber consisted of just two people, myself and Keekay. He worked on the backend and was also the original author of Jaeger’s Node.js and Java clients.
  • Pavol Loffay (@pavolloffay) is the Strongest Avenger and a long standing member of a team at Red Hat working on tracing. It’s hard to name an area of the Jaeger project where he did not provide a major contribution. Among his recent work are: the graph-based DSL for data mining, integration with Jyputer notebooks, upgrades to Elasticsearch storage backend implementation, and the most recent — the migration of Jaeger backend components to OpenTelemetry data model and collector. Pavol is a frequent speaker at conferences and author of many blog posts on Jaeger.
  • Prithvi Raj (@vprithvi) is a long standing member of the tracing team at Uber and the chief architect of Jaeger’s data mining platform, from integration with Kafka (e.g. the ingester) to implementation of a series of Flink analytics jobs that aggregate data for the topology graphs, trace quality metrics, and other views.
  • Ruben Vargas Palma (@rubenvp8510) is a rare contributor to both the backend and the UI of Jaeger. On the UI side he implemented features like external links, display of span references, and transitive topology graphs from search results.
  • Ryan Burn @rnburn implemented support for dynamic loading of Jaeger C client, which allows integration of Jaeger SDK into projects like Envoy and HAProxy.
  • Shan Aminzadeh @saminzadeh was the original author of Jaeger UI, which received numerous praises from people when compared to the previous version of Zipkin UI.
  • Won Jun Jang @black-adder a former member of Uber’s tracing team, where he worked on various backend and client features, including developing the adaptive sampling solution.

Jaeger项目的强大程度取决于我们的贡献者和最终用户社区。我对这个社区的成长非常满意,但总有更多的空间。分布式跟踪作为一门学科仍然处于起步阶段,并且有许多新的东西和方向。

你愿意为Jaeger项目做出贡献吗?可以做的事情很多,从文档/教程到从跟踪数据中提取洞察力的新方法。最简单的开始方法是寻找标记为“good-first issue”的问题,或者更复杂的“help-wanted”的问题。这些问题不仅存在于主要的/jaeger存储库中(Go实现),而且存在于各种客户机库和数据挖掘repo中(如果你的强项是另一种编程语言)。如果你想实现一个新功能,你可以打开一个新问题来讨论设计,加入我们的在线聊天,或参加我们的双周视频会议。参见“参与”和“联系”。

https://www.jaegertracing.io/get-involved/

https://www.jaegertracing.io/get-in-touch/

点击【阅读原文】阅读网站原文。

扫描二维码联系我们!


CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。

CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。

0 人点赞