PANEL: OpenTelemetry Technical Committee Panel - Josh Suereth, Reiley Yang, Rynn Mancuso, Jack Berg

CNCF [Cloud Native Computing Foundation]
29 Jun 202433:34

Summary

TLDRThe OpenTelemetry Technical Committee panel, led by Ren Manuso, discusses the members' journeys and goals for the project. Jack Berg from New Relic focuses on configuration improvements, Lilla from Microsoft emphasizes semantic conventions, and Riley Yang of Microsoft aims to enhance the Matrix API SDK. Josh Seret from Google Cloud highlights the importance of community involvement and the Entity SIG's work on resource detection. The panel addresses balancing developer experience across languages and the project's growth, emphasizing community empowerment and the evolution of OpenTelemetry.

Takeaways

  • πŸ˜€ The OpenTelemetry Technical Committee (TC) consists of diverse members with different backgrounds and areas of expertise, all contributing to the project's growth and development.
  • πŸ”§ Jack Berg, a maintainer for OpenTelemetry Java, aims to stabilize the log signal and metrics, and is currently working on file-based configuration for OpenTelemetry to improve expressiveness and ease of use.
  • 🎀 Lilla, from Microsoft, has been involved in observability since 2016, focusing on library instrumentations and messaging scenarios, and is excited about semantic conventions and their role in standardizing data collection practices.
  • πŸ› οΈ Riley Yang, who has been with OpenTelemetry since its inception, is focused on the Matrix API SDK specification and improving the reliability and performance of OpenTelemetry for large-scale enterprise applications.
  • πŸ€” Josh Seret from Google Cloud emphasizes the importance of community involvement and the role of the TC in facilitating and supporting community-led projects and initiatives.
  • πŸ”„ OpenTelemetry's development process requires prototypes in different languages to ensure a wide range of feedback and to avoid language-specific idioms in its specifications.
  • πŸ‘₯ The TC plays a crucial role in reviewing and stabilizing specifications, ensuring consistency across languages, and resolving conflicts when necessary.
  • πŸ’‘ The TC is focused on empowering individuals within Special Interest Groups (SIGs) to lead and drive projects, rather than trying to manage every aspect themselves.
  • πŸ›‘οΈ Security is a key concern for OpenTelemetry, with the TC actively involved in addressing vulnerabilities and coordinating fixes across repositories.
  • 🌐 OpenTelemetry is designed to be vendor-agnostic, providing a common API for telemetry data, and the TC is working to ensure that the project remains true to this vision.
  • πŸ“ˆ The future of OpenTelemetry includes a focus on refining context propagation, enhancing the developer experience for customizing telemetry, and potentially evolving the APIs to better leverage the foundational concepts of causality and context.

Q & A

  • What is the role of the Open Telemetry Technical Committee (TC)?

    -The Open Telemetry TC is responsible for guiding the project's technical direction, maintaining the specification repository, reviewing donation proposals, and ensuring cross-language consistency and stability in the implementation of Open Telemetry features.

  • Why did Jack Berg get involved with Open Telemetry?

    -Jack Berg joined Open Telemetry to reduce the time developers had to choose between using an open-source software piece that wasn't ready, like logs and metrics, and to accelerate the stability of these components within the project.

  • What is Jack Berg currently working on in Open Telemetry?

    -Jack Berg is working on configuration file-based configuration for Open Telemetry, aiming to provide a balance between programmatic configuration and environment variable-based configuration.

  • What brought Lilla to the Open Telemetry project?

    -Lilla was interested in library instrumentations and messaging scenarios, which led her to her current team at Microsoft, where she works on the AZ SDK and is involved with Open Telemetry.

  • What is Lilla's focus for the year in Open Telemetry?

    -Lilla is focused on stabilizing semantic conventions for messaging and databases within Open Telemetry, aiming to make the process less painful than HTTP.

  • How did Riley Yang get involved with Open Telemetry?

    -Riley Yang started as a C++ compiler developer and eventually worked on debugger profiling. He became involved with Open Telemetry through his work on the W3C Trace Context standard and later as a maintainer of the OpenTracing project.

  • What is Riley Yang's main focus as a TC member?

    -Riley Yang's main focus is on the Matrix API SDK specification and making Open Telemetry more reliable and performant for large-scale enterprise applications.

  • What is Josh Seret's background and how did it influence his involvement with Open Telemetry?

    -Josh Seret comes from the Scala language community and has a passion for open-source projects. His experience with observability in Scala and the strong community around Open Telemetry led him to join the project.

  • What is the process for stabilizing a new feature in Open Telemetry?

    -A new feature in Open Telemetry starts as experimental and requires implementation in a variety of languages before it can reach stability. The TC reviews these implementations across languages to ensure consistency and address any issues.

  • How does the TC ensure a balance between developer experience and cross-language consistency?

    -The TC involves experts from different languages in the specification process, reviews language implementations, and facilitates discussions to find a balance between idiomatic language use and cross-language consistency.

  • What is the role of a 'spec sponsor' in the Open Telemetry community?

    -A 'spec sponsor' is a trusted collaborator who can sponsor projects and has a meaningful approver role in the specification process. They help lead projects and contribute significantly to the Open Telemetry community.

  • How does the TC handle security vulnerabilities in Open Telemetry?

    -The TC takes security seriously. When a security vulnerability is reported, the TC works secretly with the reporter to understand the impact and scope, coordinates fixes across repositories, and ensures that patches are applied before making the vulnerability public.

  • What are some future improvements or refactorings that the TC is considering for Open Telemetry?

    -The TC is considering improvements around context propagation, leveraging the foundation of causality and context in Open Telemetry, and potentially revisiting the span events API for a more unified events approach.

Outlines

00:00

