►
From YouTube: 2020-10-09 meeting
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
A
Yeah,
actually
gas
stuff.
This
time
the
have
you
been
able
to
take
a
look
at
any
of
these
pull
requests.
I'm
gonna
dive
in
quickly
now.
B
No,
I
I've
been
a
real
sort
of
burn
refactoring
a
whole
lot
of
code
along
a
particular
path
in
our
software,
which
has
been
giving
us
some
maintenance
trouble.
So
I've
been
off
for
a
month
doing
that
I
finally
landed
everything
went
pear-shaped
last
night
and
we
ended
up
having
to
roll
it
back.
So
I
know
I've
got
that
that
feeling
of
being
having
a
month
in
the
wilderness-
and
then
you
know
that
did
not
turn
out
as
intended,
but
anyway,
so
I
have
not
paid
much
attention
at
all
to
to
this.
B
Apart
from,
we
had
a
bug
in
a
caching
library
which
meant
that
all
of
the
processors
were
getting
extra
messages,
which
meant
that
the
the
tracing
around
one
of
the
callbacks
in
phoenix
live
view
was
go
getting
spammed
like
hundreds
of
thousands
of
times,
and
so
I
had
to
actually
put
sampling
in
for
the
first
time
just
because
the
machine
was
drowning.
We
couldn't
see
what
was
going
on
anymore,
so.
B
Style,
static
sampling
finally
got
forced
to
do
that
since
they
changed
their
plan
and
gave
us
like
millions
of
events
a
month
for
free,
hey.
A
Where's
the
first
thing
on
the
agenda
and
is
one
of
the
pull
requests,
and
I
can
just
explain
what
it
does.
A
I
was
just
in
an
interview
and
they
were
doing
this
as
well
and
it
was
like,
oh
god,
it's
very
annoying,
so
the
first
one
is
to
right
now
when
you
start
a
span
with
start
span,
it
puts
that
span
context
into
the
process
dictionary,
and
this
change
is
to
no
longer
do
that
and
the
only
time
that
it
updates
the
process.
Dictionary
is,
if
you
call
with
span
or
if
you
call
set
current
span,
and
so
maybe
for
some.
A
B
Yeah
I
mean
that
was
the
the
whole
context.
All
of
that
putting
this
putting
it
back
problem
yeah-
and
I
I
I
mean
I
do
occasionally
create
spans
without
with
spam,
but
actually
it's
more
it's
more
common
that
I
end
up
doing
the
opposite,
because
I'm
still
trapped
in
oc
land,
I'm
I'm
doing
with
span
around
a
function.
That
does
nothing
just
so
I
can
get
an
extra
span.
I
need
you
know
zero
length
for
for
an
event,
so
I
don't
think
it's
gonna
hurt
us
right,
oh
okay!
B
So
now
it's
now
start
and
stop
completely
separate
from
updating
the
context,
cool.
A
A
Because
we
don't
have
nice
ways
to,
except
for
anonymous
functions,
to
handle
the
context
switching
back,
but
I
think
it's
just
so
much
less
likely
to
cause
problems
to
require
people
use
the
macro
or
an
anonymous
function
if
they
want
context
automatically
updated
and
reset
it's
just
much
much
less
on
our
shoulders
to
deal
with.
If
we
do
it
this
way.
B
Yeah,
so
I'm
looking
at
the
the
modifications
to
with
span,
and
so
we've
still
got
the
the
private
tracer
ctx
macro,
so
there's
still
all
of
that
stuff
is
still
kind
of
private
implementation
stuff.
So
if
you
want
to
wrap
this
puppy,
you
do
you
you're
gonna
need
to
find
a
way
to
get
a
private
like
a
function
and
then
wrap
it.
This
way
right.
B
Oh,
oh,
I
I
okay!
No,
I
see
what
you're
doing.
I'm
I'm
sorry,
the
I
was
looking
at
the
the
question
mark
trader
ctx,
but
that
was
in
the
red
part
of
the
diff,
so
hotel
ctx
attach
is
kind
of
public
eh.
B
A
No
problem,
that's
good,
so
I'm
hoping
everybody
will
be
okay
with
this,
like
the.
A
B
Examples
it
relies
on
telemetry
and
then
we'll
that'll
smoke
out
any
problems.
Oh
cool.
A
Oh
yeah,
we
should
be
getting
an
example
from
someone
at
pagerduty
to
that
example.
Repo.
C
A
Yeah,
so
that
was
part
of
the
issue
is
that
we
had
this
separate
tracer
context.
So
there
was
get
current
context
and
get
current
span
context.
And
now
we
don't
have
that
tracer
context.
So
you
can
just
get
either
this
band
context
and
pass
it
or
you
can
use
the
entire
context,
which
will
include
the
baggage
and
everything,
and
you
would
pass
that.
A
B
A
E
A
B
What
do
you
mean?
Oh
just
just
the
idea,
that
everything
has
to
be
a
macro,
because
otherwise
we
don't
know
what
the
current?
What
the!
What
the,
which
tracer
config
to
use
for
that
particular
module.
A
B
It
it's
that
sort
of
name
spacing.
I
guess
we're
calling
it
and
like
really
attractive
in
certain
realms,
because
we
might
literally
want
to
have
a
separate,
a
different,
a
distinct
service
name
for
one
part
of
our
code,
because
so
so
many
of
us
are
setting
up,
like
you
know,
well-maintained
monoliths
here
and
so
we've
got
sub-systems
and
we
might
want
to
trace
them
differently,
as
as,
if
they're
separate
services
but
yeah,
when
we're
just
all
consolidating
it's
just
a
bit
more
messy.
A
Yeah,
I
guess
we
at
least
have
the
ability
to
do
the
macro
thing.
Some
languages
don't
have
that
I've
been
suggesting
to
other
languages
to
look
in
to
see
if
they
can
do
something
similar.
Instead
of
having
to
have
the
user
manually,
get
a
tracer
every
time,
but
some
of
them,
I
think
just
don't-
have
the
capability.
A
Yeah
all
right,
so
the
second
yeah
everybody.
Please
look
at
that
poor
request
after
this
sometime,
but
the
the
second
one
is
moving
right
now.
There's
all
these
functions
in
ot
span
that
I
mean
they're,
it's
their
stuff
like
set
attribute,
so
you
think
of
them
as
fan
operations
but
they're
they
you
have
to
pass
them
a
tracer,
because
our
tracer
is
how
we
know
the
sdk
module
to
call
and
how
to
look
up
the
span.
Anything
like
that.
A
They
would
work
on
an
actual
spam
record
instead
of
going
through
the
ed's
table,
but
I
don't
know
if
we're
gonna
need
those
or
want
those
so
right
now
it's
just
moving
them
to
ot
tracer,
not
sure-
and
this
might
I
think
this
included
the
elixir
span.
Module
will
probably
have
those
two
and
I
moved
them,
so
it
might
require
changing
some
code
unless
anybody
has
an
objection
to
this
pull
request.
E
E
B
Yeah,
you
did,
you
might
be
able
to
fix
that.
Just
by
renaming
the
function
I
mean
you
moved
it,
but
tracer.setspan
attribute
you
know
lets
you
know
that
you're
setting
this
particular
span
attribute
within
the
tracer
and
and
that
feels
like
it's
at
least
like
it's
surprising,
but
at
least
it's
telling
me
what
it's
doing
on
the
tin
yeah
yeah,
whereas
if
well
another
thing,
if
tracer.set
attribute
really
does
without
the
word
span
in
there
sound
like
I'm,
setting
an
attribute
on
the
tracer,
and
I
don't
even
know
what
that
does.
A
Yeah
another
yeah,
that's
a
good
point:
the
other
languages
ap.
The
api
is
likely
going
to
go
this
direction
anyway
in
the
future.
We're
kind
of
the
first
ones
doing
it
because
of
how
we
do
the
ed's
tables
and
process
dictionary,
so
it
makes
the
most
sense.
To
I
mean
it
makes
the
most
sense
to
work
off
of
a
tracer
and
pull
it
out
of
the
process,
dictionary
and
work
on
it,
because
we
can't
have
a
reference
to
the
span.
That
is.
D
A
So
we,
instead
of
having
to
do
span
ones
band
two
span
three,
if
you're
modifying
it,
the
this
works
easier
to
go
through
the
tracer
other
languages,
don't
do
that,
but
they
probably
will
in
the
future.
That's
where
the
api
is
kind
of
going
so
tracer
said
attribute
might
exist
in
like
every
languages.
Api
eventually.
A
Right
and
those
could
be,
those
are
also
in
the
api
and
right
now
you
can't
do
anything
with
the
span
in
our
api
because
it's
the
x
table
thing
so
we
could
have
set
attribute
functions
on
the
span,
but
those
would
probably
return
a
record
work
on
a
record
and
return
a
record
sdk
wise.
We
work
on
the
edge
table
and
in
that
case
it
I
mean
it's
different
from
the
spec,
because
we're
not
using
we're
not
working
on
a
span
directly
and
we
have
to
have
the
sdk.
A
Otherwise
we
don't
have
the
x
tables
and
everything,
but
I
mean
I'm
fine
moving
them
back
to
span
and
having
you
pass
a
tracer
to
the
span
module.
I
just
thought
this
was
a
bit
more
consistent
and
opened
up
the
possibility
of
adding
the
record-based
functions
because,
right
now
it's
not
really
possible.
A
A
non-user
so
at
first
my
thought
was
well.
This
could
be
helpful
for
performance,
but
I
don't
think
that
matters
much
because
it's
only
set
attribute
that
and
you
could
try
to
set
all
the
attributes
at
start,
but
technically
yeah.
You
could
set
events
and
attributes
and
all
kinds
of
stuff
much
quicker
in
by
just
updating
the
re,
get
creating
a
new
record
instead
of
going
through
edits
and
then
ending
that
spam
record
yeah.
B
You
can
kind
of
imagine
a
yeah,
an
eds
style,
you
know
get
an
update
where
you
just
pass
it
a
function
that
takes
a
record
and
then
you
use
as
many
of
the
mutation
operations
as
you
want
in
memory,
and
then
you
know
return
another
record:
okay,
fine
that
gets
written,
but
I
don't
know
I
kind
of
like
this.
B
B
You
know
nebulox,
for
example,
like
the
entire
caching
pattern
is,
is
built
around
this
idea
that
you've
got
just
get
and
put
right
and
or
what's
happening
there.
Don't
ask
you
know
it's,
you
know
hidden
hidden
mutation
and
certainly
with
the
tracing
code.
You
know
trying
to
talk
to
my
other
developers.
You
know
that
I
keep
kept
getting
confusion
about
okay,
set
attributes
set
attribute
on
what
like
they're,
looking
for
the
variable
where
mutation
mutating
and
the
way
not
and
they're
like
okay.
B
So
where
are
you
getting
this
data
from
and
where
are
you
putting
it
back
to
and
how
is
that
affecting
anything,
and
it
was
quite
confusing
to
them,
whereas
at
least
having
to
go
to
the
tracer
to
set
the
span
attribute
gives
them
an
idea
that
the
the
storage
is
in
the
tracer
somewhere,
because
otherwise,
where
else
could
it
be?
Whereas
if
you
go
spam,
then
it's
like,
where
the
is
that
the
process
dictionary
ets
narnia,
I
don't
know.
A
No,
I
was
going
to
say,
like
tracer,
get
current
span
and
then
mod
work
on
it
and
have
the
function
still
in
the
span
module
but
make
it
make
more
sense
to
a
user
by
they
can
go
through
tracer,
get
current
span
and
not
have
spam
work
out.
So.
A
A
D
A
E
C
A
B
B
That's
it's
a
big
thing
at
the
moment.
All
the
elixir
programmers
are
following
dashbit's
example,
and
one
not
nording
all
their
modules
that
have
been
out
for
a
while
is
basically
breaking
change
to
your
api.
In
the
last
six
months,
quit
falling
quick
hitting
yourself
make
it
a
one
night
naught,
and
so
this
has
been
this
forest
of
poses
sometimes.
A
A
What
was
I
going
to
say
so
yeah?
One
of
the
reasons
I
came
to
this
was
I
mean
it's
annoying,
how
we
have
an
sdk
spam
module
that
has
to
be
used,
and
so
I
was
considering
whether
or
not
that
module
name
could
be
stored
on
the
span
context
or
the
span,
and
we
can
that
would
allow
us
to
still
to
that.
A
Would
allow
us
to
call
ot
span
or
span
macros
with
a
span
context
instead
of
a
tracer
and
call
the
right
module,
because
you
shouldn't
need
a
tracer
you're,
not
supposed
to
need
a
tracer
when
you're
calling
these
functions,
we
just
happen
to
need
a
way
to
call
ot,
spanx
and
yeah.
That's
where
this
change
started.
Coming
from.
A
So
an
option
yeah,
I
don't
know
if
working
on
a
span
context-
would
make.
D
B
Yeah,
the
in
in
the
oho
world.
They
talk
a
bit
about
this
design
smell
that
they
call
envy
where,
and
I
found
it
useful
in
alexa
as
well,
where
you
know
you've
got
one
module
and
it's
taking
a
a
data
structure
that
was
created
by
another
module.
It's
kind
of
dot
dot,
dotting
its
way
through,
like
dereferencing
through
this
bigness,
the
data
structure
and
after
a
while
you
just
kind
of
like
hang
on
you,
you
wish
you
were
them
right.
Why
not?
B
Because
you
could
just
take
all
of
that
responsibility
for
that
part
of
the
traversing
of
data
structure
that
you
didn't
create
and
you
could
make
them
responsible
for
pulling
that
out
for
you
and
just
give
you
the
one
thing
you
need
right
and
then
the
code
would
relax
and
you
would
feel
better
and
and
yeah.
I,
like
I'm,
constantly
moving
code
around
chasing
this
kind
of
hang
on.
Why
you
know
why?
Why
is
this
code?
B
B
Come
on
you
know
like
I
don't
want
that
over
there
and-
and
I
only
ever
know
whether
it's
actually
a
good
thing
or
not.
When
I
finally
get
everything
in
the
right
spot,
if
everyone's
shoulders
are
knit
like,
if
everyone
suddenly
goes,
you
know,
then
I
know
it
was
a
good
move
and
if
everyone's
still
like
this,
then
I
know
that
everything's
still
in
the
wrong
bloody
place,
but
it's
kind
of
terrifying
in
the
trying
to
accomplish
that
in
the
context
of
yeah.
We've
also
got
this
parent
organization.
That's
got
these.
A
B
A
E
We
can
line
it
there
if
it
has
just
like
a
single
attribute,
it
might
go
there,
but
then,
typically
after
that
for
readability
and
everything
we
go
into
it
and
then
do
spam
set
attributes
because
you
might
be
adding
six
attributes
and
it
looks
like
absolute
try
and
like
cram
that
all
into
the
macro
and
then
you
might
have
some
widths
and
some
cases
and
whatever
else
and
then
in
an
error.
It
just
has
like
a
span
set
status
or
set
attribute
within
there.
D
B
I
mean
riffing
off
what
brian
was
saying.
I
mean
I
I
think
it
you
know
like
one
of
the
problems
that
I'm
getting
is
is
so
we
keep
flicking
back
and
forth
between
the
needs
of
the
someone
just
writing
their
bloody
code
in
their
own
application
domain,
where
they're
not
pulling
all
of
these
magic
tricks
that
you
tend
to
find
more
in
frameworks
and
that
people
are
using
and
and
the
needs
of
the
integration
authors
who
get
cornered
and
have
to
use.
You
know
have
to
know
exactly.
A
B
Times
and-
and
so
I
think,
especially
for
the
elixir
code,
you
know
I
I
feel
the
need
for
an
api
which,
just
where
it's
like
you
know,
respects
the
magic
per
greg's
is
like
just
start.
Stop
put
spam
attribute,
you'll,
be
fine,
don't
ask
any
questions.
Yeah.
D
B
I'm
I'm
less
confident
on
that
front,
but
I
I
I'm
totally
up
for,
for
example,
yeah
fine
we've
got
something
that
lets.
You
know
exactly
what
you're
mutating
and
where
it's
going
and
which,
which
module
you've
delegated
that
to
and
so
on.
But
you
have
to
drop
to
the
earl.
You
have
to
call
into
the
erlang
modules
to
get
to
that
elixir
programmers,
because
you
know
that
that
seems
to
be
one
of
the
hereby
dragons
I'm
going
to
be
careful
now
lines
in
the
in
the
elixir
community.
B
I
don't
know,
but
I
I
like
the
I
mean
you
know
somewhere,
there's
got
to
be
a
set
of
functions
which,
just
you
know,
are
very
explicit
about
what
they're
doing
where
the,
where
the
data
is
coming
from,
where
they're
going
there's
got
to
be
one
of
those
eventually,
as
long
as
I
know
where
it
is
and
when
to
use
it
great.
B
Yeah
yeah,
I
I'm
not
as
sure
there
like.
We
keep
running
up
against
stuff
where
we
go.
Oh
yeah,
like
resources
like
how
can
we
have
dynamic
resources
computed
at
runtime
or
no
because
they're
static
by
definition
in
the
spec?
Now,
if
you
want
something
like
you
know,
uptime
or
current
memory
usage
or
trailing
cpu
averages
whatever.
B
Then
you
have
to
use
a
span
processor
for
that
and
if
you're
a
you
know-
and
we
did
have
some
parts
where
it
was
like
literally
impossible
for
to
reach
that
without
getting
very
early
and
reverse
engineering
and
so
to
the
degree
that
we're
relying
on
people
using
spam
processors
to
work
around
gap
yeah.
B
What
I
would
see
is
gaps
then
we're
still
going
to
want
to
have
like
provide
some
conveniences,
like
elixir
modules,
which
manipulate
the
records
yeah
we're
still
gonna
watch
it
like
like
just
looking
at
things
like.
E
Like
in
practice,
so
far
like,
I
can
pretty
confidently
say
that,
like
this
is
just
like
a
general
like
gap
right
now,
and
I
want
to
say
failing,
but
it's
a
it
is
a
big
gap
in
open
telemetry
where
so
like
just
getting
like
environment
information
like
that,
it's
right
now,
right
like
I
would
somebody
had
sent
us
like.
I
was
like
yeah.
We
just
need
to
like
get
all
the
information
we
want
to
get
all
the
information
into
the
resources
like
like.
E
How
can
we
do
that
and
then
they
sent
over
like
like
there's
like
a
k-8s
like
collector
thing,
yeah
and,
like
you
read
through
it
and
then
you're
just
like,
and
then
it
says
explicitly
like,
oh
by
the
way,
if
you're
like
wanting
to
actually
get
this
information
like
about
a
specific
onto
a
specific
container
or
something
then
forget
about
it,
like
you
need
to
like
use
the
downward
api
and
inject
everything
into
your
environment
variables
and
put
it
in
there
by
hand,
because
it
can't
correlate
the
contact.
A
E
A
E
You
can
get
information
about
the
node
running
period,
but
you
can't
attach
it
to
spans
and
resources
like
that
are
coming
out
of
your
particular
application
without
injecting
it
through
requirement
variables
and
then
setting
it
so
like
that's
how
we
have
to
do
it
right
now
is
like
we
like.
If
I
want
to
know
what
pod
id
or
the
container
id
is
during,
like
we
have
a
deployment,
yaml,
that's
taking
the
runtime
and
injecting
these
environment
variables,
and
then
we
stick
it
into
config.
A
D
A
E
E
A
E
C
E
A
A
E
A
So
yeah,
just
to
recap
where
I
how
I
got
to
this
it
started
out
because
I
wanted.
A
A
A
D
D
Yeah,
I
was
going
to
say
like
once:
you
build
it,
then
you
have
to
keep
maintaining
it
forever.
So
maybe,
if
we
can't
think
of
why
we
would
need
it
even
though
like
theoretically,
it
makes
sense.
Maybe
we
just
shouldn't
build
it
yet,
because,
like
my,
what
I
was
thinking
as
like
brian
was
talking
earlier,
is
most
people
in
the
elixir
ecosystem.
D
I
think
don't
actually
care
at
all
about
any
of
this
stuff,
and
they
just
want
it
to
work
and
like
they
want
to
be
told
what
they're
supposed
to
type
where
like
no
one
is
thinking
hard
at
all
about
about
where
the
stuff
is
like.
How
do
what
do
we
have
to
update?
You
know
it's
more
like
just.
How
do
I
plug
this
into
phoenix
like
that's
what
people
want
to
know
so
like?
D
I
think
it
will
eventually
get
there
where
people
understand
like
why
you
would
want
to
set
attributes
on
a
span,
but
I
think,
like
the
community's,
not
at
a
mature
enough
place
where
they're
asking
for
any
advanced
features
at
all
and
if
it's
possible
to
do
it.
Even
if
it's
hard
like,
I
think,
that's
probably
good
enough.
Initially.
B
Yeah,
I
mean
the
only
color
I'd
add
to
that.
Is
people
get
really
squirrely
with
anything
that
they
feel
is
like
getting
in
the
way
of
their
flow
control
and
and
so
the
the
the
even
functional
rappers
yeah?
You
start
getting
a
bit
of
discomfort,
and
then
you
know
once
you
start
getting
into
like
custom
macros
with
with
multiple
bodies
underneath
them
everyone's
hackles
are
up
and
they're.
Like
hang
on,
I
only
just
figured
out
how
to
use
with
and
else
properly.
B
Can
you
please
stop
it
and
yeah
almost
to
the
point
where,
like
I
mean
bruce,
there's
this
fellow
in
the
elixir
community
bruce
who
keeps
talking
about
layering
and
and
sort
of
keeping
the
the
domains
in
which
you're
using
one
programming
style
separate
from
the
other
ones
and
one
so
one
example:
he
uses
a
lot,
is
you
know
with
land
where
you've
got
a
whole
lot
of
operations
which
might
fail
and
you're
either
having
to
do
conditional
logic
based
on
that
and
keeping
that
completely
separate
from
yeah?
B
What
he
calls
the
functional
core,
where
it's
all
just
data
structures
and
functions
and
there's
not
even
any
storage
there.
There's
no
persistence
in
the
functional
core
at
all,
and
I'm
kind
of
wondering
here
whether
you
could
similarly
have
a
separation
between
kind
of
the
stuff
that
has
adjacent
to
the
storage
land
and
the
other
part,
which
is
just
like
record
operations
or
even
macro
land
and
not
macro
land.
You
know
not
macro
land,
it's
very
clear
about
what's
going
on,
there's
no
magic,
but
it's
a
lot
of
work.
D
Yeah,
like
I
think
you
want
to
keep
it
as
non-magical
as
possible,
but
I
feel
like
at
the
same
time,
if
there's
one
place
in
all
of
like
functional
programming,
where
it
makes
sense
to
have
a
little
bit
of
magic.
It's
observability
because,
like
not
actually
part
of
the
code
you're
trying
to
write
it's
like
how
do
you
observe
the
code
that
you're
actually
trying
to
write
so
like
logging
and
tracing
and
function
decorators
and
stuff,
like
I'm
totally
against
function
decorators,
except
for
tracing?
D
B
B
D
E
Say
like
even
just
as
is
just
like,
if
I'm
setting
10
attributes
or
something
yeah,
I've
already
given
tracer
wristband
setting
some
status,
whatever
I've
got
five
lines
of
setting
an
attribute
and
then
or
setting
attributes
or
something,
and
whatever
I
mean
like
it's
just
like
you,
get
huge
chunks
already
and
then
like
even
just
like
honestly,
like
even
the
rigmarole
to
be
like
of
like
re,
doing,
require
tracer
require
span,
alias
tracer,
alias
span
everywhere,
like
I'll,
probably
end
up
like
in
our
uplink
library,
like
having
a
tracing
library
that
just
says
you
use
tracer
or
use
tracing
yeah
and
like
and
macroing
that
stuff
in
because
it
just
it
just
gets
cumbersome.
D
B
I've
been
around
that
loop,
so
many
times
I'm
like
like
looking
at
you
know
it's
exactly
like
brian
was
talking
about
except
and
then
you've
also
got
your
analytics.
Your
logging,
your
access
control,
your
logging
and
for
other
cross-cutting
concerns
that
your
address
and
after
a
while
you
go.
B
What
this
needs
is
I'll,
just
you
know,
use
telemetry
to
heat
it
across
to
some
kind
of
other
thing
or
a
forest
of
other
little
things,
and
they
can
all
reverse
engineer
what
they
should
do
from
the
code
and
now
you've
got
spooky
action
at
a
distance
and
everybody's
ripping
their
hair
out
for
different
reasons.
I
I
still
can't
figure
out
how
to
win
with
that.
One.
A
That
kind
of
led
to
this
is
really
wanted,
really
want
to
try
other
ways
of
propagating
the
span
like
just
putting
the
span
in
the
process
dictionary
or
putting
the
span
in
behind
a
process
instead
of
an
ed's
table,
it'll
be
nice
if
those
would
be
easy
to
try
out
might
not
have
them
actually
be
anywhere
but
like
just
to
benchmark
them.
Eventually,
I'd
like
to
do
that,
but
that's
part
of
what
got
me
thinking
about
spam
modules.
A
Oh
yeah,
so
this
next
one
for
some
reason
they
want
the
api
to
be
able
to
propagate
through,
like
http
requests
stuff
like
those
kind
of
propagators.
A
I
really
don't
like
that,
and
but
I
realized
I
think
the
way
around
it
is
to
just.
If
someone
really
wants
that
to
happen,
they
have
to
call
open
telemetry
set
propagator
themselves.
A
A
It's
partially
that
I
mean
for
me,
I'd
like
I
like
how
the
api
is
broken
out,
so
that
we
can
have
erlang
elixir
stuff
in
instrument
with
open
telemetry
and
not
require
it
like
you,
don't
have
to
include
the
sdk
and
people
shouldn't
have
to
be
afraid
to
include
open
selemetry
api,
because
it's
just
some
modules,
don't
start
anything
so
yeah,
there's
a
similar
use
case
between
them,
for,
in
that
case,
instead
of
using
telemetry
the
application
to
instrument.
E
Here's
the
thing
that
was
like,
I
know
that
personally,
like
I'm,
advocating
that
any
library
author
should
not
implement
open
api
or
open
telemetry
directly
into
your
into
your
library
that
you
should
be
using
to
want
a
tree
because
it's
the
most
it's
the
most
versatile
thing,
but
also
be
like.
Are
you
gonna
maintain
that
what
happens
when
the
person
that
comes
and
wants
to
open
census
thing
or
whatever
the
next
deal
is
like?
D
A
Mean
my
thing
is
like
because
mostly
working
early,
so
there's
no
telemetry
metrics
there's
and
I
don't
much
care
for
how
tracing
is
done
in
telemetry,
but
for
metrics
and
some
other
like
air
conditioned
stuff.
I
like
telemetry
and
it
works
out
in
erlang,
but
even
for
metrics
in
erlang.
C
E
A
E
Right
right,
right,
library,
like
I
haven't
added
it
yet
but
like
I
like,
there's
a
base
set
of
attributes
that
get
added
but
like
I
was
going
to
add
an
api
to
it.
That
would
allow
you
to
say,
like
add,
add
whatever
map
thing
that
you
want
to
add,
take
attributes
out
to
add
to
your
span
and
it'll
it'll
wire
it
up
but
like
like,
because
like
gustav
or
whatever
has
like
an
issue
up
right
now,
just
kind
of
like
for
phoenix.
E
Like
you
know,
some
people
might
want
to
know
like
what
like
what
view
it
was
that
got
rendered
or
like
the
size
of
the
response
or
whatever
things
that
like
could
be
like
a
completely
irrelevant
to
you,
someone
to
the
base
user
or
are
expensive
operations
and.
E
B
There's
a
yeah
I
it's
funny,
I
I'd
I
mean
we've
been
talking
for
so
long
about.
You
know
even
back
in
the
oc
days,
perhaps
even
back
in
the
spandex
days
about
you
know
it
being
the
kind
of
thing
that
could
go
alongside
telemetry
and-
and
so
I
think
this
this
shift
to
just
everybody,
hooking
invite
telemetry
and
it
being
the
one
thing
that
author.
B
You
know
it
says
you
know
just
hook
up:
telemetry
use
the
start,
stop
exception
conventions
and
and
put
whole
requests
and
response
objects
in
the
metadata,
and
then
let
us
handle
it
that
that
pattern
settling
down,
especially
in
the
elixir
community,
is,
I
think,
a
natural
opportunity
and
where
that
leaves.
Us,
though,
is
is
kind
of
entertaining
if
you're
keeping
the
sdk
api
part
as
as
its
own
thing,
and
then
you've
got
all
of
these.
B
It's
mainly
the
frameworks
that
give
us
this
problem.
You
know,
you
know
that.
Don't
call
us,
don't
call
you
parts
of
your
code
where,
then
the
question
is
like
whose
job
is
it
to
do?
The
integration
and
one
of
the
things
that
I
really
got
sick
of
in
the
node
community
was
helper
modules
right
where
you
would
have
for
for
every
for
every
framework
or
or
utility
that
people
used
gulp.
It
was
especially
bad
for
this
one
and
anything
else
you
might
want
to
do.
You
know
css
linting.
B
You
would
have
a
gulp
dash,
css
lint
module,
which
was
out
of
date
with
respect
to
both
and
and
so
maintaining.
You
know
a
a
fully
fledged
app.
You
know
it
was.
It
was
always
hellish
having
to
bridge
between
absinthe
and
say,
open,
telemetry
and
an
out
of
date,
open
census.
B
Telemetry
module
right
like
having
a
forest
of
those
is
is
kind
of
hard,
and
I
almost
wish
that
yeah
we
could
either
like
just
make
it
really
easy
for
the
application
maintainer
to
provide
those
modules
and
to
extract
out
the
yeah
provide
them
with
the
recipes.
They
need
to
extract
out
the
semantic
attributes,
or
maybe
even
I
I
don't
know,
another
alternative
is
just
stay
on
top
of
keeping
the
integrations
up
to
date.
That's
pretty
good,
like.
D
If
there
just
is
no
integration,
I
think
that's
where
I
was
going
with
like
what,
if
phoenix
just
has
open
census
or
open
open
telemetry
already
built
in
there
is
no
integration,
then
they're
already
doing
it
and
like
they'll
know
it,
they
broke
it
because.
E
D
B
Yeah,
actually,
there's
there's
a
horrible
way
of
of
doing
it,
which
is
you
know,
hey
which,
which
does
the
brian
way
and
and
the,
and
you
know
the
great
way
it
was
like.
Okay,
if
you've,
if
you
want
to
take
responsibility
for
generating
the
semantic
attributes
yourself
without
taking
a
dependency
on
the
library,
then
just
emit
a
different
telemetry
event
which
talks
about
spans
and
then
we'll
hook
up
to
that
one
thing
we'll
just
send
whatever
you
give
us
and
then
you're
broadcasting
the
semantic
attributes
on
that
kind
of
telemetry
channel.
B
I'm
mixing
my
metaphors,
sorry
calling
to
telemetry
execute
with
open
telemetry
span.
You
know
whatever
and
you're
taking
responsibility
for
that,
but
you've
got
no
depend
extra
dependencies.
That's
kind
of
cool,
also
horrible.
B
D
B
A
A
Yeah
telemetry
gives
you
the
that
ability
to
act
as
a
middleman
shedding
or
including
the
stuff
you
want,
and
it's
probably
pretty
important
to
also
have,
even
if
telemetry
is
going
to
be
the
way
people
are
doing.
This
yeah
it'll
be.
E
B
Yeah,
I
mean
there's
a
kind
of
a
bridging
gap
here,
which
is
the
kind
of
honeycomb
approach
where
they've
got
their
b-line
modules,
which
do
their
best
to
hook
up
to
everything
for
you
and
then
do
the
right
thing,
and
so
you
could.
You
could
imagine,
as
well
as
discrete
modules
that
we
produce
for
integrating
with
a
variety
of
different
parts
of
the
ecosystem.
B
You
could
have
one
one
uber
package
right.
I
should
never
say
uber
again,
you've
got
one
sort
of
convenience
package
which
you
take
a
dependency
on
it.
It
pulls
in
the
api
it
pulls
in
the
sdk.
It
pulls
in
as
many
other
things
as
seem
relevant
and
it
just
does
the
you
know
it
does
all
of
the
things
right.
Don't
worry
about.
It
just
add
this
one
package
and
you
get
all
of
the
open
telemetry.
Add
your
light
step
or
honeycomb
account.
Jager
you're
done.
D
B
And
then
that
serves
that
serves
a
big
chunk
of
the
market
right
and
then
and
then
you
got
me
and
I'm
like.
No
I'm
I'm
gonna
be
I'm
gonna.
I'm
gonna
have
my
own
internal
clones
of
some
of
these
things,
because
I
have
opinions.
E
I
think
so
one
thing
we
haven't
done
yet
so
I
don't
think
either
you're
like
tristan's,
the
only
one
that
was
in
this
conversation,
so
one
of
these
we
are
talking
about
doing
is
moving
all
of
the
framework
libraries,
all
the
bridges
to
a
model
repo
as
well,
so
that
we
can
make
updating
much
easier
on
ourselves,
yeah
but
we'll
still
publish
individual
packages.
E
E
When
I
get
uplink
our
internal
uplink
framework
library,
I
guess
put
out
there-
I
think
it's
gonna
kind
of
be
something
like
that.
Where.
E
Places
of
size
are
going
to
just
have
like
an
opinionated
set
of
things,
and
that
was
kind
of
the
idea
of
like
where
we're
kind
of
move.
Or
so
I
know
these
talks
haven't
come
out
yet,
and
my
talk
was
terrible.
But
bleacher
report
did
the
same
thing
like
we
ended
up
with,
like
just
like
an
internal
for
like
all
of
our
observability
stuff.
E
Any
custom,
polars
or
whatever
are
all
predefined
and
it
becomes
like
a
really
simple
setup
to
add,
but
it's
like
an
internally
opinionated
set,
and
so
what
we're
looking
at
doing
is
just
open
source
that
and
then
there's
like
a
base
set
of
like
opinionated
modules.
Whatever
and,
like
you
just
say,
like
I'm,
using
open,
telemetry
with
and
then
just
saying
like
I
use
phoenix
and
it
would
include
the
appropriate
bridge
library
and
wire
everything
up
for
you.
E
And
if
you
want
to
like
go
your
own
route,
then
you
just
say
like
oh
yeah,
here's
the
behavior
that
I
have
to
meet
whatever
and
just
say
like
hey
uplink,
I'm
using
this
custom
version
of
phoenix,
whatever
my
own
opinionated
set
and
then
like
it
just
it
just
runs
so
like.
I
know
the
pain
that
you're,
like
speaking
of
and
like
the
question
that
greg
and
I
had
had
before
it
was
just
kind
of
like
because
we
were
gonna-
be
training
on
this
was
like.
E
B
Helpful
yeah,
in
a
way,
I
don't
see
the
distinction
between
these
two
things.
I
I
I
think
the
you
know
when,
when
you
open
source
something
I
mean
like
I've,
got
yeah
like
I've,
taken
explicit
dependencies
on
the
open
census,
bridges
for
alexa
or
phoenix
plug
and
and
tesla
right,
a
couple
of
which
I
think
I
wrote,
and
then
I've
got
my
own
internal
hookups
for
a
few
of
these
things
and
but
they're
all
like
copies
adapted
from
somebody
else's
like.
B
D
Yeah
and
there's
and
there's
no
like,
I
think
the
main
reason
that
we
wouldn't
open
source
these
things,
it's
because
they're
not
actually
good.
You
know
it's
just
like
packed
together
manual,
like
kind
of
working
nonsense,
and
if
you
open
sourced
it,
people
would
be
like
wait
what
this
is
like
wrong.
Why
would
you
do
it
this
way?
Yeah.
B
Whereas
at
least
if
we
and
sometimes
that's
forced
on
us
right
like
because
the
like
absinthe
in
particular
like
integrating,
that
was
not
fun
and
I'm
I'm
kind
of
like
we're
not
using
absinthe
anymore,
so
I'm
not
going
to
write
an
open,
telemetry,
absinthe
decorator
and
somebody
else
can
have
that
fun
and-
and
maybe
ben's
made
it
easier
and
maybe
hasn't
the
but
it's
but
yeah.
B
If
we
just
have
one
library
which
does
an
okay
job
of
getting
all
the
semantic
attributes
that
are
not
performance,
nasty
done,
you
know,
put
it
in
the
monorepo
right
and
and
then
that
that'll
get
everybody.
At
least
you
know
toes
in
the
water
getting
you
know,
they
can
see
their
events
and
you
know
honeycomb
and
light
step
and
jager
and
anything
else
they're
sending
it
to.
B
You
know:
data
dogs,
if
they
don't
mind
blowing
out
their
event,
set
yeah
yeah
that
sounds
cool
and
and
the
more
people
that
are
doing
a
good
job
with
telemetry,
the
fewer
actual.
You
know
the
fewer
actual
dependencies
we're
gonna
have
in
the
thing
anyway,.
B
A
It
was
just
the.
D
Real
quick
before
you
go,
you
had
mentioned
that
somebody
was
going
to
work
on
updated
examples.
Is
that
the
same
example
repo
that
I
made
a
long
time
ago
or
is
there
a
different
one.
A
No
yeah,
I
pointed
them
at
at
the
one
you
made.