►
From YouTube: 2022-12-16 meeting
Description
cncf-opentelemetry meeting-2's Personal Meeting Room
A
B
All
right,
thank
you,
id2,
let's
give
maybe
another
minute
to
others.
A
Yeah
I
think
RAM
on
teams,
as
well
with
the
link.
Okay,
he's
currently
showing
us
offline,
so
I'm
not
sure
if
he's
gonna
make
it
at
all
yeah
he's
also
off
after
today,.
B
Oh
he's
not
available
next
few
weeks
as
well.
A
In
my
calendar
he's
showing
us
away
next
week,
okay,
so
I
think
for
the
next
two
weeks
he's
going
to
be
out
where
I'm
at
for
the
next
three
weeks.
Okay,.
B
Yeah
I'm
I'm,
I'll
I'll,
see
if
Martin
is,
is
going
to
be
available.
I
I
want
to
see
if
we
can
make
progress
on
the
logs,
SDK
and
and
and
then
at
least,
you
know,
build
out
some
sample
events
generating
some
sample
events,
yeah
prototyping.
That
way,
at
least
from
the.
B
You
know
based
platform
perspective,
you
know
we
have
the
necessary
tools.
Yeah.
A
Yeah,
like
Daniel,
it
looks
like
he's
pinged
Martin
this
morning
about
the
logger
API
as
well.
B
B
Okay
and
I
I,
don't
know
why
our,
whether
it's
only
me
but
in
the
lock
stick
the
other
day,
you
know
Ted
bringing
up
the
concerns.
I
I
felt.
You
know
it
was
a
little
confusing
because
I
think
what
we
need
help
is
more
on
on
the
remaining
issues.
More
than
with
you
know
the
event
spec.
You
know
yeah
changing
so
much
because
I
feel
like
the
event
spec
changes,
although
they
do
affect
us,
the
the
changes
being
discussed
are
are
smaller.
B
Like
the
event
API,
you
know,
even
though
it's
being
considered
to
be
taken
away,
you
know
we
can,
since
the
logger
API
will
remain.
You
know
it's
not
a
big
deal.
We
don't
even
have
to
tell
these
spec
folks.
So
what
is
more
important?
Is
you
know
what
constitutes
an
event?
And
then
there
is
a
logger
API.
We
can
build
the
those
events
using.
A
The
locker
API
yeah
I
I
think
he
was
more
confused
about
the
discussion,
which
is
now
closed
effectively
just
saying
it.
The
events
are
only
going
to
be
Cloud
events,
yeah.
B
A
B
I
think
since
since
Ted
offered
help
from
the
TC
one
thing,
I'm
thinking
I'll
do
is
I'll
update
the
project
tracking
issue
with
the
with
the
two
outstanding
topics,
which
is
you
know,
one
is
defemoral
resources,
resource
attributes
and
then
the
second
one
is
the
nested
attributes
in
in
log
records.
The
span.data
I
mean
the
event.data
yeah.
A
Yeah
I
I
guess
like
I,
look
at
your
PR,
it's
actually
looking.
Oh,
it's
really
a
lot
nicer
and
the
examples
I
think
really
help
I
like
I
like
option
one,
because
that's
nice
and
small,
as
opposed
to
option
two,
which
is
nested
attributes.
Okay,
sorry,
yeah.
B
B
Let
me
share
my
screen,
so
others
can
see
what
we're
talking
about
so
I
added
some
examples.
B
Added
you
know
some
payload
examples
for
page
view.
I
said
in
option
one
for
the
event.data
I
said
the
value
is
of
type
map,
value,
I,
I
I,
don't
know,
I
just
put
something
for
now.
B
And
I
I
just
put
the
key
value
pairs.
You
know
directly
here,
whereas
in
the
option
two
I
I
said
it's
a
nested
attributes,
yeah
and
then
each
one
is
again
of
the
current
attribute
format,
which
is
yeah
each
one.
The.
A
Type
is
repeated,
so
log
records
today
option
two
should
be
supported.
It's
just
the
tooling
doesn't
support
that
at
this
point,
but
option
one
would
be
a
lot
nicer
from
a
size
perspective
and
option.
One
also
gives
us
the
the
potential
of
saying
okay
for
a
log
record.
It
is
just
nested
and
if
we
don't
get
nested
attribute
support
in
a
span
event,
we
just
say
we
stringify
that
and
that
drops
into
event.data
as
a
stream
for
a
span
event.
Okay,.
B
I
I
have
I
mean
I,
I
haven't
looked
at
the
protobuf
so
much,
but
you
know
this
type.
This
key
will
be
repeated
right
in
in
protobuf.
So
that
is
the
concern.
Yeah.
A
Everything's
gonna
have
those
three
key
value
and
that's
a
key
foreign.
B
Okay,
like
I'm
trying
to
see,
is
it
really
a
big
deal?
You
know
in
in
terms
of
size
between
these
two
options.
A
Rather
yeah,
if
you
count
the
number
of
bytes,
you
probably
got
an
extra
20
to
30
points,
maybe
a
bit
more,
because
you've
got
a
you're
repeating
the
key
name
like
you're,
repeating
key
value
and
string
value
instead
of
just
saying
your
title
and
then
the
actual
value
of
the
time.
So
that
that's
really
where,
though,
where
it
comes
in
okay-
and
you
can
say:
okay
if
we
can
get
compression,
always
turned
on,
because
we've
only
got
to
Target
modern
browsers
that
support
the
compression
API.
A
But
there
is
a
little
bit
of
CPU
burn
in
the
process
of
that.
Maybe
that
issue
goes
away.
The
only
potential
problem
is
which
I
haven't
even
investigated
yet
is
because
the
compression
API
I
believe
is
asynchronous
during
an
unload
detection.
We
may
not
get
called
back
so
therefore,.
A
Okay,
so
when
you're
populating
the
body
of
the
fetch
request-
or
you
just
say
so,.
D
B
That
the
fetch
part
might
be
asynchronous,
but
the
compression
itself
is
is
independent.
A
Yeah,
because,
like
percent,
send
beacons
problematic,
can't
have
additional.
B
Yeah
so
on
the
compression
you
know
there
may
not
be
any
guarantees
on
you
know:
completion
if
if
the
browser
is
getting
closed,
yeah.
A
Because,
like
one
of
the
things
we
use
in
app
insights
and
the
internal
version,
which
is
called
1DS,
is
the
Fetch
with
keep
a
liar.
But
that
still
has
the
same
issues.
In
the
same
video.
B
Yeah
I
think
I
think
we.
We
should
probably
not
worry
too
much
about
it,
because
that
edge
case
when
the
browser
is
closing,
there
are
a
lot
of
unknowns
anyway,.
A
Well,
yeah,
you
use
the
fetch,
it's
like
something
to
play
there
so
yeah.
So
if,
if
we
can't
because
one
of
the
issues
is
if,
if
it's
too
big,
it's
more
likely
that
the
request
will
get
dropped.
B
B
You
know
the
moment.
Let's
say
the
batch
exporter
gets
triggered
at
the
same
time.
The
browser
is
closing.
You
know
there
are
no
guarantees
right,
your
fetch
isn't
even
called
yet.
A
A
Like
my
the
first
thing,
I
was
going
to
look
at
was
minification
and
I've
been
looking
at
that,
while
I've
been
trying
to
get
the
sandbox
going
and
there's
lots
of
places,
I
can
make
it
a
lot
smaller
without
doing
too
much,
but
I
need
to
make
it
a
lot
smaller
than
than
those
simple
fixes.
A
Okay
and
then,
after
that,
I
was
going
to
start
looking
at
you
know,
fixing
like
I've
got
a
couple
of
issues
in
the
Js,
so
you
allocated
to
me,
one
of
which
is
the
unload
handling,
so
I
think
remembering.
B
Okay,
so
with
respect
to
these
two
options,
then,
if
we
were
to
take
up
with
the
with
with
the
spec
Forks
I,
think
the
second
one
will
likely
get
faster,
yeah.
B
But
I
have
another.
You
know
use
case
in
mind
that
you
know
like
in
in
future.
If
the
cloud
events,
by
the
way,
the
cloud
events
folks
have
agreed
to
join,
but
more
likely,
it
will
happen
in
you
know
you
know
in
January
yeah,
so
the
cloud
events
the
way
you
know
their
design
is
that
they
are
just
a
wrapper
of
the
existing
events,
so
which
means
the
event.data
is,
is
supposed
to
have
the
original
event
object,
as
is
so.
B
If
we
don't
support,
you
know
straight
objects
into
event.data,
as
is,
and
we
always
require
everything
to
be.
You
know
in
in
this
format
only
via
the
Primitive
types,
then
that
might
be
a
problem.
Yeah.
A
And
then,
if
you
look
in
there,
the
any
value
is
the
value
which
that's
effectively
where
the
product
box
stock
comes
from.
So
the
any
value
is
the
one
of
yeah
and
it's
the
key.
The
KV
list
I
think
is
equivalent
to
what
you've
got.
Is
map
value
or
nested
attributes
yeah,
it's
probably
the
KB
underscore
KB
list
underscore
value
is
the
is
what
you've
currently
defined
as
nested
attributes.
B
Right,
okay,
so
then
the
this
topic
I
think
will:
will
you
know,
keep
it
pending
then
until
you
know
this,
it's
clarified
in
the
spec,
yes
from
the
spec
side,
but.
A
B
So
I
haven't
added
examples
for
all
so
I'll
go
ahead
and
just
choose
option
one
for
now
and
add
it
add
the
examples
for
all
all
these
objects
here.
Yep
I
did
it
for
the
resource,
but
but
yeah
I
need
to
do
for
all
okay,
and
that
was
so.
A
The
only
other
comment
that
I
had,
which
you
asked
me
to
clarify,
was
and
I
think
it's
more
obvious
now.
So
if
you
start
reading
from
the
top,
not
knowing
you're
coming
from
a
perspective
of
not
knowing
anything
about
events
like
I'm,
just
thinking
for
this
first
section,
we
just
have
an
additional
paragraph,
mentioning
that
there
are
like
the
resources
and
the
and
the
varying
attributes
down
the
bottom,
which
may
also
be
included
with
an
event.
A
So,
even
though
we've
got
examples,
you
know
the
actual
payload
may
contain
resources
or
varying
attributes
wherever
we
end
up
putting
those
varying
attributes.
That
was
really
all
my
comment
was
about.
There's
just
a
I
I
tried
to
come
from
it
from
yeah,
listen
to
the
other,
the
other
guys
go
through
the
spectring
and
try
and
guide
them
into
into
there
and
answer
the
questions
before
we
just
end
up
with
a
bunch
of
PL
questions.
B
Yeah,
although
yeah
I'll
do
that,
you
also
had
one
more
comment
saying
that
you
know
we
should
I
understood
the
intent.
I,
guess
you,
you
meant
that
the
resources
have
additional
information.
You
know
relevant
for
the
event
correct,
but
I
think
I'm,
assuming
that
the
back
end
teams
like
at
least
in
our
case,
the
back
end
component
that
accepts
the
data,
some
of
the
injection
that
is
common
to
you,
know,
rum,
and
you
know
the
APM.
B
Understand
the
new
structure
that
there
is
a
common
resource
and
then
against
it
there
are
a
bunch
of
spans
and
events
and
there
could
be
information
relevant
to
the
event.
You
know
in
the
in
the
resource.
A
Yeah
I
agree
with
that.
It
was
really
just
a
case
of
it
as
part
of
someone
just
looking
at
this
okay,
just
yeah,
pointing
out
the
fact
that,
yes,
you
know
we
didn't
include
like
here.
We
have
the
screen
width
and
height.
We
didn't
include
them
in
the
event,
because
they're
actually
going
to
be
listed
in
the
in
the
varying
resources.
A
Okay,
okay,
so
they
don't
just
look
at
it
and
go
oh
this
is
it
oh
I
want
more
data
than
this
we're
sort
of
telling
that
there
is
other
data
like
the
session
ID
and
probably
one
other
thought
that
I
just
had
is
I
haven't
looked
at
the
spec
for
the
logs
in
terms
of
how
it
how
it
links
it
with
the
span
ID
or
the
span
context.
A
I,
don't
know
whether
it's
relevant,
whether
we
have
that
in
here
as
well.
What
do
we
just
say
because
we're
a
log
record?
It's
going
to
be
there,
because
you're
already
calling
out
that
it
could
that
an
event
could
be
a
span
event
or
a
log
event.
So
maybe
that's
not
relevant.
B
Yeah
I
I'm
I'm,
even
thinking
of
adding
a
table
at
the
top
or
somewhere
on
as
a
some
notes
for
ourselves
that
you
know
what
will
each
what
will
be
with
the
type
of
each
of
these
and
and
then
like
high
level.
Summary
like
what
one
line
brief
of
each
of
these.
Along
with
you
know
what
are
default.
B
Instrumentation,
you
know,
will
likely
generate
it
as
yeah
yeah,
okay,
so
that's
the
first
one
I
I
think
the
I
I
I
want
to
ask
about
the
user,
constant,
yep,
so
user
consent
to
me
how
it
feels
like
you
know
it's
it's.
It
should
come
as
a
customer
tribute.
B
You
know,
I
mean
it,
it
cannot
be
I
mean
the
instrumentations
cannot
figure
it
out
on
its
own
right.
It
needs
help
from
the
customers.
A
Yeah
and
I
think
the
comment
you've
got
in
the
pr
really
called
that
out
when
I
read
that
this
morning,
where
you
said
what
was
it,
what
what
does
this
use
for
or
something
I
thought?
Okay,
yeah,
that's
exactly
the
issue.
A
What
is
it
if
you
go
to
the
the
the
mock
to
the
browser
event,
I
I,
just
look
at
the
file
where
you're,
describing
in
the
description
portion
of
the
user
consent.
B
A
It
was
something
like
what
are
they
consenting
to
yeah
so
yeah,
so
the
building
brackets
really
does
highlight
it.
This
is,
as
you,
as
you
say,
I
think
this
is
probably
a
custom
thing,
because
the
content
varies
like
we
have
another
team
in
within
Microsoft
that
deals
with
consent
and
the
consent
blob
that
they
put
in
here.
It's
actually
not
a
Berlin,
it's
a
string.
A
I
see
is
a
Json
blob
and,
depending
on
the
page
they're
accessing
they
may
consent
to.
You
know,
receive
ads,
but
not
have
their
data
shared
and
something
so
it
is
quite
complex,
which
is
why
I
don't
have
any
examples.
It's
so
yeah,
I
I
had
that
thought
and
I
I
think
with
what
you've
got
in
Brackets.
Maybe
we
should
just
say
this
is
just
a
custom
opinion.
B
E
We
have
a
possibility
of
two
things
because
I
know
it's
it's
so
custom,
so
definitely
partially
people
will
want
to
put
their
own
custom
attributes,
but
for
like
automatic
there
might
be
something
we
could
do
with
like
whether
you
get
any
consent.
You
get
partial
consent
or
you
get
like
accept
all.
A
Or
full
descriptive
event,
which
is
what
we
end
up
sending
this
other
team
like
originally,
it
was
just
a
Berlin.
It
was
a
yes,
no,
yes,
I
consent
to
receive.
B
No
I
think
we
we
don't
need
to
discuss
that.
I
think
I
think
the
prior
to
that.
If
this
is
something
that
and
it's
it
cannot
be
auto-instrumented
it,
it
needs
help
from
the
customers.
Then
therefore,
you
know
this
has
to
come
via
custom
attributes,
functionality,
yeah.
A
So
so,
where
do
we
put
the
customer
attribute,
which
is
what
I
think
this
movie
was
talking
about,
especially
this
one
in
particular,
is
it's
it's
not
just
a
custom
attribute
for
everything.
It's
a
custom
battery.
Just
for
this
event,.
B
Yeah,
but
do
we
do
we
allocate
some
attribute?
Let's
say
even
the
data
you
know
might
be,
for
you
know
what
the
instrumentations
you
know
provide,
whereas
you
know
event,
dot,
custom
data
for
all
the
custom
data
yeah.
A
Which
is
which
is
what
we
do
internally
like?
We
have
a
common
schema
and
we
have
multiple
levels.
So
we
we
have
a
default.
You
know
part
ABC,
I,
think
you've
heard
Ram
talk
about
part
a
then
oh
yeah
part
A
is
sort
of
what
we're
talking
about
here
in
terms
of
the
event.data
Part
B
is
some
extensions
and
part
C
is:
is
application
Level
custom,
the
custom
data?
A
So
you
know
it's
just
a
map
of
values
which
we
happen
to
call
properties
so
yeah,
yeah,
I
I,
agree
having
custom
data
all
at
different
level
of
custom.
Sorry,
we
would
say
app
data
and
or
customer
data.
D
So
sorry,
I
missed
I
missed,
maybe
I
missed
something
like
is
there
a
reason
why
we
couldn't
just
put
it
as
as
other
regular
attributes.
A
That
is
the
other
option
as
well.
Okay,
it
probably
depends
on
the
event
and
depends
on
the
thing
I
think.
If
you
look
at
Cloud
events
they
effectively,
would
they
have
this
stuff
as
other
level
attributes?
So
you
know,
maybe
we
just
say
we
just
do
that.
A
So,
if
there's
any
vendor
specific
attributes,
they
can
have
a
vendor
specific
nested
attribute
or
set
of
attributes
made
the
same
like
you
know,
for
us
to
be
Azure
or
wherever
for
AWS
to
be
AWS
whatever
and
they
just
yet
normal
top
level,
attributes
that
would
work.
A
B
Okay,
so
we
just
go
with
that
then
yeah.
B
Right
so
I'll
remove
the
user
consent
related
text.
From
from
this
document,
then
yeah.
B
Okay,
all
right,
so
the
next
two
are
little.
You
know
different,
so
I
think
not
not
directly
related
to
these
documents,
but
Martin
I.
Think
when
you
do
the
SDK
you
know,
can
we
come
up
with
some
examples
showing
I
think
we'll
need
two
types
of
exporters?
B
The
reason
is
the
page
view.
You
know
we
said
we
want
to
send
it.
You
know
without
any
delay
the
page
impression,
because
we
don't
want
to
risk
the
you
know,
browser
getting
closed
right
and
the
other
everything
else.
You
know
they
could
come
in
a
batched
form
like
they
could
be
batched
with
you
know,
other
other
events
other
expands
and
then
they
could
come
after
little
delay.
B
So
if
we
are
aligned
on
that
approach,
then
you
know
we
should
wish.
We
could
quickly
write
down
an
example.
I,
don't
think
this
needs
any
additional
support.
It
should
be
possible
today
we
just
need
some
some
example
to
demonstrate
it
or
maybe
maybe
we
need
you
know
one
attribute
or
one
some
flag
indicating
you
know
which
events
you
know
need
to
be
processed
by
which
exporter.
B
No,
what
I
mean
is,
let's
say
you
set
up
two
exporters,
you
know
one
is
a
batched
span.
Processor
and
another
is,
let's
say
you
know
some
default
processor
with
default
exporter
which
will
export.
You
know
the
items
right
away,
so
both
of
these
will
get
all
the
messages,
but
we
need
a
filter
for
both
saying
you
know
hey.
A
A
We
tag
events
as
either
being
synchronous
events,
or
we
have
a
priority,
which
is
the
equivalent
of
I,
think
the
logging
level
of
a
loan
record
so
that
we
everything
gets
batched
expect
the
ones
take
the
synchronous
everything
effectively
gets
batched
based
on
their
priority,
and
then
we
just
kick
it
off
and
then
during
during
unload,
we
just
pick
up
whatever
we
have
and
then
when
we
try
and
batch
them,
we
batch
them
based
on
the
higher
priority.
First,
okay.
B
So,
how
do
we,
how
do
we
have
the
equivalent
here?
How
do
we
indicate
that.
A
B
Maybe
I'm
not
following
so
so.
Let's
say
you
know
you,
you
emit
an
event
yep
right
and
and
then
there
are
two
types
of
events
here.
You
you
you'll,
emit,
yeah
and,
and
both
of
them
will
be
picked
up
by
both
the
exporters.
A
There's
just
one
exporter
which
just
batches
internally,
so
the
batch
exporters
just
happens
to
keep
them
separate
based
on
their
priority.
B
Now
that
will
be
confusing
I.
Think
that
might
be
even
harder
to
you
know.
Get
approved
as
well
as
in
your
batch
exporter
will
will
not
be
allowed
to
do
two
things
right.
It
will
do
only
batching
at
whatever.
A
B
So
the
reason
if
it's
unload
I
thought
I
I'm,
just
basing
it
on
what
I
remember
from
the
very
original
conversation
where
this
was
introduced,
but
you,
whenever
I
think
we
I
thought
I.
Remember
you
mentioned
that
you
know
you.
You
don't
want
to
wait
too
long,
because
you
know
what,
if
the
user
navigates
away.
A
Yeah,
which
is
why
the
batch
exporter
listens
to
the
unload
event,
so
it
actually
picks
up
those
and
sends
them
yeah
yeah,
and
it
just
happens
to
be
that
internally
it
it's
remembering
the
priority
so
that
when
it
creates
the
batch,
that's
sending
off,
it
puts
the
higher
priority
ones
first,
so
that
if
it
happens
to
exceed
the
64k
limit,
if
you,
if
you're
using,
send
Beacon
the
higher
parting
higher
priority,
events
are
still
sent.
A
Plus,
you've
also
got
plush
so
effectively.
The
clutch
is
effectively
what
happens
when
they
unload.
B
It
okay,
so
so
what
I
am
hearing
is
that
you
don't
need
two
exporters
yeah.
B
But
the
priority
you
know
still
needs
to
be
mentioned
on
each
event.
That
way
your
exporter
can
make
a
decision.
A
Yeah
because
the
span
doesn't
even
get
batched
until
you
go
Spain
and
but
yeah.
If
we
want
to
add
an
event.priority
or
something
but
I
say
that
one's
gonna
I
think
we
already
have
a
log
priority:
I,
don't
there
isn't
a
span
party?
Does
anyone
know.
A
Those
specific
cases
are
in
Windows
11,
the
the
fly
up
thing,
that's
sitting
on
the
nav
bar
on
edge
when
you
first
fire
up
Edge
when
you
get
all
the
the
ads
which
I
don't
like
myself,
but
that's
just
my
point
of
view.
Both
of
those
use
our
SDK
internally
and
both
of
those
have
very
specific
cases
where
there's
specific
events
that
they
do
want
to
prioritize
to
make
sure
they
get
sent
off
the
Box,
because
at
times
they
do
exceed
the
64k
limit,
with
the
way
that
they
create
those.
D
A
There
is
another
fallback
which
we
also
have
and
that
we
actually
stuff
everything
into
local
storage.
Well,
not
everybody.
The
application
has
the
option
of
starting
everything
to
local
storage
so
that
effectively
everything
just
gets
sent
with
like
xhr
or
fetch.
We
try
and
send
what
we
can
with
send
Beacon
and
it's
only
after
we
get
an
acknowledgment
that
it
was
sent
that
we
actually
remove
it
from
local
storage.
So
when
the
people
come
back,
we
actually
rehydrate
back
out
of
local
storage
and
send
it
off
again.
A
So
that's
also
a
possibility
we
can
just
say
for
for
the
span,
exporter
and
the
that's
just
built
in
now.
The
only
problem
with
those
is
you
need
consent
because
we're
not
supposed
to
store
anything
on
the
browser
without
them,
and
then
there
are
some
applications
like
office
that
are
very
hard
up.
They
already
heavily
use
local
storage,
so
they
don't
like
us,
throwing
a
lot
of
stuff
into
storage
because
they
often
exceed
the
local
storage
limit.
D
Okay,
I
apologize,
but
I'm
gonna
have
to
step
away
yeah.
B
Yeah,
no
I
think
we're
done
so
so
we'll
we'll
defer
this
for
now,
we'll
not
worry
about
it.
Yeah
yeah,
you
yeah.
Those
who
need
to
drop
can
drop.
I
I
just
wanted
some
ideas
on
on
the
next
topic.
How
do
you?
How
do
you
folks,
currently
you
know,
identify
which
Ajax
calls
are
made
by
a
page?
You
know:
do
we
just
you
know,
rely
on
the
sessions
or
or
you
know,
or
is
there
any
other
approach.
E
Is
it
are
you
talking
about
like
an
Ajax
called
that's
triggered
by
a
page
load
versus.
B
Yeah
yeah,
so
so
let's
say
you
want
to
show
a
similar
waterfall
View
right,
so
you
you
want
to
know
which
is
it's
there
somewhere,
I
forgot,
but
you
you
want
to
know
which
so
you
have
now
this
pants
for
your
Ajax
calls.
You
have
spans
for
your.
You
know
document
the
the
main
page,
but
how
do
you
know
that
you
know
this
Ajax
call
was
made
by
this
page:
I
I,
you
you,
you
have
the
page
URL
for
the
Ajax
calls,
but
this
particular.
How
do
you
pick
the
span?
E
Responding
span,
this
is
really.
This
is
kind
of
tough.
It's
a
bit
easier
when
something
like
a
click
fires
it
off,
but
I
think
there
might
like.
Ideally,
what
I
I
would
want
to
like
what
people
want
to
be
able
to
see
is
like
for
this
page
when
I
on
the
page
view
like
what
what
Ajax
calls
did
it
fire
off.
A
Yeah,
so
so
the
way
way
we
do
it
and
I
think
it's
the
the
way
it's
defined
in
w3c
is
effectively.
When
we
load
a
page,
we
effectively
create
a
trace,
ID
or
a
pseudo
Trace
ID.
It's
also
called
operation
ID
in
application
insights
and
then
all
the
Ajax
requests
effectively
have
that
same
Trace
ID,
but
have
a
different
span
ID,
so
everything
gets
sent
with
a
trace
parent
header
for
the
xhr
call.
So
therefore,
everything
is
linked
back
to
that
same
Trace
ID.
A
So
you
can
see
this
page
I
either
page
view
effectively
generates
the
the
trace
ID.
If
you
create
a
new
page
view
in
terms
of
the
pseudo
Pages,
because
the
URL
changed,
we
rotate
the
the
trace
ID,
which
is
just
a
32
byte
good,
32
character.
Good
sorry,
then
any
Ajax
calls
that
come
from
that
effectively
when
they
create
their
new
span.
They
have
the
same
Trace
ad
with
their
own
unique
span
ID.
So
that's
exactly
how
we
do.
B
It
so
this
is
a
little
confusing
right.
Let's
say
you
know
you,
this
is
your.
This
is
your
main
page
and
let's
say
this
is
Network
boundary,
so
you
have
the
corresponding.
You
know
back-end
services,
and
these
are
your
you
know-
Ajax
calls,
you
know
they
have
the
corresponding
ones
too.
So
are
you
saying
that
this
whole
thing
is
wondrous.
B
What,
if,
when
do
you
end
this?
You
know
when,
when
you
end
this
top
levels
root
span,
because
this
will
can
go
on
forever,
correct.
A
The
trace
ID
doesn't
change
the
span.
Id
of
that
traits
might
change.
So
this
is
where,
because
we
don't
actually
use
spans
in
the
open,
Telemetry
context
of
spans,
we
don't
have
this
problem
you're
identifying,
but
for
a
page
load.
The
trace
ID
should
not
change
the
span.
Id
will
change
because
it's
supposed
to
rotate,
but
the
trace
IDs.
B
No,
no,
so
there
is
only
one
span,
so
the
root
span
is,
there
is
only
one
root
span.
Every
Trace
has
one
only
one
root
right,
so
the
the
the
individual
you
know
spans
for
each
page
load
or
each
attacks,
you
know
will
be-
will
be
a
second
level
span.
So
so
the
first
root
span.
B
B
So
I,
you
know
when
one
more
thought
came
to
my
mind
that
you
know,
given
that
these
are
really
spans
like
as
in
for
for
each
of
these
requests.
Each
of
them
is
a
request
right.
These
are
not
even
they
will
be
spans.
You
could
also
link
them
through
the
the
links
functionality
in
spans.
E
B
So
the
advantage
to
that
is,
you
know
the
all
the
visualizations
for
for
traces.
You
know
they
will
have
support
for,
for
you
know,
links
so,
for
example,
another
place
where
this
is
often
you
know
used
is
let's
say
you
do
asynchronous
processing,
you
submit
a
job
and
then
you
you
get
a
response
and
then
this
you
know,
initiates
another
in
a
background
job
right.
So
this
will,
you
know,
have
another
trace,
and
this
will
be.
You
know
another
Trace,
so
they
they
are
linked.
B
So
you
know
that
you
know
this
span.
The
root
span
of
T2
is
is
linked
to
the
you
know
some
span
of
T1,
so
you
know
there
would
be
you
know
it's.
Basically,
the
visualization
tools
will
be
built
to
to
handle
links
and
and
I,
don't
see
so
much
difference
between
these
two
approaches.
B
A
You
talk
about
distributed,
tracing
which
the
trace
ID
for
both
of
those
should
be
the
same,
but
the
span
IDs
would
be
different
and
then
get
linked
by
the
trace.
Id
I'm
just
trying
to
find
the
code,
that's
in
in
here
already
for
the
trace
parent,
in
terms
of
where
it
populates
the
trace
idea
that
it
gets
from
a
transparent
meta
tag,
seeing
examples,
but
not
the
actual
code
that
Bart
originally
wrote
because
effectively
the
this
is
what
a
what
he
ended
up.
Putting
in
was
some
code.
A
That
would
look
for
this
meta
tag
on
the
page,
so
that
during
initialization
it
would
actually
populate
this
as
the
trace
context.
So
the
first
bits
the
the
flag.
The
second
bit
is
the
trace
ID
and
the
third
is
the
span
ID
and
then
the
last
bit
is
the.
B
I
think,
like
I
said,
you
know,
that's
approach,
one.
It
has
pros
and
cons
and
among
the
cons,
the
the
question
is,
you
know:
when
does
when
do
we?
You
know
when
does
the
root
span
end
yeah?
You
know.
A
That
could
be
a
configuration.
The
trace
ID
is
not
the
span
ID.
It's
not
the
root
span,
like
everything
should
be.
Having
that
same.
So
in
this
particular
case,
everything
should
have
a
B4
whatever,
but
it
would
have
a
different
like
the
D21,
so
the
root
span
would
could
be
D21
F7.
The
subspans
could
be
something
else,
but
they've
still
had
the
same.
Crease
ID,
but
there's
probably
called
out
there
is
limit,
like
even
in
application
insights,
where
you
actually
limit
the
number
of
things
that
we
do
here.
E
A
E
B
I
think
this
deserves.
You
know,
writing
up
the
different
options
for
for
clarity,
so
maybe
yeah
I
think
you
know.
Maybe
one
of
us
could
write
this
up
because
I
see
multiple
options
and
they
they
have
some
overlap,
some
differences
and
it
it's
confusing.
E
Sure
I'm
happy
to
take
a
a
stab
at
it.
When
do
we
want
to.
B
Anytime
in
this,
this
no
rush,
I
think
sooner
the
better,
of
course,
but
yeah
I
think
most
folks
are
going
on
vacation
next
few
weeks.
So
I
think
if
we
could
have
something
even
when
we
come
back
I
think
that
should
be
fine.
Okay,.
B
Yeah,
but
you
understood
the
problem
statement
right
like
how
do
we
you,
you
can
even
you
know,
Define
the
problem
statement
initially,
like
you
know
you,
you
know
we
we
don't
even
know
like
for
single
page
applications
versus
non-single,
page
applications.
The
approach
could
be
different
right,
but
because
for
single
page
applications,
things
can
go
on
forever.
B
A
Yeah
so
the
way
we
handle
that
is,
it's
part
of
The
Logical,
page
views.
We
do
actually
roll
that
trade
setting
that's
how
we
handle
spars,
so
it
doesn't
get
out
of
control.
I
found
the
the
code
too.
So
it's
the
w3c
trace
context.
Propagator,
then
that's
the
one
that
sets
the
trace
ID
and
make
sure
that
the
trace
ID
is
the
same.
You'll
haven't
found
the
code
that
finds
the
meta
tag.
That's
there.
B
Okay,
okay,
yeah
I
I,
just
wanted
to
you
know,
spark
the
thought
so
yeah
thanks
for
signing
up.
So
we
we
could
look
at.
You
know
the
the
options
once
you
write
them
down.
Yeah.
B
All
right,
that's
all
I
have
so
I'll.
Go
ahead.
Update
this.
You
know
this.
You
know
this
document
based
on
our
discussions
and
we
can
meet
again
in
Jan.
We
we
can
cancel
the
meetings
next
two
weeks,
if
that's
okay
with
all
or
do
you
want
to
keep
them.
D
B
Okay:
okay
and
then
okay
Martin,
if
you
don't
mind,
could
you
just
post
a
message.
B
Our
own
agenda
meeting
notes,
you
know
you
could
just
put
a
comment
saying:
yep
yeah.
B
Okay,
thanks
everyone
and
happy
holidays
yep.