πŸ˜€ Introduction to the OpenTelemetry Technical Committee Panel

The video script introduces the OpenTelemetry Technical Committee panel with Ren Manuso as the host. Ren works in the end user working group and facilitates the introduction of the panel members: Jack Berg, Lilla, Josh Serth, and Riley Yang. Each member shares their journey to the technical committee and their excitement for working on OpenTelemetry in the current year. Jack Berg, from New Relic, discusses his involvement with the Java project and his goal to stabilize the open-source software. He is currently focused on configuration file-based configuration for OpenTelemetry.

05:01

πŸ˜‡ Panel Members' Backgrounds and Contributions to OpenTelemetry

Lilla from Microsoft talks about her start in observability and her focus on library instrumentations and messaging scenarios. She expresses excitement about semantic conventions and her recent involvement in the technical committee. Riley Yang, also from Microsoft, shares his transition from C++ compiler development to working on the tracing protocol and his contributions to various OpenTelemetry projects. He discusses his current focus on the Matrix API SDK specification and the challenges of high cardinality issues in telemetry. Josh Seret from Google Cloud humorously recounts his less memorable path to the TC but emphasizes his passion for open source and his contributions to the metrics data model and semantic conventions.

10:01

πŸ” Balancing Developer Experience Across Languages in OpenTelemetry

The panel discusses the challenge of maintaining a consistent developer experience across different languages while ensuring each language's unique idioms are respected. They highlight the importance of having a diverse group of technical committee members who can provide feedback on language-specific implementations. The process of stabilizing specifications involvesεŽŸεž‹ in multiple languages and reviews by TC members to ensure consistency and adherence to OpenTelemetry's overall direction.

15:04

πŸ› οΈ Specification Development and the Role of Technical Committee

The panel elaborates on the difficulties of specification development, especially in observability where users demand high performance with minimal overhead. They explain the technical committee's role in reviewing and stabilizing specifications, ensuring they are practical and effective across various languages. The TC also helps alleviate friction in wording that may be too restrictive, learning from different language implementations to find a balanced approach.

20:04

🌐 Empowering SIGs and Contributors in OpenTelemetry's Growth

As OpenTelemetry grows, the technical committee discusses strategies for empowering Special Interest Groups (SIGs) and individuals within them. The TC aims to set examples for efficient community work, delegate tasks, and focus on aligning work streams with OpenTelemetry's overall mission. They also mention the introduction of 'spec sponsors' to help lead projects and specifications, indicating a move towards community-driven growth.

25:05

πŸ›‘οΈ Security and Review Processes in OpenTelemetry

The panel touches on the technical committee's role in handling security vulnerabilities and the review process for language maintainers. They emphasize the importance of security, especially as OpenTelemetry aims for CNCF graduation, and the TC's responsibility to coordinate fixes across repositories. Additionally, they encourage language maintainers to seek TC reviews for their implementations to ensure alignment with OpenTelemetry specifications.

30:07

πŸ“ˆ Future Directions and Opportunities in OpenTelemetry

The panelists contemplate the future of OpenTelemetry, discussing the importance of context propagation and the potential for a more unified approach to telemetry customization. They also consider the evolution of the project, moving towards more value-added processing at the collector level and the possibility of local decision-making in distributed systems. The panel concludes by inviting contributors to engage with the TC through community meetings, Slack, or by creating CVEs for immediate attention.

Mindmap

Keywords

πŸ’‘Open Telemetry

Open Telemetry is an open-source observability framework for cloud-native software. It provides a set of APIs, libraries, agents, and instrumentation to capture distributed traces and metrics from applications. In the video, Open Telemetry is the central theme, with the technical committee discussing its development and future directions.

πŸ’‘Technical Committee (TC)

The Technical Committee in the context of Open Telemetry is a group of members responsible for overseeing the project's technical direction and specifications. The script features several TC members sharing their experiences and contributions to Open Telemetry.

πŸ’‘Observability

Observability in software refers to the ability to understand the internal state of a system through external outputs. It is a key concept in the video, as the panelists discuss their work on improving observability through Open Telemetry, including the challenges and solutions in this domain.

πŸ’‘Trace Context

Trace context is a standard for managing and propagating context information in distributed systems. It is mentioned in the script when discussing the development of a distributed tracing protocol and the efforts to converge existing systems with the W3C Trace Context standard.

πŸ’‘Semantic Conventions

Semantic conventions in Open Telemetry are standardized ways of defining what data to collect and how to instrument code. The panelists discuss the importance of semantic conventions for ensuring consistency and reliability in telemetry data across different languages and platforms.

πŸ’‘

πŸ’‘SDK

SDK stands for Software Development Kit, which in the context of Open Telemetry refers to the tools and libraries provided for developers to implement observability features in their applications. The script discusses the need for SDKs to be reliable, performant, and consistent across languages.

πŸ’‘Configuration

Configuration in the script refers to how Open Telemetry can be set up and customized. One panelist discusses their work on file-based configuration, which aims to provide a balance between expressiveness and ease of use compared to programmatic or environment variable-based configurations.

πŸ’‘Instrumentation

Instrumentation in this context is the process of adding monitoring and telemetry capabilities to an application. The panelists talk about the challenges and future work in making instrumentation easier and more standardized for developers.

πŸ’‘Metrics

Metrics in observability are quantitative measurements that provide insights into the behavior and performance of a system. The script mentions metrics as one of the areas where Open Telemetry aims to provide stability and standardization.

πŸ’‘Entity and Resource Specification

The Entity and Resource Specification is a part of Open Telemetry that defines how to represent and identify entities and resources in telemetry data. The script discusses the need for a refactoring of this specification to improve resource detection and compliance across SDKs.

πŸ’‘Context Propagation

