►
From YouTube: 2022-10-11 meeting
Description
cncf-opentelemetry meeting-2's Personal Meeting Room
B
B
It
is,
it
is
firmly
trending
towards
fall.
I
think
the
high
today
is
supposed
to
be
like
65
66,
which
is
still
pretty
nice,
but
like
it's
been
kind
of
Colder
on
average
recently
and
like
all
next
week,
it's
gonna
be
like
45,
50
and
rainy.
So
it's
it's
time.
That's
okay,
though
yeah.
How
about
you?
What's
the
weather
like
up
there,
you've.
B
Yeah,
that
kind
of
that
kind
of
sounds
like
what
it's
been
doing
for
us.
It
had
to
be
like
flipping
the
AC
and
the
heat
on
and
off
and
trying
to
balance
it
and
all
that
good
stuff,
but
yeah
I
guess
it's
the
time
of
year
normal,
but
yeah
life
is
pretty.
C
B
B
I
mean
a
little
bit
of
complaint.
I
think
means
you're,
actually
kind
of
critically
evaluating
things
and
thinking
about
them.
Maybe
I,
don't
know,
that's,
probably
not
a
good
assertion.
Isn't
it
great
that
all
of
these
random
ramblings
for
me
are
just
recorded
and
posted
on
the
internet
for
everyone
to
listen
to.
B
A
We
were,
we
were
in
the
Deep
Thoughts
session
of
the
Ruby
Sig
meeting,
so
wondering
if
we
should
transition
out
of
that
into
specsig
or
if
you
had
any
thrilling.
B
No
I
have
no
trailing
Deep
Thoughts,
the
the
street
cleaning
machine
just
went
by
and
was
loud
and
noisy,
and
so
all
of
my
deep
thoughts
are
gone.
So,
let's,
let's
do
it
all.
A
Right,
we
will
compliment
Robert's,
sweater
and
move
on.
Let's
say.
D
Sweater
is
something
I
hijacked
from
my
girlfriend.
She
picks
it
up
at
a
Value
Village,
some
many
years
back
and
it's
large
even
on
me,
so
it
feels
like
I'm
wearing
an
old
carpet.
It's
quite
comfortable.
A
All
right,
the
specsig
was
fairly
short,
but
you
know
there's
always
some
bike
sheds
that
extend
things
much
further
than
they
need
to
be
extended,
but
there
was
an
issue
where
somebody
was
requesting
some
metadata
in
otopm
I
think
they
wanted
a
unique
request:
slash
packet,
ID,
retry
attempt
and
retry
delay,
and
this
was
in
order
to
try
to
get
some
information
about
requests
coming
from
clients
kind
of
for
some
debugging
purposes,
more
than
anything
tigran
jumped
in
and
had
a
lot
of
thoughts
about
this
about
the
kind
of
request,
slash
packet
ID.
A
A
It
would
be
up
to
discussing
that
again,
retry
delay.
He
felt
that
you
could
just
kind
of
do
this
subtraction
on
the
server
side
from
the
last
request,
or
the
last
kind
of
time
stamp.
A
Guess,
final
ingestion
and
delay
of
how
to
I
wasn't
sure
how
you
were
going
to
maintain
the
cumulative
value
in
the
face
of
batching
splitting
and
other
transformations
retry
a
tent
I
guess
he
was
suggesting
that
that
could
be
a
metric
of
of
the
client
at
any
rate,
yeah
I
guess
there
was
at
least
this
request
coming
from
I
believe
they
are
a
vendor
of
some
kind
in
order
to
get
more
metadata,
but
it
seems
like
a
lot
of
this
stuff
could
be
computed
on
the
server.
A
Yeah
moving
on
I
guess,
I
think
we
talked
about
this
a
little
bit
last
time.
There
was
a
little
bit
of
bike
shedding
going
on
about
otlp,
Json
and
the
casing,
and
there
were.
A
Initially,
I
think
it
was
worded
that
it
could
be
lower
camel
case
or
just
kind
of
like
the
message.
Name,
casing
and
I.
Think
that's
because
protobuf
supports
both
of
those
translations.
A
A
There
were
some
advantages
to
restricting
to
lower
camel
case,
and
maybe
this
is
what
you
actually
get
for
free
from
protobuf,
the
other
things
you
might
have
to
do
a
little
bit
of
work
to
get
them,
but-
and
it
seemed
like
the
the
multiple
casings
were
more
of
like
a
at
least
you
seen
from
Yuri's
comments.
They
were
more
of
like
a
backwards
compatibility
thing
that
protobuf
had
to
maintain
and
I
think
the
prevailing
opinion
was
like
that.
A
B
That's
great
I'm
I'm
glad
we
did
decided
on
the
color
for
this
particular
bike,
shed
I,
I,
honestly
kind
of
thought
it
would
go
on
for
a
while.
But
that's
cool
made
a
decision.
A
Yeah
yeah,
so
hopefully,
hopefully,
otlp
Json,
being
stable,
is
just
around
the
corner.
A
A
The
oclp
exporters
already
had
a
compression
environment
variable
and
I
guess.
The
Java
SDK
had
some
environment
variables,
so
I
think
they
were
trying
to
spec
this
for
uniformity
across
different
languages.
A
Elements
of
the
bike
shed
where
that
Jaeger
compression
was
defaulting
to
none,
whereas
hotel
or
Zipkin
was
defaulting
to
gzip,
and
then
otel
defaults
to
it's
up
to
the
language
to
decide
what
the
default
is
and
I
think
some
people
were
critiquing
that
why
aren't
they
uniform
and
I
think
to
make
matters
worse?
The
Jaeger
exporter
defaults
itself
to
gzip,
so
I
think
hotel
is
actually
toggling
that
off
to
make
it
none.
A
So
another
thing
that
was
brought
up
is
that
is
that
Jaeger
Jaeger
itself
is
deprecating
support
for
the
Jaeger
protocol
and
encouraging
people
to
use
otlp.
It
has
native
otlp
support,
so
it
is
deprecated,
it's
it's
tracing
clients
and
they
are
encouraging.
People
to
use
otop
tracing
clients
and
Jaeger
is
seen
as
transitioning
off
of
Jaeger
and
onto
odlp
as
its
preferred
protocol
in
general.
A
So
there's
another
issue
somewhere
around
to
actually
just
deprecate
and
get
rid
of
Jaeger
exporter,
so
we
don't
have
to
keep
maintaining
them.
B
Maybe
that's
that
would
be
pretty.
That
would
be
an
interesting
decision.
I
mean
I,
think
the
bigger
ecosystem,
yeah
I'd,
seen
the
deprecations
in
the
client
libraries
for
unrelated
reasons,
but
getting
rid
of
the
Gator
exporters
feels
a
little
early.
I
mean
this
was
the
deprecation
and
stuffing
stuff
in
the
Jaeger
ecosystem
was
pretty
recent.
A
It's
probably
a
little
bit
early
but
I
think
I
mean
the
deprecation
would
probably
go
out
soonish,
but
the
actual
removal
will
probably
lag
by,
like
you
know
a
year
or
something
so
I
assume
there
will
be
some
level
of
of
support.
But
I
would
imagine
that,
given
the
current
state
of
things,
nothing
should
change.
So
if
you're,
if
you
have
a
Jaeger
exporter,
it
should
kind
of
work.
For
now
and
at
some
point
it'll
probably
be
a
future
decision
to
just
delete
it.
A
A
A
But
anyways
I
think
the
the
discussions
on.
A
On
those
environment,
variables
are
to
be
continued,
I
think
I
think
there's
a
definitely
a
sense
that
we
are
starting
to
get
overwhelmed
with
environment
variables
and
different
configuration
options.
A
Having
worked
previously
at
vendors
with
mature
kind
of
tracing,
sdks
I
feel,
like
75
of
the
code,
is
actually
configuration.
Options
and
switches
to
somehow
prevent
sending
a
pii,
but
such
is
is
the
way
of
some
of
the
stuff
over
time.
A
B
C
Looking
trip
builds
were
failing
because
of
a
recent
release
of
bundler,
something
changed
that
impacted
installing
light
three
on
Windows
review
on
three
and
bundler
two,
three,
twenty
three
I
don't
know
exactly
what
the
changes
were,
but
I
figured
I
would
freeze
bundler
at
to
at
the
working
version
and
then
open
on
the
issue,
or
you
know,
I
create
some
sort
of
a
way
to
like
reproduce
the
issue
for
folks
to
look
into
on
bundler
side.
C
C
So
I'd
like
to
see
if
y'all
can
review
that,
so
that
I
can
unblock
releasing
all.
B
C
A
So
you
are
using
you're
kind
of
forcing
the
previous
version
of
bundler
that
was
working
rather
than
the
updated
one
which
has
some
weirdness
TBD.
C
C
Thank
you.
I
got
some
chores
in
there
also
to
help.
So
you
see
that
one
that's
like
shortening
to
build
names,
so
I
was
having
a
hard
time
kind
of
like
reading
kind
of
glancing
through
the
list.
So
you
could
you
can
click
the
actions
tab,
so
you
can
see
what
it
would
look
like
or
the
checks
tab.
My
mistake.
C
In
in
the
middle
pane
there
the
checks
tab.
This
is
what
I've
renamed
them
to,
so
that
the
jobs
are
I
can
parse
them
a
little
easier
with
my
eyes.
There
I
hope.
That's
okay
for
y'all.
B
C
C
B
I
didn't
have
anything
super
specific
for
the
agenda,
but
I
had
mentioned
in
chat
that
there's
preliminary
audits
for
113
and
114
spec
compliance
and
the
tldr
is
doesn't
actually
look
all
that
bad.
Some
minor
otlp
changes
here
and
there,
as
we
expected,
we
probably
should
cut
a
new
version
of
the
Samantha
conventions.
Gem,
so
I
think
we're
actually
pretty
far
behind
on
that
now
but
like
by
and
large
it
actually
wasn't
too
bad.
B
Most
of
it
was
metrics
related
and
a
bunch
of
even
that
the
stuff
that
was
metrics
related
but
wasn't
implemented
yet
anyway.
So
you
know
to
Define
that
primarily,
what
needs
to
be
done
is
not
like
I
did
a
preliminary
passthrough,
but
I
didn't
really
spend
a
ton
of
time
investigating
things
so,
like
anything,
that
still
has
that
isn't
like
explicitly
marked
off
is
done
is
something
that,
like
I,
really
haven't
fully
considered.
B
So
you
know
people
get
bored
want
something
to
do.
That's
something
to
do.
It's
not
really
exciting
or
glamorous,
but
it
is
sort
of
mature
I,
guess,
I
copied
and
pasted
a
bunch
of
the
change
logs
into
that.
We
had
them
as
reference
and
I
guess
that
maybe
makes
it
look
a
little
more
imposing
than
it
really
is
cool
if
nobody
else
gets
to
it.
I'll
try
to
keep
up
on
some
of
it.
A
Thank
you
for
for
going
through
and
difficult
versions
and
seeing
what
what
needs
to
be
done.
It's
it's
not
in
glamorous,
but
crucial
work.
B
Yeah
I
think
it
does
I
think
it
makes
total
sense,
there's
one
or
two
items
on
there
that
are
actually
already
represented
by
issues
and
they're
linked.
That
was
just
part
of
the
the
work
I
just
haven't
gotten
to
was,
you
know,
finishing
analyzing.
What
needs
to
be
done
that
actually
carb
offices
haven't
gotten
there
yet
so
someone
wants
to
go
for
it.
Otherwise,
I'll
try
to
get
to
it
later,
but
I
think
that
makes
a
lot
of
sense
because
otherwise
it's
kind
of
art
departs
what
we
gotta
do.
B
D
Changing
speeds:
a
little
bit
just
thought:
I'd
ask
the
room,
we're
looking
at
potentially
rolling
out
my
SQL
obfuscation
at
the
instrumentation
level.
If
anyone
use
that
feature
yet
I
did
some
loose
profiling,
benchmarking
of
it,
it
seems
okay,
but
my
testing
was
not
exhaustive.
My
queries
that
I
was
obfuscating
were
rather
trivial
and
simple.
An
example
of
reality
usually
results
with
much
Wilder
statements.
C
So,
for
us,
like
I,
would
say
that
the
the
part
the
parsing
is
expensive,
but
compared
to
the
overall
request.
It's
like
something
that
we're
willing
to
tolerate.
Okay,
we
had
con
we're
still
in
the
mindset
that
we
want
to
offload
this
and
put
this
into
the
collector,
but
we
haven't
done.
We
haven't
put
any
effort
into
thinking
about
that
at
all,
so
any
sort
of
processing
that
we
can
get
out
of
the
SDK.
C
We
want
to
try
to
as
much
as
we
can
the
constraint
that
you
know
we
put
on
it
the
instrumentation
for
any
SQL
statement.
That's
over
2,
000
characters.
It
doesn't
even
try
right
to
obfuscate
it
and
oftentimes
we're
finding
that
those
are
the
ones
that
are
most
interesting
to
us
to
see
materialized
in
some
way,
so
it's
kind
of
like.
Oh,
it's
got
this
really
so
Curry.
Oh,
it's
too
long
for
us
to
to
parse
that
we
haven't
done
any
sort
of
like
investigation
into.
C
Tweaking
that
number
or
making
that
that
value
configurable
in
any
way
it
was
kind
of
like
an
arbitrary
value
that
we
selected,
or
that
was
in
the
instrumentation
to
begin
with,
and
so
for
more
context.
We
use
a
trilogy
instrumentation,
which
is
effectively
a
one-to-one,
really
implementation
of
the
MySQL
2
drum
okay.
So.
B
I
wonder
we
could
make
the
value
tweakable
for
like
how
long
the
string
is.
I.
Also,
really
wonder
what
the
performance
implication
would
be
for
longer
and
longer.
Strings
like
I
would
be
very
curious
to
know
how
bad
it
actually
gets,
because
that
value
wasn't.
If
I
remember
correctly,
that
wasn't
something
that
was
really
scientifically
decided,
I'm
almost
positive.
We
stole
that
directly
from
New
Relic,
but
I'm,
not
sure,
absolutely
true.
Absolutely
so,
like
I
mean,
maybe
we
should
look
into
that
yeah
well,
I
remember.
B
We
also
asked
them
if
they
would
donate
it
officially
to
the
project
and
then
just
never
come
back,
but
maybe
maybe
we
should
actually
Benchmark
like
what
the
real
cost
would
be.
I
know
it's
Ruby,
the
memory
isn't
free.
Nothing
is
fast.
Well,
nothing
is
very
fast
but
like
regular
expression,
supporting
Ruby
is
about
as
optimized
as
it
can
be.
B
I
think
I
mean
it's
not
a
horrible
horrible
implementation
code
under
the
hood
and
like
I,
don't
know
I
just
I
find
like
I
wonder
if
it
would
actually
be
as
bad
as
we
think
I
do
agree.
It
would
be
nice
if
the
collector
could
do
this.
That
would
be
kind
of
cool,
but
you
know
that's
a
different
thing
altogether.
I
guess
do
we
think
that,
like
longer
strings
would
be
horrific,
anecdotally.
D
I
think
like
when
I
was
doing
my
very
simple
benchmarking,
like
the
CPU
usage
of
parsing,
like
in
isolation
like
a
very
simple
script,
where
it's
like
you
instrument,
just
the
query:
there's
no
like
rails,
no
Rack
or
anything
else
like
that.
It
was
like
over
the
course
of
like
10
000
DB
queries.
It
was
like
a
1.5
percent
increase
in,
like
of
or
on
an
increase
yeah
an
increase
like
because,
like
or
1.5
percent
of
the
total
kind
of
CPU
usage
was
in
the
regular
expression.
C
C
Problematic,
and
were
you
dynamically
like
generating
SQL
like
you,
would
in
production,
so
to
speak?
No.
D
I
guess
it's
like
it's
almost
like
a
select
star
where
ID
is
equal
to
it
was
pretty
simple.
D
C
Because
yeah,
because
you
wanna
there's
a
bunch
of
them
that
you
want
to
look
at
too,
like
broken
swords
updates
with
the
many
fields.
D
Yeah,
like
I,
think
for
my
like
sample
snippet,
without
obfuscation,
just
like
including
a
database
statement,
not
omitting
it.
The
total
allocated
for
my
like
script
was
like
5.74
megabytes
when
I
turned
on
obfuscation,
it
went
to
7.76
so
like
a
two
Mega
increase
on
again.
This
is
like
a
script.
That's
like
locating
a
bunch
of
junk,
so
it
was
about
yeah
or
two
megabytes
and
I.
Think
for
my
script,
I
was
running
query
like
10
000
times
or
something
like
that.
That's
all
long
string.
C
These
are
these
are
hard
to
tell
because
it's
like,
even
when
you're
doing
these
things
in
in
prod
right.
It's
like
a
request
is
coming
in,
say
you.
You
got
a
couple
hundred
SQL
queries
in
there
and
you're
reprocessing
the
same
ones
multiple
times.
If
somebody's
made
a
mistake
right
and
it
keeps
hitting
it
every
time
and
then
the
request
is
done
and
then
you
go
through
your
GC
cycle
and
it's
kind
of
like
yeah.
It's
not
going
to
be
the
same
as
you
running
something
10
000
times
on
a
single
right.
D
A
I
think
ultimately
like
this.
As
far
as
the
right,
the
regex
approach
goes.
This
is
probably
as
good
as
it's
going
to
get
I
think
in
order
to
really
do
this
well,
you
would
want
to
be
able
to
like
actually
parse
a
a
my
SQL
statement
into
like
an
AST
of
some
kind
and
then
go
through
and
blank
out.
A
All
of
the
the
right
hand,
side
things
in
all
of
the
operations
and
I
think
that's
probably
actually
like
might
be
somewhat
possible
to
you
know,
get
an
effort
to
do
that
in
The,
Collector
I,
don't
know
that
I
think
it
would
be
a
fairly
big.
A
B
So
I
mean
at
the
end
of
the
day
all
of
these
database
client
libraries
do
well.
They
may
not
parse
it
into
an
ASD
I
guess:
that's
they
may
send
the
query.
I
don't
know
I
guess
maybe
I
shouldn't
make
that
statement.
I
should
walk
it
back
before
I
say
it
it's
nice
to
do
it
in
the
collector
and
I
think
parsing
it
as
a
better
approach,
especially
because
golang's
regex
support
is
in
my
opinion
week.
B
Re2
is
just
not
as
powerful
as
we'd
like
it
to
be,
even
though
it
is
fast,
so
there's
a
benefit.
On
the
other
hand,
though,
our
the
client
libraries
are
used
by
people
who
may
not
actually
use
the
collector
at
all.
You
know
if
they
want
to
send
directly
to
a
vendor
that
accepts
a
TLP
like
that
supported
use
case
and
I
mean
I
would
I
wish.
We
could
do
it
in
both
places,
but
it
is
a
lot
of
effort.
B
So
I
guess
I,
don't
have
anything
useful
to
add
there
other
than
not
everyone's
always
going
to
use
the
collector
100
of
the
time,
but
I
don't
I,
don't
know.
Maybe
that's
not
a
huge
percentage
of
people.
I,
don't
know
how
many
people
send
directly
to
their
vendor
back
ends
without
maybe
buffering
and
aggregating
in
The,
Collector,
first
or
something
I
I,
don't
know.
A
I
guess
one
other
option,
so
this
is
the
MySQL
instrumentation
directly
with
active
record.
There's.
Usually
the
query
is
separated
it's
like
a
parameterized
query,
so
you
can
usually
get
the
query.
Without
the
you
know,
the
values
Clause
more
or
less
and.
A
C
Case
we
don't
have
access
to
the
templates
that
you
can
guarantee
that
you're
gonna
get
the
templatized
query,
because
some
people
write
fine
by
SQL
themselves
or
whatever
right
and
by
the
time
the
active
record
notification
receives
it
or
the
driver
receives
it.
The
trees
have
already
been
parsed
and
the
SQL
statement
is
is
in
its
full
form.
C
So
unless
we
injected
something
closer
to
Arrow,
where
we're
getting
the
AST,
like
you
said,
and
we
can
reconstruct
the
query
or
whatever
before
the
parameters
are
substituted.
When
you
know,
there's
no
easy
way
to
do
that
right
now,
I'll
do
support
notifications
or
through
basketball
drivers.
Right
now
at
least.
A
A
This
thing
is
just
available
in
in
the
notifications
payload
and
might
have
required
some
some
fancy
and
invasive
Ruby
to
to
get
it.
You
know
probably,
then.
B
B
Maybe
we
don't
necessarily
need
to
re-implement
this
and
I,
don't
think
the
postgres
one
does,
but
maybe
I'd
have
to
double
check,
but
you
know
maybe
there's
a
way
to
ask
the
driver
to
parse
the
query
for
us
and
then
maybe
that
makes
our
job
a
little
bit
easier,
and
since
these
are
typically
I
mean,
like
you
know,
we
don't
want
to
maybe
build
a
native
extension
ourselves
for
the
library,
but
the
MySQL
and
postgres
drivers
usually
are
you
know,
maybe
that
will
be
performant
as
well.
I.
A
B
A
I
feel
like
if
we
could
find
like
a
sane
implementation-
oh
of
parsing,
a
MySQL
Query
into
an
AST
somewhere,
somehow
that
it
would
be
easy
enough
to
to
Bootleg
it,
but
I
feel
like
the
the
first
implementation
is
always
the
most
difficult
and
finding
one
that
you
could
kind
of
trust.
To
kind
of
draw.
Inspiration
from
my
might
be
a
bit
of
a
challenge,
but
I
don't
know
that
anybody
has
spent
enough
time.
Looking
into
this.
B
D
Forth
of
like
whether
it
should
be
done
in
the
collector
or
not
I,
don't
know
and
still
I'm
just
kind
of
deviating
a
little
bit.
But
it's
like
I,
don't
know
what
makes
more
sense.
I
guess
like
you
do
want
to
shift
the
cost
off
of
your
application,
but
at
the
same
time,
if
someone
doesn't
need
or
want
obfuscation,
it
becomes
I,
don't
know
I'm
rambling,
because
it's
just
a
mixed
thought.
I'm
gonna,
shut
up.
C
D
C
It's
it's
a
it's
a
challenge
so,
from
the
Security's
perspective,
anything
that
leaves
that
the
application,
but
there's
a
potential
for
an
attack
vector.
So
if
you
say
you're
running
a
cube-
and
you
know
this
is
running
in
a
deployment
and
you're
going
across
the
network
to
some
other
pod.
Now
the
SQL,
like
you
got
to
be
careful
about
where
that
SQL
is
going.
C
If
you
run
it
in
a
Daemon
set
or
in
a
side
car,
it's
less
of
a
problem,
but
once
it
leaves
that
pod
once
it
leaves
that
host
you
know,
you're
increasing
the
chance
of
an
attack,
Vector,
I
I,
guess
that's
one
way
that
you
can
look
at
that
essay
like
it
really
impacts
you,
depending
on
what
your
deployment
configuration
is
like,
which
is
why
a
lot
of
people
are
like
it
shouldn't,
even
leave
the
SDK
whatsoever
with
any
anything
that
can
be
stolen.
C
So
I
don't
know
it's
it's
not
an
easy
question
to
answer.
Man.
D
Yeah,
like
in
the
past,
I've
wanted
to
and
I
haven't
done
it,
but
I
wanted
to
set
our
default
to
just
be
omit
like
just
drop
it
by
default
and
then,
if
someone
wants
to
admit
it
like
because
there
are,
we
do
have
services
at
Shopify
that
don't
like
contain
an
API
and
they're
like
yeah
like.
Let
me
see
it,
you
know
what
I
mean
it
might
be:
an
internal
app,
that's
used
for
whatever
it's
like
and
we
do
have
special
rules.
D
B
And
we've
been
thinking
about
it
for
a
little
while
now
I
agree
with
that.
I
mean
I,
think
in
our
role
as
SDK
maintainers,
basically
like
we're,
never
going
to
be
able
to
just
pick
one
we're
probably
going
to
have
to
support
obfuscating
in
the
client
and
then
also
maybe
make
recommendations
and
sale.
If
you
want
it
to
be
performant,
do
it
in
the
collector
instead
or
something
like
we
might
have
to
do
things
like
that.
D
Yeah
I
guess
for
us
we're
gonna
find
out
how
what
the
performance
impact
really
is
soon
because,
like
I
think
this
week,
we'll
start
rolling
it
out.
The
way
we
roll
it
out
is
like
just
like
we'll
do
a
gem
bump
on
our
internal
Gem
and
then
the
like,
you
could
be
Bruce
will
attack
those
dependent,
mod
updates
right
away
and
then
I'll
put
a
little
note
in
the
release.
Notes
that
says
like
hey,
if
everything's
on
fire,
let
us
know
and
revert,
but
hopefully
nobody's
CPU,
Dash
spikes
or
something
like
that.
B
D
The
thing
that
bags
at
me
is
like
being
comfortable
with
like
there's
that
line
where,
like
most
applications,
get
slow,
slowly
and
I
never
want
to
be
a
part
of
it.
I
feel
like
I'm
supposed
to
be
helping
push
the
needle
in
the
other
direction.
So
every
time
we
add
something
like
this,
it's
like!
Oh
it's
Ruby.
It's
not
that
fast.
To
begin
with,
no
one
will
notice
and
it's
like,
but
I'll
know
and
Mr
bairu
will.
B
I
suppose
that's
a
fair
point.
Yeah
I
was
getting
ready
to
say
something
like
you
know.
If
we
wanted
it
to
be
fast,
we
wouldn't
maybe
have
been
writing
Ruby
to
begin
with,
but
your
point
is
well
taken.
D
Yeah
I
guess
we
could
probably
like
wrap
up
that
subject
and
I
think
what
I
can
hopefully
do
is
come
back
with
some
learnings
from
it.
That
I
can
share
with
the
group.
Is
you
know?
Maybe
it's
fine
and
if
it
truly
is
awful,
it's
like
really
awful
at
Daly
will
have
the
opportunity
to
just
fix
the
awfulness,
we'll
figure
out
where
it
is
and
make
it
better.
A
lot
better
data
and
I
can
share
it,
and
then
maybe
we
can
even
just
more
confidently
suggest
to
people
like
yeah.
D
A
C
The
only
other
one
was
still
that
open
PR
around
the
rack
instrumentation
and
the
spanning
oh
I
forgot
about
that
one.
If
you
get
a
chance
to
look
at
it,
Robert
that'd
be
really
great
love
to
hear
your
feedback
on
that.
B
C
C
Yeah
for
sure
I
don't
want
to
have
my
I
I
shared
my
perspective
on
it,
but
there's
always
the
risk
of
making
matters
worse
right,
so
I
think
the
biggest
thing
that
we're
concerned
about
is
making
things
worse
performance
wise
for
it,
and
so
your
input
will
be
helpful.
D
C
What
the
Sinatra
exceptions
the
spans
won-
oh
I
I,
need
to
follow
up
on
that
I
think
oh
no
I
did
approve.
It
can
I
get
somebody
else
on
the
second
set
of
eyes
on
those
I.
It
would
be
nice
if
we
can
have
two
people
review
the
pr.
Basically,
what
I
said
was
only
add
errors
if
it's
a
500
or
500
500
range
error
outside
of
that
do
not
mark
the
span
as
error
or
record
in
here.
B
I
think
that's
fine
I
will
take
a
quick
look
in
a
second
and
approve
that
one
I
was
one
of
the
people
that
had
reservations
about
it.
B
But
if
we,
you
know,
as
long
as
I
was
worried,
that
we
were
going
to
add
exception
events
for
like
four
or
fours,
which
is
really
actually
not
a
bad
thing
like
it's
not
you
know,
I
didn't
think
that
was
appropriate
for
a
server
span
or
for
a
clients.
Man
for
that
matter.
It's
not
necessarily
an
error,
but
if
we're,
if
we're
moving
away
from
that,
then
I
have
a
lot
fewer
strong
feelings
about
it.
So
yeah
I
can
take
a
look
in
a
minute.
C
C
C
B
A
So
my
opinion
on
this
is
that
this
is
probably
a
this
is
probably
solved
using
Trace,
State
best
and
I.
Think
that's
really
what
it's
kind
of
there
for
so
like
a
transparent,
yeah,
a
transparent,
could
come
from
from
a
public
endpoint,
but
the
way
that
you
that
your
SDK
should
be
able
to
figure
out.
If
you
want
to
do
something
with
that
transparent
or
not,
would
be
through
the
Trace,
State
and
oftentimes.
A
The
way
that's
kind
of
meant
to
be
used
is
the
last
time
that
that
a
request
passed
through
your
system,
you
could
add
some
kind
of
entry
into
trade
State
saying
when
I
last
saw
this.
This
was
the
parent
span,
ID
or
or
you
know,
some
whatever
metadata
you
wanted
to
have,
and
when
you
receive
a
transparent
in
a
trade
State,
you
can
unpack
the
Trace
State.
Look
at
your
last
entry
and
kind
of
figure
out.
A
Oh
this
transparent
is
from
some
intermediary
system
and
you,
you
probably
are
still
quite
interested
in
some
of
that
data,
and
you
might
want
to
log
it
in
some
way,
but
you
might
not
want
to
use
it
to
you.
Might
not
want
to
use
that
transparent
to
parent
your
span.
It
really
depends
on
your
use
case.
You
might
want
to
use
the
last
kind
of
parent
ID
when
it
was
in
your
system.
As
you
know,
a
parent
or
you,
there
are
a
variety
of
ways:
you'd
probably
handle
that.
A
D
A
Yeah
I
would
I,
don't
know,
I
know
there
are
there
is
the
the
w3c
distributed
tracing
working
group
and
they
are
the
folks
who
have
put
most
effort
into
defining
defining
that
header
I
used
to
attend
those
meetings
quite
regularly.
I
haven't
been
there
more
recently,
but
it'd
be
interesting
to
see
what
the
people
who
are
participating
regularly
in
that
group.
Think
about
this.
A
B
Yeah
I
would
be
interested
to
know
what
they
think
I
guess.
So
what
you
said
makes
sense
to
me:
I
get
it.
Do
you
think
that
we
just
I,
guess
I,
don't
know.
Should
we
hold
off
on
implementing
something
like
this?
Until
we
have
more
ideas
around
what
specification
authors
may
think
about
it
or
I,
don't
know
because
we
could
we
could
take
the
pr
and
that
I
mean
might
also
be
useful
in
helping
driving
discussion
too
I
don't
know.
A
D
The
tray
State
and
then
the
vendor
providers,
and
how
to
maybe
it's
not
maybe
I'm
remembering
reading
it
wrong,
but
I
believe
that
that
was
like
one
of
the
use
cases
is
like.
You
have
a
requests
that
may
Traverse
many
systems
and
different
vendors
May
inject
transparent
headers,
but
you
need
to
specify
like
who
they
are
in
the
trade
States.
You
know
what
to
do
with.
A
It
yeah
that
was
exactly
how
it
was
meant.
That
was
how
this
all
kind
of
came
about.
I
was
I,
was
kind
of
working
with
that
group.
Three
Hotel
before
a
hotel
was
a
thing,
and
the
idea
was
that
you
know
like
a
lot
of
companies,
use
multiple
tracing
vendors
and
distributed
tracing
kind
of
breaks
in
in
that
scenario,
so
the
idea
was
like
Trace
state
is
where
you
could
put
your
vendor
specific
stuff,
and
you
know
transparent
is
always
kind
of
the
true
or
so
yeah.
A
You
would
have
the
same
Trace
ID.
That
would
span
these
multiple
different
systems,
but
you
would
use
Trace
State
to
figure
out
like,
if
kind
of
record,
the
state
of
the
trace
the
last
time
it
was
in
your
system
compared
to
the
transparent,
and
you
can
figure
out
if
it
went
through
something
else
and
if
it
went
through
some
other
system,
I
think
the
idea
was
there
would
be
some
way
to
like
do
some
Trace
exchange
to
kind
of
get
your
spans
from
from
another
system.
D
We
actually
have
this
problem
ourselves
like
this
is
very
relevant
to
us,
we're
not
using
craze
parent
because
of
it,
because
it
absolutely
blows
up.
I'll
click,
the
value
of
the
letter.
It
basically
breaks
a
lot
of
traces
right
when
we're
using
transparent
the
direction.
We're
hoping
to
go
is
I
think
well,
one
of
the
options
we're
considering
is
just
stripping
transparent,
as
it
comes
through
our
external,
like
Ingress
layer
and
similarly
like.
We
want
to
get
back
to
a
point
where
we're
stripping
it
on
the
way
out.
D
If
it's
leaving
our
our
kind
of
ecosystem
or
internal,
you
know
Shopify
world
which
isn't
I,
don't
know
it'll
work
for
us,
but
it's
it
would
be
nice
if
there's
a
better
approach.
But
if
we
do
something
custom
like
what
they're
saying
suggesting
here
using
the
Trace
State
in
a
way
to
make
sure
that
you
know
we're
not
breaking
all
of
our
traces,
then
it
requires
something
custom
across
all
of
our
language
implementations
right
because
we're
not
just
exclusively
a
ruby
shop.
A
Yeah
I
mean
so
it
doesn't
explicitly
sell
us
out,
but
it
does
kind
of
imply
here
saying
it's.
The
main
purpose
of
the
trade
State
header
is
to
provide
additional
vendor-specific,
Trace
identification,
information
across
different
distributed
tracing
systems
and
there's
a
companion
header
for
the
transparent
field.
It
also
conveys
information
on
the
requests
positioned
in
multiple
distributed
tracing
graphs.
A
A
So
the
idea
is,
you
can
pull
out
your
your
entry
and
figure
out
like
when
this
Trace
was
last
in
your
system.
Compare
it
with
the
transparent
and
you
can
at
least
know
this
was
in
some
other
system
and
you
could
actually
also
figure
out
what
other
systems.
If
you
want
to
parse
Trace
State
and
look
for
all
those
vendor
Keys,
you
can
cut.
You
could
log
those
and
know
my
Trace
has
at
least
traversed
these
systems.
A
The
the
trace
state
is
kind
of
like
this
append
to
the
front
list
and
truncate
off
the
tail.
So
you
it.
It
is
lossy
at
some
point
if
it
grows
large
enough,
but.
A
That's
kind
of
the
idea,
but
it's
just
one
of
these
things
that
if
you
want
to
start
using
it,
it's
you
have
to
kind
of
manipulate
it
yourself.
So
I,
don't
know
how
robust
our
apis
are
around
this.
A
Actually
because
I
haven't
tried
using
the
the
hotel
implementations,
but
you
should
make
sure
that
we
can
write
into
Trace
State
and
read
an
entry
out
of
trade
State
if,
if
we
so
desire,
but
I,
don't
think
that
this
would
probably
be
something
that
is
baked
into
Auto,
instrumentation
or
I
haven't
seen
baked
into
Auto
instrumentation.
A
You
would
probably
have
to
like
add
in
your
your
own
kind
of
middleware
or
something
to
start
start
working
with
this,
and
maybe
it
just
kind
of
needs
a
little
bit
more
thought
about
how
we
want
to
integrate
this
with
with
otel
in
general,
because
my
involvement
in
all
this
stuff
I
was
coming
at
this
from
you
know
the
mentality
of
working
on
proprietary
tracing
clients,
where
you
know
we
kind
of
control,
all
the
stuff
and
I
think
it's
a
little
bit
easier
to
make.
Make
those
decisions.
A
A
A
So
this
might
be
I
feel
like
this
is
specific
material.
D
Yeah
I
agree
with
you.
This
is
something
that
needs
to
be
solved
like
cohesively
at
the
spec
level,
instead
of
just
like
an
arbitrary
patch
like
there's
the
pragmatic
and
practical
approach
which
I
appreciate
and
respect,
but
also
at
the
same
time
like
one
of
the
nice
things
about
Telemetry
from
my
perspective
has
been
a
lot
of
the
wealth
out
thought
out
decisions.
D
Sometimes
it
does
get
a
little
bit
bike
shitty,
but
that's
like
the
nature
of
more
than
two
people
trying
to
decide
something
and
that's
okay,
but
for
something
like
this,
like
the
implication
is
important
enough
that
it
should
be
specked
out
and
not
just
being
like.
We
did
it
in
this
other
repo.
Let's
do
it
here.
A
Yeah
and
I
feel,
like
my
gut
feeling,
is
that
I
know
the
answer
is
tray
state
but
I,
don't
know
the
yeah
I
think
this.
The
actual
solution
of
how
how
it
should
be
used
needs
to
be
kind
of
thought
through
a
little
bit
more
I'm,
not
positive
that
in
my
you
know,
good
reaction
there
that
I
have
all
the
necessary
information
to
say
how
that
should
work.
A
Anyways
we
are.
We
are
one
minute
over
cool
Arielle.