►
From YouTube: 2021-04-13 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).
D
A
D
I
did
shovel
once
it
is
now
entirely
back
it.
It
has
not
like
it
today's.
I
think
it
was
blizzarding
all
night
yesterday
and
all
day
yesterday,
the
night
before
so
and
before
there
was
no
snow
left
on
the
ground,
and
now
it's
like.
I
don't
know
if
this
is
gonna,
be
awful,
but
no,
no,
oh
my
gosh.
You
can't
see
well,
but
it's
just
it's
all
snow.
I.
D
That's
a
good
question
I'll,
let
you
know
what
I
figured
winnipeg
where
I
live
is
known
for
really
extreme
climates
and,
like
harsh
swings,
I
think
in
canada.
It
has
like
the
highest.
It's
like
the
difference
between
its
hottest
day
and
it's
coldest
day
like
some
days,
it'll
be
over
plus
35
and
in
the
winter
it'll
be
like
minus
45
and
it's
coldest.
A
A
A
Were
you,
were
you
fully
remote
before
march
of
year,
2000
or
whatever
do
you
shop,
five
offices
in
winnipeg.
D
Once
upon
a
did
once
upon
a
time
they
did
actually
very
very
long
ago,
but
that
was
way
before
my
time
I
was
actually
in
auto.
I
was
working
out
of
the
offices
there
when
they
went
all
remote
cost
of
living.
Auto
was
quite
a
bit
higher
than
I
would
pick
so
it
made
sense
to
just
live
where
it's
cheaper,
where
my
family
is.
A
Yeah,
it's
we've
been
meeting
the
next
five
minutes.
A
C
On
that
note,
it
is,
it
is
about
the
usual
time
to
to
kick
off
the
quality.
So
take
a
quick
look
at
the
agenda.
I
know
I
see
a
lot
of
names
going
on
and
then
just
kind
of
the
usual
the
usual
plan.
So
if
that
stands
yeah,
so
I
guess
just
first
off.
Is
there
anything
on
this
agenda
that
not
on
the
agenda
that
we
should
at
least
mention
up
front
that
we
should
go
over.
B
B
I
just
opened
a
couple
of
issues
right
now
for
recent
changes
in
our
kind
of
custom,
instrumentation
library,
our
our
legacy
code
base
that
I
think
we
should
try
to
reflect
in
open,
telemetry,
ruby
as
well
so
yeah.
If
we
can
chat
about
those
briefly
later
on
that'd,
be
helpful.
C
Yeah
that
sounds
good
I'll.
Kick
it
off
with
the
spec
sig
that
it
did.
It
was
not
a
super,
lengthy
spike
say.
C
Let
me
share
a
screen
and
let
me
see
how
this
share
screen
goes.
I
have
a
slightly
different
setup
today,
which
I'm
sure
will
be
fun.
C
C
It
works
great,
yes,
yeah
short
aside
last
week
at
the
meeting
after
this
meeting,
one
of
my
cats
bit
through
my
macbook
display,
which
is
what
I
used
to
use
for
my
webcam
and
the
display
went
dark.
I
managed
to
make
it
through
the
meeting,
because
I
was
in
a
quick,
satisfactory
external
as
well,
but
rebooting
did
not
work.
C
So
I
found
myself
at
the
apple
store
in
downtown
portland,
which
is
like
a
fortress.
I
mean,
I
guess
it's
not
surprising.
C
Only
way
to
survive
down
there
right
now,
but
yeah,
the
armed
guards.
Let
me
in
applecare
does
cover
such
things.
Okay,
now
on
to
the
specs
thing,.
C
C
I
think
there's
this
issue
and
I
was
not
here
for
this
discussion,
but
I
think
the
this
was
brought
up
a
little
while
ago
that
the
has
had
to
do
with
the
values.
D
A
There
does
that
impact
any
of
our
resource
detectors,
maybe,
but
that
should
be.
C
So
we
should,
we
should
make
sure
that
we
adhere
to
these
new
conventions.
It
hasn't
merged
yet,
but
it
is
getting
a
lot
of
approvals,
so
it
looks
like
it
is
on
its
way
to
merging.
C
Basically,
I
think
the
the
ask
here
is
wanting
to
be
able
to
set
status
if
it's
not
already
set.
So
the
question
was
started
to
come
off,
as
can
we
get
like
a
reader
on
status
and
there's.
C
The
the
open,
telemetry
design
is
really
strongly
discouraged.
Any
kind
of
like
reading
like
of
span
data
in
general,
the
approach
has
been
span
should
be
right
only
or
almost
completely
right.
Only
and
the
reason
for
this
is
to
make
it
possible
to
have
a
a
streaming
tracer,
where
you
just
kind
of
like
send
off.
C
C
C
But
basically
I
think
there
is
some
verbiage
in
the
spec
that
instrumentation
that
the
setting
status
is
really
something
that
the
user
supposed
to
do,
as
at
least
setting
status
to
error
is
something
that's
supposed
to
be
reserved
to
the
user
because
of
complications
and
universally
deciding.
What
is
an
error,
but
I
think
this
is
the
java
auto
instrumentation
group.
C
Kind
of
sums
up
discuss,
adding
a
status
source
field
with
two
states,
user
and
instrumentation
user
status
always
wins.
C
C
So
that
sounds
slightly
complicated.
Another
solution
would
be
to
add
an
option
to
set
status
and
an
end
option
to
set
status
so.
B
D
So,
if
I'm
understanding
that
correctly,
then,
is
the
approach
we're
taking
with
the
rack
tracer
middleware
correct,
then,
because
we're
setting
the
span
status
based
off
of
the
http
status
that
comes
in.
B
Yeah,
so
that
is
correct,
but
the
key
problem
here
is
that
auto
instrumentation,
you
know
semantic
conventions,
kind
of
dictate
when
you
set
an
error
status
and
the
the
spec
says
that,
ideally,
if
a
user
is
explicitly
setting
the
status,
then
that
should
take
precedence
over
instrumentation
setting
the
status,
because
the
user
has
more
knowledge
about
their
use
case
than
the
instrumentation
author
so
and
the
original
the
original
approved
solution
for
this
was
that
you
you'd
actually
have
this
status
source
thing
that
would
tell
you:
did
it
come
from
instrumentation,
or
did
it
come
from
user
and
a
user
setting
would
always
take
precedence
that
I'm
not
entirely
sure
why
that
didn't
make
it
into
the
spec,
but
it
didn't
so
here
we
are.
C
So
does
that
sound
like
a
a
reasonable
approach?
Are
there
any
concerns
with
doing
that
for
for
ruby.
B
I
think
it's
a
reasonable
approach.
We're
generally,
I
think,
in
the
rack,
instrumentation
we're
only
setting
the
error
status
at
the
end
anyway
or
right
before
ending
the
span.
So
it's
it's
not
terrible,
at
least
for
the
known
use
cases.
Are
there
unknown
use
cases
where
this
could
be
a
problem?
I
don't
know.
A
I
my
only
I'm
just
kind
of
thinking
out
loud
whether
our
http
clients,
which
we'd
have
instrumentation
for
do.
We
even
really
have
a
place
where
a
user
could
set
the
http
client
span
status.
It
feels
if
it's
under
auto
instrumentation
outside
of
a.
B
B
So
we
don't
have
any
hooks
that
allow
them
to
do
that,
but
they're
you
know
for
clever
use
cases,
I'm
sure
you
could
create
middleware
and
hook
it
up
at
the
appropriate
point.
A
Yeah
yeah,
I
wonder
how,
in
practice
how
well
a
true
streaming
exporter
would
function
with
some
of
our
like
practical,
you
know
approaches
we
would
need
to.
I
don't
know
with
instrumentation.
Basically
whether
I
don't
know.
B
About
keeping
the
state
on
the
back
end
and
having
to
update
it
right,
you
can't
you're
frozen
on
the
back
end.
You
need
to
be
able
to
update
the
status
and
have
this
logic
of
you
know.
Instrumentation
set
status,
yeah
yeah,
sorry
uses
that
status
takes
priority
of
your
instrumentation
set
status,
but.
A
Yeah
yeah
thanks
for
hearing
me
cool,
it
might
be
worth
thinking
about.
As
we
add
new
instrumentation
to
pri,
not
prioritize,
but
hooks
are
a
place
where
we'll
maybe
save
ourselves
a
lot
of,
if
not
trouble,
certainly
just
users
coming
to
us
and
saying
like
hey.
I
can't
do
this
on
my
back
end,
so
hooks
might
save
us
in
practice
a
lot
of
times
as
we
can
move
forward.
B
Yeah,
I
think
in
general
we
should
not
add
hooks
if
there's
an
existing
mechanism
like
faraday
middleware,
that
people
are
able
to
liberate
to
leverage
so
like
the
faraday
instrumentation
probably
doesn't
need
hooks,
but
for
things
where,
like
users
can't
easily
get
a
handle
on
stuff
to
update
the
span
before
it's
ended,
then
we
should
provide
ways
of
doing
that
cool
yeah.
That
makes
sense.
F
I
generally,
I
generally
recommend
if
people
want
some
custom
status
of
something
you're
in
the
realm
of
customs,
like
create
your
own
spam
in,
within
the
context
of
doing
a
thing
and
then
you're
doing
manual
instrumentation
to
instrument
your
custom
error
case
not
like
a
web
request,
has
a
fairly
standard
nomenclature
in
web
development
world
that
you
know
this
web
request
failed
with
a
status
code
and
that
status
code
is
considered
an
error,
and
if
you
want
to
reinterpret
it,
that's
an
opportunity
to
make
a
span
around
it,
or
so
I
would.
F
B
Yeah
yeah,
the
the
flip
side
of
that
is
that
you
typically
want
to
start
with
auto
instrumentation
and
if
you
get
a
lot
of
noise
out
of
the
box
and
that's
inconvenient
the
other
and
and
it's
nice,
if
you
just
have
simple
little
hook,
points
where
you
can
say
no
like
this
is
not
an
error
for
my
use
case.
B
The
the
other
thing
is
that
there's
been
a
lot
of
discussion
over
time
about,
like
nested
spans
and
how
those
are
interpreted
on
the
back
end
and
how
it
can
be
useful
to
actually
collapse
a
lot
of
information
into
you
know
a
client
span,
a
single
client
span
or
a
single
service
man,
but
yeah
I
mean
it's
a
trade-off
and
I
don't
think,
there's
a.
I
don't
think
the
issue
has
been
settled
in
the
community
yet
about
which
is
better.
C
I
think
those
those
are
good
and
interesting
ideas
to
bring
possibly
to
the
instrumentation
working
group
yeah
as
we're
just
discussing
that,
like
I
was
kind
of
thinking
through
my
mind
of
like.
Why
don't
why
don't
we
have
hooks
on
all
the
instrumentation
for
like
before
span
end
or
you
know
after
after
start,
something
like
that.
That
would
be
amazing.
B
So
there
was
actually
a
spec
issue
at
some
point.
Maybe
I
don't
think
it
was
an
overtap,
but
maybe
a
spec
issue
at
some
point
to
have
this
before
span
and
hook
precisely
because
spans
are
read-only
once
they're
ended,
so
that
becomes
a
more
general
thing.
It's
not
just
an
instrumentation
thing.
It
becomes
like
any
span.
You
can
trigger
something
before
the
span
ends,
so
you
get
a
chance
to
update
it.
One
last
time
before
it's
frozen.
C
Yeah,
the
one
the
one
thought
that
occurred
to
me
in
the
instrumentation
context
that
made
me
that
tempered
my
excitement.
A
little
bit
was
that,
like
some
instrumentation
will
create
a
single
span
and
it
makes
a
lot
of
sense
to
have
like
a
single
book.
Some
of
them
create
like
multiple
spans,
and
then
you
end
up
with
like
how
do
you?
How
do
you
represent
that,
and
maybe
there's
a
clean
way
to
do
it,
but
but
yeah?
I
think.
C
If
nothing
else
like
there
is
the
ability
to
try
to
find
a
good
point
in
the
code
where
you
can
grab
at
the
current
span
and.
C
Cool,
have
we
covered
this
sufficiently?
Should
we
won
thanks
for
entertaining
no
problem.
C
All
right,
there's
an
update
on
the
api
and
it
sounds
like
stuff-
is
moving
along
for
the
metrics
api.
Sorry,
I
think
we
kind
of
talked
about
this
a
little
bit
last
week
about
like
where
are
things.
When
is
the
right
time
to
start
looking
at
stuff?
I
don't
know
that
we
have
the
answers
to
those
questions,
but
we
at
least
have
like
a
status
update
as
to
where
things
are.
So
there
is
this
document
which
is
new
api.
C
So
this
is
the
thing
that
the
api
working
group
is
is
working
on.
You
can
take
maybe
a
more
detailed
look
at
that,
but
the
the
summary
was
that
it
currently
the
I
guess
the
revamp
includes
the
meter
provider
meter
counter
and
then
counter
func.
So
it's
kind
of
like
the
synchronous
and
async
versions
of
a
counter.
C
It
says
there
are
two
remaining
tasks:
decide
the
remaining
instruments
and
their
names.
Okay.
I
guess
that
was
a
big
question
for
me
why
I
only
conjured
contour
funk,
but
it
seems
like
it
seems
like
they
just
wanted
to
get
asynchronous
and
asynchronous
instrument
in
there
as
part
of
the
initial
design
and
then
reuse
the
hint
api
after
they
have
the
s
sdk
spec,
I'm.
G
C
So
so
that's
the
api.
I
guess
that
they're
starting
to
kind
of
firm
up.
So
that's
what
the
user
is
going
to
interact
with
the
sdk
spec
will
start
next
week.
So
that'll
be
what
backs
the
api.
C
About
some
of
this
roadmap
in
future
and
open
questions,
so
I'm
not
sure
if
anybody
is
interested
in
that
there
is
a
thursday
meeting,
I'm
not
exactly
sure
when
it
happens,
but
they
were
going
to
at
least
recap
the
highlights
at
the
maintainers
meeting
the
next
monday.
C
C
Yeah,
that
is,
that
is
update.
It
does
sound
like
stuff
is
coming
along
and
if
you
are
interested,
probably
have
a
look
over
this
document
for.
I
C
We
can
move
on
over
to
our
repo
francis
mentioned
the
pr
to
look
at
and
some
issues
to
go
through.
D
B
Yeah
sure
sure
you
don't
need
to
go
through
the
whole
thing,
but
the
stuff
that's
already
been
commented
on
is
the
interesting
to
do's
anyway.
So
this
is
maybe
actually
you
can
click
on
the
issue
706,
and
we
can
take
a
look
at
that,
because
that
has
a
little
more
context.
So
this
is
some
of
the
stuff
that
we
discussed
last
week.
We
want
to
be
able
to
upgrade
a
tracer.
That's
been
returned
from
the
global
tracer
provider.
B
The
default
global
tracer
provider
before
the
sdk
has
been
installed,
we'd
like
to
upgrade
it
to
be
an
sdk
tracer.
So
I've
discussed
here
some
of
the
considerations.
They
did
a
survey
of
the
other
language
sigs
and
some
of
them
don't
really
do
anything
special,
so
swift,
c,
plus
plus
ruston.net,
don't
seem
to
do
anything.
Special
go
has
a
thing
that
delegates
tracer
calls
once
a
real
tracer
provider.
So
it
has
this
proxy
tracer
provider
and
proxy
tracer
instances.
B
It
has
this
one
weird
thing
where
it
only
allows
the
global
tracer
provider
to
be
set
once
so
initially.
B
Initially,
it's
that
the
global
provider
is
nil,
and
you,
if
you
ask
for
a
tracer
from
the
nil
tracer
provider,
you
get
these
proxy
traces
and
then
it
it's
kind
of
a
set
once
thing
that
then
does
the
upgrade
of
whatever
proxy
traces
have
been
returned.
B
Javascript
has
a
similar
registration
process
to
plug
in
the
real
one
I
think
javascript
and
go
allow
you
to
set
it
multiple
times,
but
only
the
first,
like
only
the
first
time
you
set
it.
Will
things
be
upgraded
java
and
python
only
allow
the
tracer
provider
to
be
set
once
java
doesn't
seem
to
do
anything
special.
It
just
tries
to
get
sdk
initialization
to
happen
as
early
as
possible.
B
So
anyway,
I
implemented
the
proxy
tracer
provider
and
proxy
tracer
approach,
and
then,
if
we
flip
over
to
the
pr
the
things
that
need
to
be
decided
are,
do
we
need
to
use
a
mutex
for
this,
and
I
think
so
part
of
the
reason
is
that
this
isn't
an
atomic
set.
B
Really,
we
need
to
walk
all
the
traces
that
have
been
created
so
far
for
this
proxy
tracer
provider
and
set
their
delegate
and
then
set
the
delegate
for
the
tracer
provider
and
then
update
the
trace
provider
to
point
to
the
real
one.
So
I
think
we
probably
need
a
mutex
here,
just
in
case
somebody's
trying
to
set
tracer
provider
from
multiple
threads.
I
don't
know
this,
isn't
a
performance
critical
path
anyway
and
then
the
other
open
question
is:
should
we
allow
only
selling
this
global
once
the
way
that
python
does.
B
So
I
don't
know
if
anybody
has
opinions
about
that.
I
know
robert
does
and
he's
made
his
opinions,
or
at
least
he's
he's
discussed
some
use
cases
here
for
setting
multiple
times.
We
we
kind
of
set
up
multiple
times
in
tests
anyway,
because
we
reset
it
to
nil.
B
C
I
was
just
going
to
at
least
mention
yeah.
I
made
this
comment
about,
like
whatever
we
do
for
tracer
provider.
We
should
do
for
the
other
globals
retract
part
of
that
after
this
conversation
now,
just
because
I
think
the
the
adder
writers
will
be
atomic
and
do
not
need
to
be
protected
by
a
mutex.
B
Yeah
and
the
trace
config
is
I'm
just
drawing
a
blank
on
the
term
right
now,
but
it's
basically
a
a
const
object.
So
it's
it's
a
read-only
thing
when
you
create
the
config.
So
if
you
want
to
adjust
the
config,
you
need
to
create
a
complete
new
config
and
then
insert
it
and
the
insertion
is
going
to
be
atomic
and
then
the
other
one
people
were
talking
about
was
the
span
processor.
B
You
can
only
add
span
processors.
At
the
moment
you
can't
swap
out
the
span
processor
for
a
different
one,
and
I
believe
that
is
protected
by
mutex,
but
I'll
have
to
double
check
that
and
then
there
was
one
other
one:
the
id
generator
for
span
ids
and
trace
ids
yeah,
that's
not
protected
by
a
mutex,
but
that's
just
a
writer
anyway.
C
Yeah,
I
guess
I
guess
the
the
spirit
of
my
comment
here.
Anyways
was
mainly.
C
Whatever
policy
we
decide
around,
the
global
should
should,
I
think,
we're
kind
of
committed
to
supporting
once
we
decided.
So
if
all,
if
registering
these
are
all
expect
it
to
be
thread
safe,
then
then
we
kind
of
commit
to
it.
Whatever
happens
in
the
future
and
whatever
that
means,
and.
B
Yeah
in
in
general,
we've
tried
to
be
thread
safe,
so
we
should
continue
doing
that
because
we
know
this
like
this
is
going
to
be
executed
in
a
multi-threaded
context.
It's
questionable
about
whether
this
specific
operation
would
be,
but
we
might
as
well
be
careful.
I
think
around
this.
C
Yeah,
I
think,
as
long
as
we
don't
end
up
having
to
introduce
locking
that's
going
to
create
perf
issues
as
a
result,
because
I
feel
like
the
yeah.
C
C
B
Guess
does
anybody
have
opinions
about
only
allowing
this
to
be
set
once
there
is
a
weird
thing
that
we
do
in
tests
where
we
set
it
to
nil?
So
you
have
this
behavior,
where
you
initially
you
don't
you,
you
haven't
set
it.
So
if
you
ask
for
the
tracer
provider,
you
get
the
proxy
tracer
provider
and
it
returns
proxy
traces.
B
And
then,
if
you
set
it
all
those
proxy
traces
are
going
to
be
upgraded
or
they're
going
to
have
their
delegates
set
to
be
to
real
tracer
instances,
and
then
we
hammer
it
to
nil
again
after
the
test.
B
So
the
next
call
is
going
to
create
a
new
proxy
tracer
provider
right
which
happens
to
be
what
we
want
in
tests.
But
is
this
the
correct
behavior
at
run
time?
Would
anybody
realistically
trigger
this
behavior
at
runtime?
D
I'm
less
concerned
with
like
runtime,
because
I
think
you're
probably
doing
something
kind
of
weird,
if
you
run
into
this
in
like
your
production
environment,
but
I
could
see
this
could
be
kind
of
frustrating
in
tests
like
something
I
was
working
on
yesterday,
there's
an
application
and
for
99
of
their
tests.
D
They
don't
care
that
tracing
exists
in
the
background
and
rightfully
so
it
just
kind
of
goes
off
to
a
you
know,
producer
or
exporter,
I
should
say,
but
there's
like
two
or
three
files,
that
they've
added
explicit
trace
points
and
they
want
to
test
the
resulting
span.
D
So
in
that
case,
like
you
probably
wouldn't
want
to
use,
say
like
what
we
do
in
our
test
use
the
in-memory
exporter
and
then
we
can
look
at
our
spans.
They
probably
don't
want
to
do
that
for
their
entire
test
suite
or
making
the
assumption
that
they
don't
want
to
so
being
able
to
configure
the
sdk
once
with
a
no-op
exporter
and
then
again,
maybe
that
select
test
with
the
in-memory
one.
D
So
you
can
actually
look
at
the
result
and
then
turn
it
off
again
after,
like
that
kind
of
workflow,
I
think
we
should
have
some
support
now,
whether
or
not
that
means
like
you
kind
of
left
this
in
the
comment
like
whether
or
not
it
means
like
we
say
yeah,
you
can
only
allow
setting
it
once,
but
we
make
some
gnarly
test
helper
package
that
digs
into
instance
variables
and
allows
you
to
do
whatever
you
want,
but
we
create
some
sort
of
clean
api
to
do
it.
That's
you
use
this
in
test
sort
of
thing.
B
Yeah,
it
would
actually
be
safe
and
would
probably
behave
correctly.
You
know,
like
would
behave
the
way.
People
think
it
would
behave
if
you
allowed
it
to
be
set
multiple
times,
though
the
weirdness
is,
if
you
hammer
it
to
nil
the
way
we
do
because
we're
explicitly
testing
this
behavior
but
yeah.
B
If
you're
hammering
it
to
nil
in
your
test
suite,
instead
of
hammering
it
to
a
a
no-op
tracer
provider
which
you
can
do,
then
it
could
be
problematic
because
then
you're
going
to
potentially
get
the
thing
upgraded
multiple
times
and
you
might
get
what
you
think
are
no
op
traces
suddenly
behaving
like
real
traces.
E
I
was
going
to
say
like
one
way
to
to
do
that
is,
I
don't
know,
maybe
figuring
out
a
way
to
steer
people
away
from
using
global
tracers
as
part
of
their
test
cases,
because
we're,
for
example,
using
dependency
injection.
If
you
have
a
class
that
relies
on
a
tracer,
you
can
provided
a
configured
tracer
just
for
that
test
case
and
decouple
yourself
from
the
global
tracer.
That's
one
way
to
do
that.
E
The
question
about
whether
or
not
overriding
that
global
tracer
provider
or
multiple
times
what
kind
of
problems
I
myself
probably
confusion.
But
if
somebody
is
overriding,
the
global
tracer
multiple
times,
that's
probably
a
bug
in
their
code
and
they'll
still
have
to
try
to
figure
that
out.
If
we
prevent
them
from
overriding
it
like.
What
would
we
do?
E
Would
we
raise
an
exception
to
say
you
can't
set
this
again
or
would
we
log
in
error
and
they'd
still
have
to
try
to
track
it
down
like
what
would
we
do
to
give
them
feedback
that
they
can't
set
that
tracer
multiple
times?
I
I
either.
B
Point:
that's
a
contentious
point:
yeah
yeah
like
we're
doing
that
in
our
tests,
because
that's
a
convenient
way
to
test
the
upgrade
behavior,
but
it's
not
something
end
users
should
do,
and
users
should
maybe
set
it
to
a
no
op
tracer
provider
or
simply
not
you
know
not
reset
it
or
something
right.
You
know,
read
the
all
trace
provider
and
hammer
it
back
in
at
the
end.
B
Sound
so
the
pi,
that's
the
api
tracer
provided
yeah.
So
we
have
an
api
tracer
provider,
which
is
the
noaa
tracer
provider.
And
then
we
have
the
the
the
defaults
in
this
implementation,
which
is
a
proxy
tracer
provider,
which
is
an
api
internal
concept
and
shouldn't
be
accessed
by
anybody
outside
of
the
api.
F
This
whole
testing
scenario
reminds
me
of
trying
to
test
say:
sidekick
jobs
sidekick
as
a
library
has
a
testing
mode
bang,
which
would
put
the
whole
auto
behavior
into
a
different
mode
where
you
could
test
that
job's
gotten
queued,
which
smells
a
little
bit
like.
I
want
to
test
that
spans
got
sent
yeah
yeah,
I
I
was.
G
Was
just
gonna
say
also,
you
know
another
thing
about
the
sidekick
testing,
because
you
have
to
explicitly
require
another
file,
which
is
right
a
nice
little
thing.
We
could
build
a
bunch
of
little
side
testing
functionality
off
in
a
set
of
files
that
are
never
included
when
it's
running
in
a
non-test
mode.
B
Yeah,
the
yeah,
the
thing
I
was
going
to
point
out
was,
I,
I
think
the
in-memory
span.
Exporter
is
not
actually
part
of
the
spec.
I
think
it's
recommended
that
you
provide
a
mechanism
like
that,
but
the
actual
api
of
that
is
not
specced,
so
we
do
have
freedom
to
add.
You
know
convenience
to
that
that
we
think
makes
sense.
For
you
know,
testing
use
cases.
F
D
D
D
I
would
personally
like
that
as
like
being
able
to
service
that
to
like
the
different
teams
that
might
want
to
test
their
their
custom
trace
points
or
whatever
and
just
give
them
a
ridley
one
line
on
one
line
off
functionality
to
their
test
setup
so
that
they
can
ignore
it
the
rest
of
the
time
that
would
be
ideal.
I
think.
B
B
C
Cool,
so
I
think
those
all
sound
like
reasonable
ideas.
It
sounds
like
it
sounds
like
we
still
kind
of
have
these
questions,
though
it
seems
like
we
can
build
some
test
helpers
to
do
whatever
we
need
to
do
in
for
us.
But
when
we
ask
the
question,
should
we
allow
something
that
global
wants?
What
does
that
mean
to
the
user?
C
I
think
arielle
was
asking
like
do
we
warn?
Do
we
throw
an
exception?
Do
we
just
let
them
do
it
like?
Do
we
have
any
strong
feelings
here.
B
I
think
it's
okay
to
set
it
multiple
times.
I
kind
of
agree
with
go
go's
implementation
here.
I
think
it's
okay
to
set
multiple
times.
I
don't
think
we
even
really
need
to
warn
about
it.
It
seems
like
a
reasonable
use
case
in
certain
test
scenarios
at
least
and
yeah.
I
I
think
it's
okay
to
say
more
than
once.
I
do
think
that
it
might
be
valuable
to
say
you
can't
set
it
to
nil
and
warn,
in
that
case,
probably
not
throw
an
exception,
but
just
worn
there
is
there.
F
H
B
B
Yes,
we
just
have
to
make
sure
that
we're
not
printing
that
on
expected
upgrades.
Why
not
like?
Because
it's
actually
a
fairly
common
use
case
and
people
are
already
cranky
about
open,
telemetry,
ruby,
spitting
out
a
ton
of
maybe.
B
F
B
B
B
Yep
that
gives
me
some
stuff
to
play
around
with.
I
will.
I
will
be
a
little
slow
this
week
because
I'm
off
this
week,
but
I'll
try
to
get
to
those
in
the
evenings
or
something
I
did
want
to
just
take
a
look
at
a
couple
of
issues
quickly.
If
we've
exhausted
this,
I
think
we.
C
Have
I
was
mildly
curious
about
the
the
test
failures,
yeah.
B
C
B
Weird
yeah,
so
maybe
the
reset
behavior
is
weird
and
it's
something
we
should
look
into
cool.
No
further
questions
hammering
it
to
nil
might
be
a
problem.
B
Okay,
the
two
things
I
wanted
to
look
at
one,
let's
start
with
709..
I
just
put
these
in
as
placeholders
right
before
the
meeting,
there's
a
little
bit
more
meat
to
them.
We
are
calling
time
now
eric
actually
talked
is
eric's
still
here.
No,
he
dropped
off.
So
eric
talked
about
datadog's
implementation
of
time
in
their
tracer
a
while
back
and
we're
calling
time
now
and
then
doing
comparisons
of
time,
stamps
or
time
objects
that
are
returned.
This
is
allocation
heavy.
B
It
has
some
other
problems
as
well,
so
for
our
legacy
tracer
code.
We
recently
replaced
this
with
process
clock,
get
time
clock
at
time,
just
returns
a
numeric
in
practice.
It's
a
float
representing
seconds
since
epoch,
and
you
can
specify
you
know
which
clock
you
want.
You
want
the
real-time
clock
or
monotonic
clock
or
whatever
the
the
reason
I've.
B
So
it's
a
useful
efficiency
improvement
and
it
also
allows
us
to
do
to
treat
time
properly,
which
is
basically
for
the
start
of
a
span
that
is
that
has
either
a
remote,
remote
parent
or
it's
a
root
span.
You
record
the
start
time,
as
you
know,
from
the
real-time
clock,
but
you
also
record
or
keep
track
of
the
monotonic
clock
and
then
any
other
time
stamps
that
are
part
of
the
same
process
in
the
same
trace
up
being
recorded
as
offsets
using
the
monotonic
clock.
B
So
this
means
that
you
deal
with
clock
changes
you're
from
ntp
or
whatever,
and
you
always
end
up
with
you
know
appropriate
duration.
So
your
end
times
and
your
event
times
are
always
relative
to
the
start
time
of
the
first
span
that
was
created
locally
for
that
trace.
B
So
that's
the
tldr
of
kind
of
what
I
want
to
tackle
here.
The
main
reason
I
think
it
needs
to
be
done
before
the
release
candidate
is
that
right
now
we
expose
time
now
as
a
time
representation
for
all
our
timestamps
in
span
data
and
event,
and
so
that
impacts
exporters.
B
I
Okay,
so
the
other
p,
sorry,
the
other
question,
sorry
yeah
in
general,
thumbs
up
on
on
on
the
plan.
I
just
a
question
of
whether
the
like
the
monotonic
clock
and
everything
is
supported
on
all
the
platforms
that
we
care
about,
whether
like
windows
or
is
there
any
issues
like
that.
B
That's
a
a
good
question,
so
I
don't
know
whether
it's
supported
on
windows.
I've
not
programmed
on
windows
in
a
very
long
time,
so
it
is
supported
on
linux
and
mac
os,
but
yeah
we
should.
B
B
Cool
okay:
the
other
issue
was
a
little
bit
so
introducing
an
after
after
fork
hook.
Process
paired
is
pretty
cheap
but
we're
calling
it
on
every
every
time
we
record
a
span.
We
end
up
calling
process
pid
just
to
check.
I
think
we
probably
call
it
twice,
maybe,
but
we're
checking
to
see
whether
the
pit
has
changed,
in
which
case
we
conclude
that
we've
forked
and
we
need
to
do
some
cleanup
work.
B
If,
if
we
discover
that
we
forked,
this
is
in
the
batch
span,
processor
in
particular,
so
we
have
a
a
change.
Somebody
at
shopify
was
doing
some
profiling
and
process
paid
is
cheap,
but
it
did
show
up
on
the
profile,
and
so
they
looked
into
what
to
do
about
it.
It
turns
out,
I
think
the
rails
community
may
have
had
some
investigation
of
this
recently
as
well,
and
I
don't
know
what
their
use
case
was,
but
they
were
looking
into
this
and
they
they
concluded
that.
B
Basically,
if
you
tried
to
fork
mri
an
mri
process
without
actually
going
through
mri's
fork
code
path,
all
bets
were
off
and
you'd
probably
crash
pretty
quickly
afterwards
anyway.
So
the
suggestion
was.
B
B
And
doing
things
this
way
means
that
you're
just
running
the
appropriate
code
on
the
path
where
the
fork
is
happening,
as
opposed
to
calling
process
paid
on
every
span.
Recording.
H
I
don't
have
any
strong
feelings
about
it,
other
than
the
purpose
of
introducing
it
to
cache
sort
of
essentially
or
avoid
calling
process.pid
over
and
over
again
needlessly
seems
valid.
To
me,
you
know
seems
like
a
very
simple
little
thing
we
don't
have
to
do.
I
don't
know
if
it's
going
to
encourage
people
to
do
dodgy
things
after
fork,
perhaps
but
seems
okay
to
me.
B
Yeah
so
rails
has
this.
I
have
not
so
this
change
has
been
proposed
for
our
legacy,
tracing
library
as
well.
I
have
not
finished
reviewing
it
yet
because
it
is
kind
of
intricate
but
yeah.
I
think
once
we've
tried
it
out
I'd
like
to
see
if
we
can
do
the
same
thing
in
it's
kind
of
annoying
that
we're
copying
it
in
a
few
different
projects,
but
I
would
like
to
do
the
same
thing
in
open,
telemetry,
ruby,
because
for
us
this
would
end
up
being
a
regression.
B
Once
we
migrate
all
our
services
to
use
open,
telemetry,
ruby
yeah,
that
was
that
was
it.
I
don't
think
at
first
glance
that
it
actually
requires
api
changes
to
the
sdk
or
the
api.
So
I
don't
think
it
has
to
gate
the
release
candidate.
F
B
Yeah,
yes,
so
the
the
other
possibility,
of
course,
is
that
we
provide
a
hook
that
can
be
called
for
after
fork
and
if
you're
like
in
the
rails,
instrumentation,
for
example,
we
could
hook
into
the
act
of
support
after
four
cook.
F
B
C
Cool,
so
we
have
hit
time
looks
like
we
covered
what
we
wanted
to
cover.
I
was
just
gonna
ask
quickly
if
I
know
there's
some
things
open
here.
Is
there
anything.
B
B
C
B
Kind
of
stalls,
the
two
thing:
two
things
that
have
stalled
in
my
opinion-
are
the
postgresql
gem
instrumentation.
I
have
not
had
a
chance
to
get
around
to
reviewing
that
and
the
bunny
instrumentation.
I
had
reviewed
that
previously,
but
I
need
to
go
back
and
re-review
it.
Since
johannes
made
the
changes
that
I
requested,
so
I'm
not
going
to
be
super
active
this
week.
It
would
be
enormously
helpful
if
folks,
who
are
more
familiar
with
postgresql
and
bunny,
had
a
chance
to
review
that
instrumentation.
C
H
Set
of
eyes,
I've
been
running
it
in
production
for
the
past
week
and
it's
fine
it
works,
doesn't
crash.
I
can
assert
that
much
at
least
seems
vaguely
useful,
so
yeah
just
reviews.
Actually
I
think
it's
otherwise
okay
to
go
at
this
point.
C
Are
there
any
bunny
or
amqp
experts.
F
I'll
I'll
see,
I
know
I
said
I
would
look
into
that:
try
out
the
postgres,
instrumentation
and
I'll.
I
said
that
like
two
weeks
ago,
when
it
was
open
I'll
see
if
I
could
set
some
time
this
afternoon
to
wire
that
up
see
how
it
feels
bunny.
I
got
nothing
but
postgresql
awesome
thanks,
awesome.