Context propagation is the mechanism by which context information, such as trace IDs, is passed between services in a distributed system. The panelists identify this as a critical area for future development within Open Telemetry to better leverage the context for observability.

πŸ’‘Collector

In Open Telemetry, a collector is a component responsible for gathering, processing, and exporting telemetry data. The script suggests that the collector will play an increasingly important role in the future of Open Telemetry, particularly for processing data close to the source.

Highlights

Introduction of the Open Telemetry Technical Committee members and their backgrounds.

Jack Berg's involvement with Open Telemetry through the Java project and his goal to stabilize logs and metrics.

Lilla's focus on library instrumentations and messaging scenarios, and her work on semantic conventions.

Riley Yang's transition from C++ compiler development to working on Open Telemetry and his focus on the Matrix API SDK specification.

Josh Seret's experience with observability in the Scala language community and his contribution to the metrics data model specification.

The importance of configuration file-based configuration for Open Telemetry discussed by Jack Berg.

Lilla's interest in stabilizing messaging and databases within Open Telemetry.

Riley's emphasis on making Open Telemetry more reliable and performant for large scale enterprise applications.

Josh's work on the Entity Sig to address problems with resource detection in Open Telemetry.

The role of the Technical Committee in balancing developer experience across different languages.

The process for stabilizing specifications and features in Open Telemetry.

The challenge of ensuring cross-language consistency while maintaining language-specific idioms.

The importance of community involvement and contribution to the success of semantic conventions in Open Telemetry.

The TC's strategy for empowering SIGs and individuals to extend the work of Open Telemetry.

The introduction of 'spec sponsors' to support and expand the work within Open Telemetry.

The future direction of Open Telemetry, focusing on context propagation and leveraging causality.

The need for a more unified way for users to customize telemetry data.

The potential evolution of Open Telemetry towards more value-added processing at the collector level.

Transcripts

play00:00

hello and welcome to um the open

play00:04

Telemetry technical committee panel I'm

play00:07

Ren manuso um I work in the end user

play00:11

working group and you today we're going

play00:14

to meet the members of the technical

play00:15

committee um Jack Berg lud Milla um your

play00:20

was so new I don't know her last name

play00:22

Josh surth and Riley

play00:24

Yang and um I'm going to let them

play00:27

introduce themselves um with our first

play00:31

question which is what brought you to be

play00:35

on the technical committee how did you

play00:38

make this journey and what are you most

play00:41

excited about working on this year in

play00:43

open

play00:45

Telemetry all right I'll start us off

play00:47

I'm Jack uh I work for New Relic and I

play00:50

got involved with open Telemetry through

play00:52

the the Java project I'm a maintainer

play00:54

for open Telemetry Java um I joined that

play00:57

project maybe three years ago or

play01:00

something like that and um so my my kind

play01:03

of goal when I got into open Telemetry

play01:05

was to uh reduce the amount of time that

play01:10

you know you uh you you had to choose

play01:13

between using an open source piece of

play01:15

software and um that that wasn't really

play01:19

kind of ready like logs and metrics and

play01:21

were not stable when I joined the

play01:22

project there were still ideas and so I

play01:25

wanted to accelerate the the stability

play01:27

of those and that's uh that's what I did

play01:30

I I I worked on the log signal and the

play01:31

metrics extensively uh and kind of drove

play01:34

the implementations for those along with

play01:36

some other folks in in Java and that led

play01:38

me to the technical committee eventually

play01:43

so oh I guess yeah the the followup for

play01:47

the question was what are you most

play01:48

interested in uh working on this year

play01:50

I'm working on uh configuration file

play01:52

based configuration uh for open

play01:55

Telemetry so you know uh programmatic

play01:57

configuration is right now your options

play02:00

are programmatic configuration or

play02:02

environment variable based configuration

play02:04

and programmatic is very Hands-On and

play02:06

and environment variable is not very

play02:08

expressive so file configuration is the

play02:10

best of both worlds it's supposed to be

play02:12

expressive and exhaustive but

play02:14

declarative so you don't have to you

play02:16

know go write code in in a language to

play02:18

to express what you need to your SDK to

play02:21

do so I'll pass it on

play02:23

now okay thank you hi uh you met me I'm

play02:27

Lilla I gave a talk earlier um I work at

play02:31

Microsoft I work on AZ SDK I started

play02:33

working on observability in 2016 I think

play02:37

uh my manager asked me okay you just

play02:39

came back with uh from the service

play02:41

development what is the hardest problem

play02:43

and I told him okay log correlation and

play02:46

I think I still work on it uh what eight

play02:49

years after um so uh we've done some non

play02:53

up on Telemetry non up on Tracing Our

play02:56

custom thing in uh Microsoft for a while

play02:59

but then uh there we went part of open

play03:03

senses and eventually you were very

play03:05

happy that um open Telemetry came out of

play03:08

the result of it um so I was very

play03:12

interested uh in library

play03:14

instrumentations and messaging scenarios

play03:17

and stuff like that uh so this brought

play03:19

me to my current team uh and I'm still

play03:24

super interested uh the more we look

play03:26

into this the more uh things are not

play03:29

there at like semantic conventions like

play03:31

what I actually collect how do we

play03:33

instrument and stuff and this is what

play03:35

I'm really excited about that's what I'm

play03:37

driving I've just joined TC thank you

play03:39

for inviting me I'm super excited about

play03:42

it um and I really want to continue

play03:45

working in the space of semantic

play03:47

conventions we're going to stabilize

play03:49

messaging and databases this year I hope

play03:53

everything looks like we should be able

play03:56

to do this uh I hope it will be less

play03:58

painful than http

play04:00

um and yeah and then maybe we will see

play04:05

there are so many other areas in up

play04:07

Teter the semantic conventions just like

play04:10

tras mentioned recently if it's

play04:13

something about computers it's in the

play04:16

semantic

play04:17

conventions uh so I hope all people will

play04:19

contribute we definitely need your

play04:21

expertise um yeah thank

play04:26

you hey everyone my name is Riley and I

play04:30

work for Microsoft so I started as a C++

play04:33

compiler developer and eventually work

play04:36

on debugger profiling until I realized

play04:39

uh the word need a tracing protocol so I

play04:42

kind of invented my own distrib tracing

play04:44

protocol and after that I start to

play04:46

regret and I spend years trying to work

play04:49

with the w3a trace context standard

play04:51

trying to embrace that and and use that

play04:55

to converge all the existing things that

play04:57

we have and after that I work uh in the

play05:00

open sensus project as a python open

play05:03

sensus maintainer so I like I moved to

play05:07

open time Tre on the first day so has

play05:10

been there actually working it's been

play05:13

five years and uh I worked on many open

play05:18

Telemetry projects including open

play05:20

Telemetry uh donet

play05:22

C++ and open time Python and and I help

play05:26

the semantic convention especially the

play05:29

the donation of the elastic common

play05:30

schema to open time Tre semantic

play05:32

convention the convergence there and my

play05:37

main reason now becoming a technical

play05:39

Committee Member was The Matrix API SDK

play05:42

specification because after tracing me

play05:44

being stuck there and I volunteer to

play05:47

help and just to answer a question

play05:50

mentioned earlier this morning about do

play05:52

you have to be a TC member to make

play05:54

progress I feel I probably made more

play05:56

progress before being a TC member cuz

play05:59

after after being a TC member I try to

play06:00

help people and I just realized there

play06:02

are too many things happening and I

play06:04

don't have the domain expertise so I'm

play06:06

more willing to help people to be more

play06:08

successful instead of drain my own

play06:10

agenda and regarding my focus I I think

play06:13

we have a reasonable set of Matrix

play06:16

offerings but it's not done yet if you

play06:18

look at how people use Matrix cdk for

play06:21

high cardinality issue or uh are we done

play06:24

with like the best practice and do we

play06:27

have the best performing metrix I see

play06:29

you probably know like recently we have

play06:31

one TC member who's the father of Jer

play06:33

he's trying to switch from premises cl

play06:35

to open Telemetry client and is noticing

play06:38

performance job so we know the bond

play06:41

instrument we've been working on and we

play06:44

haven't just made that to the SP I feel

play06:46

my immediate Focus would be getting open

play06:49

time Tre more reliable and performant

play06:51

for the large scale Enterprise

play06:54

applications to take a bet on then there

play06:56

are many additional things I want to

play06:59

explore for example uh how do we help

play07:03

the open t Tre solution to be available

play07:06

for extreme cases like the embedded

play07:08

devices or super large scale

play07:10

applications and in addition I think

play07:12

more importantly when you think like how

play07:14

open t Tre started we started by saying

play07:17

people don't have an API that is vendor

play07:19

agnostic they don't trust that like they

play07:21

have to pick a vendor specific thing and

play07:23

only send data to that place but then we

play07:26

have the API we have a stable and

play07:28

performant reasonably performant SDK

play07:31

then have the problem of it's a like it

play07:34

makes it possible for people to

play07:36

instrument application but we don't have

play07:38

the same language people will just send

play07:39

whatever data they want and you won't be

play07:42

able to interpret the data and this is

play07:44

why we made progress on semantic

play07:45

convention and with being successful

play07:49

with the API semantic convention now we

play07:50

have libraries like mea Shar this

play07:52

morning the libraryies Frameworks

play07:54

operating system they start to generate

play07:56

lry and you as a developer with single

play07:59

line of configuration can enable it now

play08:01

we have a real problem we've made it so

play08:04

easy for people to enable Telemetry and

play08:06

I've seen customers like writing a

play08:08

single line of code that's costing $3

play08:10

million per day or like they can easily

play08:13

enable tet Tre so they got privacy issue

play08:16

they got security credential leak so now

play08:19

it's time for us to think about how we

play08:21

help people to collect TM Tre in a

play08:23

reasonable way that is efficient that's

play08:26

cost effective and yet compliant so so

play08:30

so we bring this like it's very hard to

play08:32

get Telemetry to a place where it's very

play08:34

easy to get Telemetry and maybe overuse

play08:36

it now it's time for me to think about

play08:39

how we can actually control the balance

play08:41

and and make people's life

play08:44

easier thank

play08:46

you so I'm uh Josh seret um I think uh I

play08:51

don't actually remember how I got on the

play08:53

TC and no one has noticed yet that I'm

play08:55

still there so it's working out for me

play08:58

um uh I I currently work at Google Cloud

play09:02

I do observability there but I uh I come

play09:04

from the Scala language community and I

play09:06

just love open source so actually open

play09:08

telary was a project where um I I

play09:12

literally joined the team at Google

play09:13

because I had an opportunity to work

play09:15

here and I saw that the community was

play09:17

strong that it had lots of vendors and

play09:19

I'm like this is a project that's going

play09:20

to succeed and I really want to get

play09:22

behind it um so that's kind of what led

play09:25

me to that I had a little bit of

play09:26

experience with observability for Scala

play09:28

because uh

play09:30

if you don't know we reinvented every

play09:32

single library in Java but in Scala

play09:34

because Scala and uh we needed to

play09:37

observe our you know thread system that

play09:39

we had designed and we had designed it

play09:41

to be as performant as possible which

play09:43

means there is no

play09:44

observability um so it was it was

play09:47

wonderful trying to figure that out um

play09:49

we ended up doing Java agent tricks and

play09:50

stuff anyway so I got into observability

play09:52

from that um within the TC uh you know I

play09:57

did uh an initial I I was responsible

play09:59

for the metrics data model specification

play10:01

protocol and I did the initial

play10:03

implementation in Java that Jack cleaned

play10:05

up for me um started the semantic

play10:07

convention group with Riley kicked off a

play10:09

bunch of processes which L Milla cleaned

play10:11

up for me

play10:13

um so I I don't know what the next thing

play10:16

I'm going to do whoever wants to clean

play10:17

up entity Sig let me know um yeah but

play10:20

that that's kind of the next thing I'm

play10:21

I'm uh F TIG and I are working on this

play10:24

entity Sig where um there's a lot of

play10:27

problems with resource detection right

play10:29

now

play10:29

um I don't know if many of you know this

play10:31

but every single SDK is not compliant

play10:33

with a

play10:34

specification by need right the

play10:36

specification actually isn't something

play10:38

you can Implement and have a good user

play10:40

experience and so we want to fix that um

play10:42

The Entity Sig is trying to figure out

play10:44

how to fix that really dive into that

play10:46

problem deeply and kind of solve it um

play10:49

I'm also excited about semantic

play10:51

inventions but you've heard about that

play10:52

from everybody so far so I I don't feel

play10:55

like we need to dive into it but I will

play10:57

make a shout out to the Weaver project

play10:58

which is a about code genning your

play11:01

instrumentation I really think that the

play11:03

future of otel right now is on tackling

play11:07

the problem of instrumentation and

play11:09

making all of the people who are

play11:11

adopting it have a good experience and

play11:15

really enjoy their life we don't want

play11:17

people to adopt open Telemetry and then

play11:19

realize there's a whole bunch of flaws

play11:21

or problems or that sort of thing and

play11:22

and and run into unsolvable problems so

play11:25

like Riley said there's a lot of issues

play11:27

with instrumentation and I really think

play11:29

semantic conventions is that needed

play11:32

component that we had to kick off and

play11:34

stabilize to get stable instrumentation

play11:37

but I also want to give a shout out to

play11:38

this community because um semantic

play11:40

conventions would not succeed without

play11:42

you we have 12 active groups in it right

play11:45

now um of which if you look at the four

play11:49

of us kind of involved um here there's

play11:52

no way we could be leading 12 efforts

play11:54

that just doesn't happen right um I

play11:56

think the GC was mentioned this before

play11:58

the reason we're able to take on 12

play12:00

individual semantic invention groups is

play12:03

because we have so many people in this

play12:05

community that are putting work into the

play12:08

community and making it better right and

play12:10

that's actually what I'm most excited

play12:12

about with open Telemetry is like the

play12:14

the energy and the vibe and everyone

play12:16

kind of getting involved and trying to

play12:18

make changes our job here is to make

play12:20

sure you're successful we barely have

play12:22

time to really do anything ourselves

play12:24

it's mostly coordinating anyway I think

play12:27

that's it for me

play12:33

hello um so GC was asked a question

play12:37

earlier that we said was dangerously

play12:39

close to a technical committee question

play12:40

so we're going to answer it um that

play12:44

question was and I'm working for my

play12:47

memory so I apologize if this is not

play12:49

precise but how does the project find a

play12:52

balance in terms of developer experience

play12:54

between having a great experience for

play12:56

each language and having the same

play12:58

experience for each language so it's

play13:01

easier for folks to learn across

play13:03

languages um what is your role in this

play13:05

balance as a technical Committee Member

play13:08

and how do you wish that other

play13:11

contributors from other sigs would help

play13:15

you in that

play13:18

balance uh I can start us off maybe

play13:20

other people can add to this but I think

play13:22

Daniel mentioned a lot of good content

play13:24

earlier so um you know we write the

play13:27

specifications in a in a generic way we

play13:30

try to avoid language that would suggest

play13:32

any sort of language specific idioms um

play13:36

and uh we I I think probably the the

play13:39

most important thing that we do is we

play13:40

bring a lot of people to the table that

play13:42

have expertise in different languages

play13:43

and can kind of call us if we're doing

play13:46

something in like a too uh like

play13:49

objectoriented manner uh or or too much

play13:52

of a functional manner we just kind of

play13:53

steer clear of that and and and kind of

play13:55

raise the language up um and then the

play13:58

other thing we do is we have this kind

play14:00

of we have this maturity life cycle of

play14:02

any sort of specification feature um

play14:05

where you know things start off is

play14:07

experimental and then they have to be uh

play14:09

implemented in a variety of languages

play14:11

before they reach stability and we

play14:13

typically require that the those those

play14:16

implementations the language

play14:17

implementations are you know across

play14:20

languages that are quite different from

play14:21

each other so you know it's not that

play14:24

interesting that net and Java both

play14:26

Implement uh you know a particular

play14:28

feature we don't learn much about any of

play14:30

the uh the kind of sharp edges we might

play14:33

encounter because those languages are so

play14:34

similar so um yeah that's what I'll say

play14:37

about

play14:39

that yeah so in addition to what Jack

play14:42

said I I can share some of the things

play14:44

I've seen in the past so first in order

play14:46

for any spec to get to stable State we

play14:50

require two or three prototypes in

play14:52

different languages and as Jack

play14:54

mentioned we decided that we're not

play14:56

going to pick similar languages so for

play14:58

example if we pick Java then we'll say

play15:00

we have to pick something not a compiled

play15:03

language and that makes sure we get

play15:06

enough feedback the second thing is for

play15:09

each individual language to uh stabilize

play15:12

their API SDK for the public interface

play15:15

we have a process they can seek help

play15:17

from the TC review so the technical

play15:19

committee will send a member there I've

play15:21

been doing review for like go and PHP

play15:25

and another language I've forgot maybe

play15:27

python uh so so when you go through that

play15:31

process you kind of see the similar

play15:32

problem like do you want the language to

play15:35

sit as idiomatic as possible or you want

play15:38

to have some consistency and because the

play15:40

TC member typically they work across

play15:42

multiple projects they very familiar

play15:44

with spec so we tend to be more pushing

play15:47

from having that consistency and and

play15:50

also people have experience working in

play15:52

the industries they understand they have

play15:53

the empathy that language should be

play15:55

different so I expect the language

play15:57

maintainers to take more position from

play16:00

hey this is what we think the best for

play16:02

the language and this is what we heard

play16:04

from our users and the TC play a kind of

play16:07

rule uh uh from the different angle so

play16:09

we're saying this is a cross language

play16:11

consistency then people will will look

play16:14

into particular issue and they will

play16:16

probably take some debate and this will

play16:18

help to have a reasonable balance and I

play16:21

will say uh as maybe Daniel mentioned

play16:24

this morning it's a spectrum you can see

play16:26

some people coming from the pure

play16:28

academic background they want Purity

play16:30

they want everything to be as uh close

play16:32

to the language idiomatic way well from

play16:35

other people who come from the back

play16:37

background of I just learned open tary

play16:39

Java I want to use open Telemetry

play16:41

JavaScript I think they should be 100%

play16:44

the same so we we probably try to cover

play16:48

uh the Spectrum as much as possible

play16:50

knowing that we won't be able to make

play16:52

100% of the user based habit so always

play16:55

say something like 80 20% is a typical

play16:58

balance problem engineering and we're no

play17:01

different in

play17:04

that so I'm going to add one last thing

play17:07

which is that I think um the

play17:09

specification development is just really

play17:12

hard in general it's a hard problem um

play17:15

if you were to ask someone an

play17:16

observability user right what they want

play17:19

in terms of performance they want zero

play17:21

memory usage they want zero CPU overhead

play17:24

right they want 100% observability of

play17:27

everything and everything collected

play17:29

right that's like your ideal that's not

play17:31

realistic so you try to go as small as

play17:33

possible the other thing is what are

play17:35

some of the most important moments of

play17:37

observability when the app is crashing

play17:40

you have to get the data out right so

play17:42

you have to design that SDK so that when

play17:45

everything's crashing and everything

play17:46

else is failing you still work and so

play17:50

the way that we try to do this across

play17:52

the different languages um if you look

play17:54

at how the tracing spec was written

play17:57

it if if you read it by the letter of

play18:00

the spec you'll see a Java interface but

play18:02

if you read it by the spirit of the spec

play18:04

right what you see is a set of methods

play18:06

and utilities and conventions that

play18:08

people should think about but really the

play18:10

the verbage is loose enough for you to

play18:12

do what you need to do in your language

play18:14

to deal with those hard scenarios

play18:16

because actually the language author is

play18:19

in the hardest spot compared to a spec

play18:22

author because of all of those crazy

play18:24

complications that they're being forced

play18:26

to deal with they need to make it look

play18:28

like goel they need to make it look like

play18:30

their language and they have to deal

play18:31

with some of the hardest situations and

play18:33

environments in software in my opinion

play18:36

so like it's it's just it's a hard

play18:38

bounce what you've seen us do when we

play18:40

stabilize a spec is generally alleviate

play18:43

friction in wording that is too

play18:45

restrictive from the initial prototypes

play18:48

and I think that's kind of the approach

play18:49

we've taken right now is we might start

play18:51

a little more restrictive and then

play18:52

loosen as we need to based on what we

play18:54

learn from different languages and we're

play18:56

trying to not if you look at the metric

play18:58

spec versus is the trace spec we started

play19:01

a bit lighter with metrics and I think

play19:02

logging is kind of similar in that vein

play19:04

like we're now starting with looser

play19:07

specs um because we've learned a better

play19:10

starting

play19:13

point I have one last remark to add uh

play19:16

so most of the users would be happy if

play19:19

they don't need to write any open

play19:21

Telemetry code they just enable it and

play19:22

it works and in this sense I think uh

play19:26

what my focus is is that the dat they

play19:29

get does not depend on the language as

play19:30

much as possible uh so they can come

play19:33

from net uh world and they can start

play19:37

monitoring and debugging their Java

play19:39

applications and understand what's going

play19:42

on there without knowing much about Java

play19:44

and this is how they can learn the

play19:46

Technologies behind that they use so

play19:48

they can switch One messaging library to

play19:50

another and still be successful uh in

play19:53

using this Library

play19:59

so we're about halfway through the panel

play20:00

and um we've got one more pocket

play20:03

question and then we're going to open it

play20:04

up to questions from all of you um so

play20:09

obviously the Project's been growing

play20:10

really fast over the last several years

play20:13

and we folks who were around when the TC

play20:16

started will remember that the initial

play20:18

model was we'll have divide all the sigs

play20:21

between the TC members and make sure

play20:23

somebody's attending every Sig well each

play20:25

of you could attend 10 sigs spend 10

play20:27

hours of your week going to open

play20:29

Telemetry meetings and still not attend

play20:32

all the sigs at this point so how is the

play20:36

TC planning to empower the sigs and

play20:39

individuals within the sigs to support

play20:42

and extend the work of harmonizing the

play20:46

across the languages of open

play20:52

Telemetry yeah so I I feel like Josh

play20:54

sish and I briefly covered that during

play20:56

the self- introduction so one thing you

play20:58

you will see TC uh doing more and that's

play21:02

something we've been doing is will help

play21:04

to start something will help to

play21:06

facilitate something uh but we're not

play21:09

going to like spend all the time trying

play21:12

to move every single project we try to

play21:15

grow the community members by

play21:17

identifying the project leaders and what

play21:20

we really want is number one the TC

play21:21

should set example for people how to

play21:24

work efficiently with the community and

play21:26

for people who are not very familiar

play21:27

with open class country but they have

play21:29

domain expertise we're happy to have

play21:32

them like jump started and then like

play21:35

we're very willing to delegate and give

play21:37

people certain support and power so they

play21:40

can actually help and drive things and

play21:42

the TC is more emphasizing or focusing

play21:46

on making sure that particular work

play21:48

stream is aligned with the overall open

play21:51

Telemetry Direction instead of like two

play21:53

different Sig trying to invent competing

play21:56

thing or some Sig trying to prioritize

play21:58

their uh work without understanding the

play22:02

overall open time Mission so things can

play22:04

still be connected and make sense so in

play22:08

that shell uh the TC is more willing to

play22:11

help people to be more successful

play22:13

instead of us driving each individual TC

play22:15

member's

play22:20

agenda uh so I was like as there's a

play22:24

question earlier to the GC which is like

play22:26

what does the GC do and I was just

play22:28

thinking myself what does the TC do and

play22:30

so it's it's good to reflect on that so

play22:32

it's written down in the community

play22:34

repository some somewhere what actual

play22:36

roles and responsibilities are but um

play22:39

you know in my own words it's there's

play22:41

the specification repository we're

play22:42

maintainers of that we have merge rights

play22:45

to that so that's like a concrete thing

play22:47

that we do um another thing that we do

play22:50

is we review donation proposals we do

play22:52

all the due diligence on that so if

play22:54

anybody wants to add to the scope of the

play22:56

open Telemetry project the GC

play22:59

the the possible additions to the scope

play23:01

and then the TC does due diligence

play23:02

that's another concrete thing um we also

play23:07

uh what was I gonna say

play23:11

uh we vote when there's conflicts so

play23:14

okay so when when when things go wrong

play23:17

and a Sig can't come to uh an agreement

play23:19

on a particular problem on its own uh

play23:22

the TC there's this escalation process

play23:24

where you can ask the TC to intervene

play23:26

and we don't like to do that like we we

play23:29

really only want to do that in in a

play23:31

worst case scenario um when all other

play23:33

options have been exhausted um and so uh

play23:37

you know if you actually one thing that

play23:40

that GC mentioned earlier is like how do

play23:41

we add members to the TC and when I

play23:43

think about the conrete responsibilities

play23:45

I I think you know do we need to add to

play23:47

the TC or do we need to properly Empower

play23:50

people to be effective without

play23:53

necessarily having that TC like title

play23:56

and uh we just added this new role in

play23:59

the community it's called Uh a spec

play24:01

sponsor and I'm hoping that it start

play24:03

starts to solve some of these issues so

play24:05

a spec sponsor you know we we have these

play24:08

projects that the GC talked about

play24:10

projects and sigs spin up and they

play24:12

require people to lead them they require

play24:15

GC Le aison and they require like a TC

play24:17

sponsor and so we're going to open that

play24:19

up we're going to say it's not just the

play24:21

TC that can sponsor it's also these

play24:23

other spec sponsors spec sponsors is

play24:25

this expanded group of like trusted

play24:27

collaborators they've been around the

play24:29

project for a long time they speak the

play24:31

language they know the vocabulary and

play24:33

they've done a lot of significant things

play24:34

and we want to we want to you know

play24:37

Empower them to continue to do those

play24:38

great things and and and take on

play24:41

additional scope and so you know spec

play24:43

sponsors can sponsor projects they can

play24:46

uh they have a a very meaningful uh uh

play24:50

approver role in the specification they

play24:52

they got that green check boox which you

play24:54

know you get two of those and you can

play24:56

merge as spec PR so um and spec PRS have

play24:59

the the ability to impact 11 different

play25:02

language imple implementation so there's

play25:04

a lot of trust that goes into that so um

play25:07

I'm hoping that you know and I don't I

play25:11

don't think we've talked about this

play25:12

formally but uh I'm hoping we more isn't

play25:15

necessarily the answer but like you know

play25:17

delegation is is is the answer

play25:21

so just add to what Jack mentioned I

play25:24

think there are two other concrete

play25:25

things that TC has been doing one is as

play25:28

open Telemetry is trying to get cncf

play25:31

graduation State uh we take security

play25:34

seriously and for some security

play25:37

vulnerabilities reported uh the TC will

play25:41

look into them secretly with the

play25:43

reporter and to understand the Impact

play25:46

scope and coordinate uh across multiple

play25:49

repositories to make proper fix

play25:51

sometimes it could mean we will secretly

play25:53

provide the fix and work with the major

play25:55

vendors and users to apply the patch for

play25:58

making the vulnerability public uh

play26:01

publicly available the second thing I

play26:03

already mentioned is for individual

play26:05

language maintainers when they finish

play26:07

the implementation they can always look

play26:10

for the TC to help to review their

play26:12

implementation and we'll send someone

play26:14

who's familiar with the language and

play26:15

also more familiar with the spec to look

play26:18

across the board making sure things got

play26:20

well

play26:23

aligned I'll also say for The Language

play26:26

Reviews um you know I used Earl Lang

play26:29

once in college I just huffed I didn't

play26:31

really you know inhale um but anyway uh

play26:36

I got to review erlang and it was like

play26:38

enlightening like this is actually

play26:39

something if you're interested in open

play26:41

Telemetry you want to learn a little bit

play26:43

right um go review the STK

play26:46

implementations across languages because

play26:47

there's some interesting things you find

play26:49

out and there's some really cool things

play26:51

that like people were doing out of the

play26:53

box I think erlang was the one that

play26:55

taught me that we should have a default

play26:57

uu ID in every SDK that we provide out

play27:00

of the box that's a thing our Lang does

play27:03

um and that's where we started trying to

play27:04

push service instance ID which again

play27:06

actually jassi cleaned up for me um

play27:08

after I kicked it off in in tradition of

play27:11

my hotel contributions

play27:18

anyway okay so we've got time for a

play27:20

couple of audience questions um anybody

play27:23

five minutes okay we've got five

play27:25

minutes anybody

play27:28

yes

play27:30

jassi anybody else have a question

play27:32

before jassi

play27:34

since go for

play27:37

it perhaps for Josh um I see the

play27:41

entities and um resource S as the first

play27:44

big refactoring that we have in a

play27:45

project um once that is done what is the

play27:48

next one

play27:59

I'm sure other people will uh jump in

play28:00

but um so I'm G

play28:03

to we only have five minutes I'll try to

play28:05

be brief um I think the foundation of

play28:08

open Telemetry is context actually the

play28:10

foundation is causality what caused

play28:12

something that's what you're trying to

play28:13

figure out that's why we pass Trace IDs

play28:16

to actually link causality context is

play28:19

core context is King context is how you

play28:21

start an SDK it's the most important

play28:23

initial implementation you look for and

play28:26

that's when you do a code review of an

play28:27

SDK that's the first thing you actually

play28:29

follow to make sure it works right one

play28:32

thing that we have failed to do because

play28:34

we specified things incrementally is

play28:36

blend all the signals together and

play28:38

really leverage the fact that we have

play28:40

context and do really cool things with

play28:42

context I think um the uh baggage is one

play28:46

of I think the biggest travesties you

play28:48

can't interact with it out of the box by

play28:50

default without manually changing

play28:51

instrumentation right we tried to push a

play28:54

little bit on that in the metric spec

play28:55

and we got some push back I think that

play28:57

you know the next missing or or like

play29:00

refactoring that needs to happen is

play29:03

basically around context propagation and

play29:06

leaning more into the fact that we now

play29:08

have a foundation for otel and the kind

play29:11

of observability and causal

play29:12

relationships we can derive from

play29:15

that anyone

play29:21

else do you have I have oh

play29:24

sorry yeah uh so uh I think to add to

play29:29

what Josh just said uh we do a great job

play29:34

with Auto instrumentations and we can do

play29:36

a better job uh but what is hard is for

play29:40

users to enrich this Telemetry or to

play29:43

change it in different ways to fine-tune

play29:46

it and is uh with the new convenience

play29:51

development experience uh project I hope

play29:54

we can start tackling this problems like

play29:56

how users can customize this Telemetry

play29:59

in a uniform way and how they can add

play30:03

their application context uh or data

play30:06

into the Telemetry that's already

play30:09

collected for them by the

play30:13

libraries I have to talk about span

play30:15

events so uh we have like we have a

play30:19

language problem so we have you know I

play30:22

think Josh talked about incremental

play30:23

development of the project would we

play30:25

still have a span events API if we were

play30:27

starting from scratch today I don't I

play30:29

don't think so I think we would have an

play30:31

events API um and you know you would

play30:33

correlate those logs to those to to the

play30:36

spans um and so uh a lot of people are

play30:39

thinking about this thing we just got to

play30:41

get the ball over the finish line so

play30:44

Ted we're looking at

play30:48

you you don't need to be on the TC to

play30:51

get stuff done we talked about how it

play30:52

actually hurts your productivity

play30:58

I I I feel as we're getting more success

play31:01

in open tet with more instrumentation

play31:03

libraries we'll start to see more and

play31:05

more overly observed uh like services or

play31:08

applications and one important thing

play31:11

when you look at like how our body works

play31:13

we don't observe everything like if I

play31:15

look at maybe then I have my focus on

play31:18

him everything else seem blurry but I

play31:21

know what's happening like generally so

play31:23

I I feel like open time will eventually

play31:25

be in that state and the the center of

play31:28

the gravity is open tetri collector so

play31:30

the key thing is you're able to process

play31:33

the data close to the source and you

play31:36

only send maybe highly aggregated or the

play31:39

summary data to the next hub then you

play31:43

have efficiency so I feel like the more

play31:45

investment we're going to see from from

play31:48

different layers of processing instead

play31:50

of just collect all the data and send

play31:52

all of them to the back end and then

play31:54

make a central control there especially

play31:57

when you think that's this word is

play31:59

distributed by Nature like why would you

play32:01

decide to stop a deployment in a local

play32:03

data center by sending all the Telemetry

play32:05

to a central place and then have the

play32:08

central place tiing the local data

play32:09

center to stop deployment you should be

play32:11

able to decide that within the local

play32:13

data center even if you don't have

play32:15

internet connectivity to the global

play32:18

instance so so this is how I I feel like

play32:21

open Telemetry will eventually evolve

play32:23

the apis SDK is more like the foundation

play32:26

and eventually we'll see more value add

play32:28

it on the collector and injection

play32:34

side we're almost at the end so I'm

play32:37

going to ask one more question where can

play32:40

contributors go to ask you more

play32:42

questions to learn about what the TC is

play32:44

working

play32:49

on so all the TC members are pretty

play32:53

active uh you can either see them in

play32:55

some open Telemetry meetings uh if they

play32:57

drve by particular s or I I I believe

play33:01

like all of them are monitoring like

play33:03

slack actively so if you want to reach

play33:06

out to any of them first you can go to

play33:08

the open tary Community page so you see

play33:11

a list of all the TC members then you

play33:13

can reach out to them on slack worst

play33:16

case if you haven't heard from any TC

play33:18

member you can just create a cve and

play33:20

they'll get alerted on day one

play33:28

thank you everyone that's our panel for

play33:30

the day

play33:33

[Applause]

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Open TelemetryTechnical CommitteeObservabilityInstrumentationSDKJavaC++Semantic ConventionsMetricsTracingCommunity