►
From YouTube: 2022-10-11 meeting
Description
Instrumentation: Messaging
B
C
A
B
C
Okay,
yeah
I
I
was
I,
was
traveling
internationally.
The
last
couple
weeks
and
so
I
was
not
paying
attention
at
all.
So
just
just
getting
up
to
speed.
Yeah.
A
So
before
we
start
on
the
original
agenda
Martin
can
we
talk
a
little
bit
about
the
SDK
implementation
of
events
yeah
just
just
a
few
minutes,
so
I
have
one
of
my
you
know,
colleagues,
you
know
available
to
work
on
it
he's
he's
new,
but
but
I
think
he
has
already
done
one
PR
in
in
hotel
Js.
A
So
he
knows
briefly
so
I
can
share
the
notes.
You
sent
me
with
him
and
and
then
maybe
arrange
a
call
where
you
can
explain
to
him
what
needs
to
be
done
and
then
he
can
help.
C
A
B
It
came
up
in
the
JS
Sig
last
week
as
well.
Daniel
was
looking
for
people
to
help,
and
we
pointed
at
Martin's
PR,
sorry
yeah,
it's
starting
to
get
more
attraction.
Okay,.
A
D
D
Sorry,
one
second
I'm
a
little
bit
confused
again:
I'm
not
super
familiar
with.
You
know
how
the
universities
and
everything
haven't
been
close
to
it,
but
how
can
SDK
exist
without
the
API
yeah.
A
So
it's
a
super
confusing
the
way
it's
the
terminology
in
open,
telemetry,
the
API
and
SDK
are
not.
They
don't
have
the
standard
meanings
in
open
Telemetry
as
far
as
I
understand,
so
the
API
refers
to
some
of
the
front
facing
components.
So
what
the
end
user
end
user
were
to
create
events
or
spans
or
metrics
now
the
API
is
to
create
that
is.
Is
they
call
it?
An
API.
Sdk
is
also
an
API,
but
it
covers
some
of
the
things
that
happen
next
in
line
like
exporting.
A
You
know
the
span,
processors,
the
processing
pipelines,
but
everything
on
the
client
itself
on
the
agent
itself,
but
things
that
happen
next
in
line
like
after
the
user
submits
the
data.
How
does
it
go
through
processing
pipelines
How?
Does
it
go
through
the
export
exporters
conversion
to
protobuf?
All
that
is
the
concern
of
sdks.
B
Another
way
to
describe
it
is
in
open,
Telemetry
land.
The
API
is
the
API
surface
and
effectively
defines
that
a
note
of
implementations,
so
the
people
could
effectively
code
against
the
API
and
then
you
can
replace
it
with
any
SDK
implementation
of
that
API.
Underneath
the
covers
to
make
it
functional
it's
actually.
One
of
the
things
is
that
with
the
web
and
that
we
don't
really
need
the
not
implementation,
but
it's
there,
yeah.
D
C
There's
also
one
more
point
that
I
that
I
think
like
correct
me
now,
if
I'm,
if
I'm
not
describing
exactly
but
the
like,
the
API
is
intended
for
the
end
user
code,
yeah
and
and
a
components
so
so,
like
the
those
those
pieces
of
code
like
would
never
directly
import
like
take
the
SDK
as
the
as
to
dependency,
dependency,
yeah
and,
and
then
like
that,
allows
you
to
like
have
you
know,
update,
update
the
SDK
or
switch
the
SDK
or
update
to
a
different
version
of
the
SDK
without
changing
the
the
code
that
actually
connects
the
calls
how
to
use
it,
but
but
I
think
with
the
logs
SDK,
like
the
reason
there
wasn't
an
API
is
because
it
wasn't
intended
for
or
components
to
use
or
end
user
code
to
use
it
until
now.
C
So
it
was,
it
was
okay.
So
if
you're
implementing
like
a
log
appender
like
you,
wouldn't
make
it,
you
would
take
the
SDK
component
as
a
dependency
with
with
the
version.
You
know,
with
this
specific
version,
and
that
was
okay.
A
So
in
that
context
you
know
my
my
question.
My
next
question
was
in
in
the
spec.
The
logs
SDK
always
existed
right.
So
in
the
JavaScript
implementation
of
open
Telemetry,
the
SDK
wasn't
added
yet.
Is
it
correct.
A
Okay,
so
in
terms
of
the
scope
for
that,
then
it
do.
You
have
a
list
of
things
that
need
to
be
done
because
I
understand
it
could
be
several
things
right,
including
let's
say
like
do
you
want
to
support
different
types
of
exporters,
yeah.
C
So
so
that's
what
I
was
describing
is
that,
like
the
chord
there
has
to
be
like
a
core
module
or
a
core
package
for
the
SDK,
similar
to
like
the
trace
Trace
base.
Sdk,
where
you
have
you
know
you
have.
You
have
some
additional
classes
for
like
for
actual
like
the
pipeline
of
processing
blogs
and
there's
going
to
be
some
some
basic
implementation,
like
console,
console
exporters,
for
example.
C
So
very
much
like
mirroring
like
what
the
trace
SDK
does
and
then
then,
once
we
have
that,
then
we
can.
We
can
build
like
additional
exporters
like
the
HTTP
exporter,
for
example,
right.
C
So
I
don't
know
if
it
makes
sense
to
even
think
of
those
blogs,
SDK
spec
at
this
point
but
I
suppose
we
can
just
draft
like
the
implementation
that
we
think
makes
sense
and
then
get
feedback.
A
R
r,
you
can
do
that
simultaneously
right
in
in
tomorrow's
jseg
you
you
might
want
to
at
least
tell
people
what
your
your
current
plan
is.
A
Sure,
yeah,
okay,
okay,
so
I'll
ping,
Tom,
my
teammate
and
and
then
I'll
get
a
meeting
between
you
guys
sounds
good
and
since
purvi
is
here
to
purvi.
I
I
saw
your
comment
that
the
protobuf
exporter
you
will
get
to
a
reviewing
State
this
week.
Yes,.
A
Okay,
yeah
and
it
just
in
case
you
need
any
help.
You
know
it's
something
that
we
have
internally
identified
as
a
dependency
for
for
internal
Milestones,
so
we
could
provide
help
in
a
needed
on
that
too.
B
A
A
Yeah
I
I
recommend,
irrespective
of
like
you,
you
should
continue
the
changes
you
have
in
mind,
but
it's
okay
to
open
it
up
for
public
comments.
Okay,
yeah,
I,
I
like
you
can
you
can
add
markers
saying
you
know
this
is
your
plan
in
in
places
where
you
plan
to
make
changes?
Okay,
you
can
just
add
from
to-do
markers
and
then
open
it
up
and
then
seek
feedback.
Okay,.
A
Okay,
so
Ram
we
we
can
talk
about.
A
So
I
last
week
we
I
think
you
were
you're
not
there
on
Wednesday.
So
we
reviewed.
A
Do
we
do
we
see
your
Word
document.
D
Okay,
perfect,
so
this
one
right,
so
the
okay
yeah,
that's
good!
So
that's
yeah
thanks
for
going
through
that.
Let's,
let's
quickly
go
through
that
and
then
yeah
talk
about,
you
know
since
Martin
Luther
and
everything
you
can
do
a
quick
recap
of
where
we
are
at.
You
know
what
we've
done
and
some
organization
of
how
we
transferred
some
of
the
completed
events
from
Excel
spreadsheet
into
into
this.
D
So
we
are
on
the
same
page
that
what's
going
on
yeah,
so
sometimes
do
you
want
to
yeah.
A
Yeah
yeah
just
a
second,
so
in
your
spreadsheet,
do
you
want
to
share.
A
So
we
in
the
last
meeting,
we
went
over
those
two
tabs
called
user
action
and
error.
Okay,
and
we
we
discussed
that
and
and.
D
Then
I
Martin's
benefit
also
we've
done
page
here.
Yeah
touch.
Timing
is
the
next
one
and
then
looks
like
we
did
use
action
and
error
right.
Yeah,
okay,
I
was
wondering
and
one
of
the
items
you
know
just
real
quick.
How
do
we
Mark
these
things?
You
know
which
one's
just
done
or
whatever
should
we
just
move
to
the
left
and
then
stuff
or
Twitter
aspects,
or
something
like
that.
D
So
we
don't
get
confused
with
you
know.
What's
then,
what's
not
done,
I
was
thinking
yeah,
something
like
that
and
it
gets
done
simple
enough.
Deliverance,
okay,
so
let's
go
so
I
just
done
is.
Is
this
complete.
A
Yeah
in
the
user
action
I
think
Martin.
You
do
you
folks
have
this
today
in
your
product.
C
User
interaction,
yeah.
Yes,
we
do.
A
D
B
B
Yeah
so
for
identity
effect,
I
use
this
so
that
the
it
normalized
the
event
I
I
calculated
on
the
back
end,
which
is
I,
think
what
we
marked
it
as
italic
here,
because
I
can
bite
a
whole
bunch
of
things
so
that
when
I
went
got
the
custo
I
could
do
a
single.
You
know
Group
by
the
stack
hash
rather
than
having
the
group
by
other
individual
things.
So
that's
what
the
hash
is
about.
That's
just
to
try
and
normalize
the
event
without
taking
some
of
the
random
stuff
into
account.
B
So
I
Martin
is
that
sort
of
what
you
use
it
for
as
well.
C
Sorry
enough,
can
you
repeat,
the
question:
does
Tech
hash
yeah
yeah
to
the
group,
the
group
of
similar
errors,
yeah
yeah.
D
So
it
seems
like,
as
long
I
know,
we
we
have
this
as
a
field
at
the
category,
the
whole
entire
trace
and
then
what
I'm
a
little
confused
about
is
it
doesn't
look
like
it's
a
just,
a
simple
husband:
it's
you've
got
to
remove
certain
pieces
and
stuff
and
take
interesting
stuff
and
then
hash
it
right.
Yeah.
B
It's
more
a
case.
You
actually
don't
include
the
the
stack
Trace
at
all
you
actually.
So
what
I
did
is
I
had
some
additional
fields,
which
was
like
the
the
page
IDs,
but
from
an
exception
perspective,
I
I
used
the
the
line.
Number
the
column
number,
the
at
the
message
and
I
think
the
URL.
B
The
fact
I
combine
them
all
into
a
string
and
then
hash
that
string
with
the
other
internal
values.
So.
D
So
if
we
just
marked
as
yeah,
can
we
calculate
it
in
the
back
end
then
probably
doesn't
matter
right
now,
the
the
logic
of
the
hashing
function
or
whatever
that
we
have
to
use
in
backend,
it's
just
up
to
their
implementation.
Okay,.
C
We
actually
so
in
with
in
our
implementation.
We
try
to
normalize
the
stack
Trace
across
browsers,
yeah,
okay,.
D
C
I
would
also
say
that,
no,
maybe
you
don't
you,
don't
send
the
stack
Trace,
but
we
do,
but
we
only
do
it
for
like
the
first
error
in
this
session,
so
you
know
so
like
to
optimize
the
the
payload
not
being
as
big,
but
but
every
error
that
has
a
stack
hash.
The
same
stack
hash
in
the
same
session
is,
can
then
be
like
identified
in
the
back
end
and
look.
Those
stack
trays
can
be
looked
up
based
on
the
stack
hash.
B
C
Yeah
and
then
the
stack
Trace,
at
least
in
our
case
is
important
because
we
do.
We
do
provide
a
feature
for
applying
Source
Maps
and
then
like
seeing
seeing
the
actual
yeah.
A
So
then,
the
first
error
in
session,
our
understanding
is,
is
a
little
different
than
because,
let's
say
in
a
session,
you
you,
the
application,
has
let's
say
three
different
errors
or
three
different
places.
A
A
Instance,
and
also
the
first
error.
So
if
let's
say
there
are
a
and
error
B
happen
and
error
a
happens
first
and
then
only
for
that
this
parameter
is
true
for
error
B.
If
it
happens
few
seconds
later,
it
is
not
true
because
I
think
the
the
purpose
of
this
attribute
As
I
understood
and,
of
course
it
was
from
from
nav's
explanation.
B
A
You
know
we
Our
intention
was
you
know,
this
would
tell
us
that
this
was
the
first
time
in
the
session
and
maybe
the
you
know
starting
point
for
a
cascading
set
of
Errors
yeah.
That
might
happen.
C
Yeah
I
think
that
the
reasons
that
we
have
it
that
we
send
it
is
basically
just
for
a
metric.
That's
that
says
the
percentage
of
page
views
with
error.
B
Okay,
if
you
want
to
use
up
for
patreon
yeah
so
for
identity
effectively,
what
I
had
was
effective,
it's
an
error
number
and
that
error
number
resets
after
a
certain
period
of
time
so
effectively.
When
you
get
the
first
error,
it
would
be
zero
if
you
get
a
cascading
error.
That
would
be
one.
B
It
would
count
up
to
whatever
the
error
number
is
that
it
sends
and
it
sends
all
the
errors
down
and
then,
after
a
period
of
no
errors,
it
would
then
reset
it
back
to
zero
so
that
you
could
actually
group
them
and
only
concentrate
on
the
the
first
error
of
anything
that
that
happened,
and
this
is
because
there
was
a
big
jump
of
a
chunk
of
identity.
That's
like
a
spa
where
the
fact
that
we
have
virtual
page
changes.
D
C
We
are
using
it,
but
I
think
for
a
different.
D
Okay,
so
the
the
different
women,
maybe
maybe
less
different
purposes,
to
identify
you
know
well
I,
think
I've
lost
sorry,
but
probably.
B
If
we
changed
it
from
first
air
in
session
to
error
sequence
in
session,
or
something
like
that,
put
it
back
as
a
number
and
then
we
could
say
the
instrumentation
that
sends
this-
can
either
reset
it
or
just
not
do
anything
or
you
configure
it
to
only
ever
sends
the
first
one,
but
from
the
exception
perspective,
we
just
know
that
you
know
this
is
the.
This
is
the
X
number
of
error
that
happened
within
this
user's
session.
D
B
And
that
way,
I
think
it
could
serve
both
purposes.
Foreign.
A
So
do
we
need
this
to
What
the
explanation
we
have.
B
A
B
A
B
Well,
it's
it
depending
how
we
Define
it.
We
can
say
this
is
just
the
error
sequence
that
always
starts
at
their
own.
Just
every
new
error
it
just
keeps
going
up.
I
would
prefer
to
see
that
that
we
have
it
so
that,
after
a
certain
period
of
time,
that
would
reset
back
to
zero.
A
So
it
is
sequence
number
for
the
given
hash.
Then.
D
Okay,
so
I
think
such
question
is:
if
you
have
error
one
other
one
or
two
that
are
one
again.
B
B
D
Let's
say
three:
three
errors
and
in
a
pretty
short
amount
of
time,
and
then
you
know
seven
minutes
pass
by
yeah.
Then.
D
B
If
you
look
at
this,
you
can
well
in
fact
the
way
you
had
it
before
it
was
like.
If
you
went
zero,
one
two
and
then
zero
one.
B
D
B
The
Vera
one
so
effectively.
The
first
thing
you
do
is
investigate
what
what
is
error
one,
that's
actually
causing
the
problem
to
concentrate
on
that.
That's
really
what
it
was.
What
what
I
used
it
for
when
I
was
investigating
JavaScript
errors
is
to
say:
well,
you
know,
I
I
got
a
Cascade
of
errors
in
a
very
short
period
of
time.
This
was
always
the
first
one.
B
Let's
go
and
look
at
that
one
and
then
once
I
I
know
what
that
one
is
I
then
looked
at
the
second
one
and
the
second
one
was
the
side
effect
of
the
first
one.
Then
I
would
just
ignore
the
rest,
because
the
rest
are
probably
related
as
well
and
then
just
you
know,
do
a
fix
for
for
zero.
But
if
I
found
that
the
second
one
was
completely,
it
was
another
thing
all
together.
Then
that
would
you
know,
raise
another
bike
and
go
fix
that.
D
Okay,
so
question,
and
then
you
know
if
we,
if
we
go
with
this
definition,
a
couple
of
questions
in
my
mind,
I
think
Santosh
also
asked
the
one,
the
first
editing
session.
Does
this
match
neurolix
implementation?
Do
you
need
one
more
field?
That
is
one
question.
Second
question
is:
if
we
say
that
we're
going
to
the
SDK
has
to
do
something
in
the
timer
to
reset
the
errors
and
whatnot
that
has
to
be
defined
right.
You
know,
how
do
you
define
it?
How
do
we
make
sure
that
this
is
consistent?
D
Do
we
need
to
make
it
consistent
at
all?
Well,
I
guess
it
doesn't
matter.
Just
tell
us
that
SDK
is
all
that
that's
going
to
be
implementing
this
yeah.
Do
we
need
to
Define
that
now.
B
I,
don't
think
we
need
to
define
the
the
period
now
and
it
will
probably
be
different
depending
on
the
application,
because
some
applications,
if
they're
all
automated,
would
probably
want
that
period
to
be
really
small.
But
if
it's
user
interaction,
then
you
know
one
or
two
seconds
is
probably
enough.
Okay,.
D
So
then,
is
this
good
enough
description
here
for
people
when
they
go
to
implement,
enter
in
the
error
session,
so
I'm
just
introducing
you
to
colorization
yeah?
Hopefully
it
makes
sense.
B
D
B
B
B
But
if
we've
got
reset,
how
would
you
know
you
wouldn't
like
in
the
case
we
have
on
screen
where
we've
got
like
line
23
and
26?
You
would
actually
get
two
of
them
that
you
would
potentially
treat
as
first
in
session.
D
Quick
question:
so,
if
I,
if
that's
the
explanation
correctly,
you
want
to
understand
which
of
the
pages
have
an
error.
That's
basically
a
plan
correct.
D
So
it
seems
like
this
is
a
sort
of
an
optimization
unless
this
is
this
has
got
something
to
do
with
the
stack
hash
and
then
I
need
to
go
to
this.
You
know
event
with
the
first
ever
in
session
to
look
up
the
stack
hash,
because
nobody
else
is
going
through
that
nobody
else
is
going
to
start
has
a
stack
that
makes
sense.
C
But
yeah
yeah,
so
I
think
this
this
is
just
makes,
makes
makes
the
art
processing
easier,
so
I
think
you
could
easily
like
Implement
well,
not
easily.
You
could
implement
this
a
different
way
like
you
could
on
the
back
end,
you
could
have
some
kind
of
some
kind
of
caching
gotcha
or
some.
You
know
some
kind
of
processing
where
you
look
for
you
look
for
the
first
error
for
for,
like
a
session
or
page
view,
ID
and
then
use
you
generate
the
metric
from
that.
C
But
you
know
because
because
like
we,
so
we
our
ingest
is
more
like
a
stream
base,
so
we
just
generate
events
and
like
we
don't
yeah
so
this
this
allows
like
for
an
easier
query.
So
we
can
select
the
number
of
page
views
or
like
a
number
of
errors,
that
there
are
first
divided
by
Page
views,
gives
you
like
the
percentage
of
pages
with
errors.
Okay,.
D
D
D
Is
say
in
so.
A
Is
it
represented
in
column
D
like.
D
A
C
D
A
Mostly
because
it's
confusing
yeah
yeah.
B
B
Because
yeah
JavaScript
is
a
whole
other
discussion
about
not
reporting
exceptions
that
don't
relate
to
your
page
or
don't
come
from
that,
because
they've
got
some
plug-in
installed
that
strong
exceptions,
yeah
or
like
that
happens
with
like
third
party
yeah
LastPass
has
a
tendency
to
throw
exceptions
at
times
yeah.
D
B
D
Just
throw
you
know
my
friend
capture,
you
know
what
would
be
said
about
this.
This
one,
you
know,
feel
free
to
update
that.
D
Do
you
want
that?
Is
it
a
I
know
we
currently
don't
have
that
in
in
our
application?
Sets
implementation
right
now.
B
Yeah
I
I've
had
so
since
I
joined
the
team.
I
I
created
bugs
for
this
one
to
editor
app
insights,
but
I
have
nowhere
to
store
it,
so
it
was
just
going
to
be
an
attribute.
The
other
one
is
like
having
a
list
of
the
loaded
scripts
and
that's
to
evaluate.
B
Are
you
getting
the
exception
because
some
other
script
from
some
other
plug-in
got
injected
and
replaced
your
version
of
jQuery?
For
example,
that's
one
of
the
errors.
D
Newer
new
brand
new
feed.
D
D
Someone
I
guess,
you
know:
you've
got
to
be
ahead
and
now,
if
you
ever
wanted
vacuum
is
there
I
was
thinking
in
a
way
to
build
a
record.
This
I
don't
want
to
put
it
here
because
it's
currently
not
it
created
the
support.
Yeah,
okay,
I'll
just
delete
it.
D
Okay,
cool
anything
else.
We
need
to
discuss
here
with
this
question
here.
A
So
the
cause
line-
seven
so
I
I
actually
copied
this
content
into
the
other
word
document
and
I
was
going
through
this
again.
So
the
cause
I
I
wasn't
super
clear
what
it
will
have.
Yeah.
A
No,
the
other
ones
are
I.
Think
I
I
understood,
like
even
the
line
number
column
number
from
the
from
the
standard.
I
think
it
looks
like
it
is
only
supported
in
Firefox,
but
we
are
keeping
it
because
it's
we
are
we're
going
to
use
it
wherever
it's
available.
D
Just
a
quick
clarification
Santosh,
you
know:
did
we
go
through
this
as
a
as
a
group
already.
B
Yeah
I
just
dropped
the
on
error,
Handler
as
well
I
see
so
you
can
see
the
on
error.
Handle
has
the
Event
Source
line,
number
column,
number
error.
C
But
I
think
I
think
a
lot
of
Errors
will
not
actually
bubble
up
all
the
way
to
the
global
error
Handler.
So
you
may
not
get
the
line.
The
line
yeah.
B
Depending
on
the
runtime,
so
yeah,
the
line
number
on
the
error
object
itself.
Yeah,
that's
not
supported
everywhere
because,
as
it
says,
it's
non-standard,
but
in
terms
of
the
global
error
Handler
then,
yes,
you
do
get
the
error
and
line
number,
although
with
minified
code
it
tends
to
be
line
number
zero,
which
is
never
fun.
A
Okay,
so
in
the
link
that
I
sent
there,
they
say
it's
non-standard
yeah.
D
D
A
D
A
A
A
In
open
Telemetry,
the
on
the
span,
the
events
that
have
exception,
those
are
named
as
exception
events.
A
D
Let's
see
it's
yeah
I
as
long
as
it
doesn't
mean
something
completely
different
or
whatever
and
I'm
not
really,
usually
picking
up
the
names
so
yeah.
B
No
symmetically,
it
is
the
exception.
It's
just
that
in
JavaScript
the
errors,
but
you
know
you'd
still
deal
with
in
this,
try
catch
so
you
still
deal
with
them
as
exceptions.
So
and
in
terms
of
like
your
browser,
not
browser
mobile
runtimes,
then
they're
going
to
be
playing
with
exceptions
like
react,
native
and
stuff
like
that,
so
yeah
I,
think
candy
to
exception
makes
sense
to
me.
B
Yeah
that
that's
that's
more
today
with
open
Telemetry
that
would
be
a
log
entry
and
I
know
for
even
for
identity.
I
actually
dealt
with
those
as
effectively
logs.
D
Yeah
I
think
yeah
an
economic
exception.
I
guess
the
question
is:
if
somebody
did
this
right,
the
new
era,
then
we
will
try
to
populate
these
things
from
that
might
not
have
any
sense
because
it
doesn't
have
a
stacked
race
and
things
is
that
the
question
centers.
D
Exactly
so,
that's
what
I
was
going
to
say.
So
it's
a
genuine
error
object.
The
the
base
object
that
should
have
these
things.
It
may
not
be
useful
because
the
you
know
there's
this
yeah,
okay,
okay,
so
yeah
I
think
that's
fine!
Okay,.
C
Quick
comment:
just
I
I,
don't
wanna,
maybe
derailed
the
conversation,
but
I
was
that's.
Something
that's
been
on.
My
mind
is
when
we
talked
about
the
semantic
relations
first
or
error
versus
exception,
so
there's
existing.
There
are
existing
semantic
conventions
for
exception,.
D
C
So
the
the
exception
you
know
attributes
are
there,
are
there
so
so
are
we
planning
to
extend
those
semantic
conventions,
or
is
this
going
to
be
completely
separate
just
for
browser
events,
yeah.
B
This
sort
of
came
up
a
little
bit
a
couple
of
weeks
ago
in
the
log
Sig
Santos
was
there
yeah,
where
it
was
blanched
from
Microsoft,
was
trying
to
implement
per.net,
and
it
got
effectively
simplified
to
the
difference
between
a
handled
exception
and
an
unheddled
exception
so
affected
the
existing
exception
on
a
span.
B
Apart
from
that
was
the
only
way
to
figure
out
the
door
would
be
considered
a
handle
exception,
as
opposed
to
a
log
exception
would
be
an
unhandled
one
of
which
we
could
Define
it
here,
I
think
as
part
of
defining
the
fields.
We
then
have
to
look
at
these
fields
and
say:
okay,
do
we
want
to
Define
this
as
its
own
error?
Error
data
object,
or
do
we
want
to
say
this
is
close
enough
to
the
existing
convention?
So
therefore
we
just
conform
to
that
I.
B
Think
for
this
particular
one
it
will
probably
be
the
latter,
we'll
probably
say:
okay,
we
have
a
message.
We
have
a
stack
Trace.
We
have
the
browser
URL.
These
are
already
defined
as
standard
semantic
convention,
so
we're
just
going
to
like
adopt
those.
A
B
A
And
I
think
he
Blanche
I
think
he
also
described
an
event,
an
example
event.
You
know
that
that
is
not
named
exception,
but
it
has
exception
attached
to
it.
A
A
So
it's
a
little
confusing
because
on
one
hand
you
know
we
can
say
that
exception.
There
is
an
event
called
exception
right
and
then
there
are
other
events
that
have
exceptional
information
attached.
A
They
share
semantic
conventions,
but
can
can
both
exist
or
is
it
only
one.
B
Yeah
I
think
part
of
confusion
comes
about
because
we
are
now
defining
a
log
event
where
that
didn't
exist
before
so
there
was
all
these
workarounds,
so
I
think
that's
why
we're
in
this
conundrum
that
we're
in
yeah
I
I
think
at
the
end
of
the
day,
if
we
can
Define
this
event,
this
should
hopefully
become
the
standard
like
well,
while
we're
doing
it
as
part
of
you
know:
real
user
metrics.
C
Okay,
so
that
leads
me
to
another
question
so,
as
is
this
going
to
be
defined
as
a
common
event,
not
just
browser
event,
I.
B
Would
like
to
see
this
one,
this
one
specifically
is
a
common
event.
Okay,
just
this
one
is
yeah,
it's
really
obvious
that
it
it
can
be
shared
across
everyone,
okay,
as
opposed
to
like
Fetch
and
patreon.
B
Don't
know
but
we're
saying
that's
back
end
so
or
the
sequence
number
that
we
got
rid
of.
You
know
that
yeah.
B
D
All
right
we
got
another
15
minutes
or
so
I
think
I
was
going
through
this
and
I
tried,
in
my
mind
at
least
trying
to
see
what
the
descriptions
would
be
for
this.
You
know
somebody's
got
to
fill
up
these
descriptions.
This
is
useful
should
be
useful
as
we
go
through
discussions.
You
know
when
you,
when
you
define
these
fields
put
in
some
description,
will
be
used
for
the
algorithm
I
think,
because
that
was
one
of
the
ways
we're
going
to
identify
that
have
we
talked
about
the
field
or
not.
B
Yeah
I
think
for
7
8
12
13
impact
all
of
them
that'll
find
there
I
I
think
they're
existing
exception.
Semantic
conventions
are
probably
exactly
the
same
as
the
description.
So.
D
Maybe
you
know
one
of
you
can
drop
a
link
or
you
know
maybe
take
that
yeah
I
I
can
do
that
yeah,
okay,
thanks,
because
when
we
come
back
to
these
things,
I'm
pretty
sure
we'll
we'll
be
confused
like
now.
How
did
this
come
about?
If
we
talk
about
it
or
not?
So
let's
just
put
some
even
if
it's
a
demo
description
like
you
haven't,
discussed
about
it,
something
like
that.
D
Okay,
Switching
back
here
there
was
so
I
think
we
we
kind
of
went
through
this.
It's
fine
another
thing
that
I
noticed
in
our
metadata
and
I
mean
just
this
dark
web
you're
capturing
the
finance
stuff.
D
Let
me
start
with
say
this
one.
You
know
we
decided,
you
know
we'll
be
we'll
do
common
resources
first,
that
applies
to
every
every
event
and
then
individual
events
go
ahead
and
go
see.
I
believe
this
is
useful.
That's
why,
when
I
put
these
things
out
there
when
bankruptc
implementation-
or
you
know
trying
to
understand
what
the
field
does
or
whatever,
if
the
description
is
not
clear
enough,
this
will
be
useful.
D
We
need
to,
at
some
point
start
figuring
this
out
right.
You
know,
is
this
too
early
to
think
about
the
data
type
and
Sample
values
and
stuff,
or
can
we
start
working
on
these
things
also,
in
parallel.
A
No
I
can
quickly
fill
it
up.
I
think
it
should
take
a
lot
of
time.
I
think
I
left
it
because
I
felt
it
it's
simple
enough
that
we
could
do
it
later,
but
yeah
I'll,
okay,
I
can
do
it
all.
D
Right
thanks,
I
appreciate
it.
It
will
be
a
collective
thing.
Also,
you
can
just
ask
for
folks
just
come
through
and
then
start
putting
some
values
and
stuff
yeah.
Okay.
So
that
was
that
and
then
so
there
was
a
comment
that
DJ
put
on
this
guy.
The
other
common
resource
impression
I
did,
if
you
guys
are
up
for
it,
then
I
would
like
to
quickly
discuss
about
this
so
just
to
reorient.
D
This
is
the
common
set
of
resources
to
be
able
to
capture.
Sometimes
you
know,
split
them
into
fixed
attributes
and
varying
attributes.
Extra
attributes
are
basically
going
to
be
every
message
in
that
session.
Right,
sometimes
yeah.
D
It
has
to
be
much
much
a
simple
Explorer,
okay
and
then
this
would
be
stuff
that
could
be
changing
and
things.
So
that's
that
that's
it
you
said
interest
value
is
unique
impression.
Id.
For
the
page
example,
page
HTML
will
yield
foreign.
D
So
I
Tried
reading
through
this
I'm,
not
too
sure
if
this
is
the
direct
replacement
it
folks,
everyone
will
put
the
comment
if
you
can
now
yeah.
A
I
yeah
I
missed
this
comment,
but
now
I
feel
like
this
service
represents
the
entire
application
right,
for
example,
the
service
name,
the
service
version.
You
know
they
represent
your
your
browser,
app
as
a
collection
of
multiple
Pages
correct,
so
in
refer
to.
D
D
C
Do
kind
of
agree
with
Thabo
here
is
that
the
instance
ID
is
really
it
is
the
same
service
or
you
can
obviously
the
same
app,
but
it
has
so
much.
It
has
like
many
many
different
instances
running.
You
know
in
different
clients,
so
it
makes
the
same
sense
to
me
that
the
instance
ID
would
be
different
in
different
client
sessions.
Yeah.
A
It
comes
close,
but
you
know
consider
for
an
example
how
it's
used
on
the
back
ends
right
on
the
back
ends.
Let's
say
you
know
for
for
scalability
purposes.
You
know
you
run
multiple
instances
of
a
service
where
the
service
name
versions
are
all
the
same,
but
the
instance
ID.
Each
one
will
have
a
different
instance
ID.
Now
each
service
could
be
servicing.
Let's
say
20
different
API
calls
now.
A
C
D
So
I
think
the
impression
ID
is
not
that's
final,
going
than
that
in
is
what
I
was
saying
so
that
they
did
this
guy.
Who
pays
HTML,
yeah?
D
Well,
you're,
right,
sorry,
yeah
I,
dig
it
back
yeah,
it
makes
sense.
So
every
time
you
push,
the
page,
SDK
is
booted
up
and
you
get
a
new
service.
Id.
Okay,.
D
Yeah
sounds
like
that's
good.
The
one
I
think
that
I'm
a
little
bit
confused
about
is,
he
says
there.
Service
in
this
case
is
a
document
which
starts
in
page
note.
Fine
can
have.
A
So
so,
actually
sorry
to
interrupt
service
in
this
case
is
a
document.
Let's
look
at
that
sentence
again,
so
a
document
refers
to
a
page
right,
a
physical
page,
yes,
physical
page
now
are
we
using
this
different
service
name
for
each
of
the
pages?
We
are
not
no
so
so
that's
my
that's.
Where
I
see
a
discrepancy.
B
Yeah
I
I
think
there's
a
different
thing
so
again,
hacking
back
on
my
identity
the
times
one
of
the
things
that
I
did
capture
on
a
page
is
which
server
gave
me
the
page
and
in
the
case
of
the
exceptions,
I
I
reported
that
back
as
well.
B
D
Explanations,
we
gave
that
you
know
it's
pretty
distributed
tracing.
You
know
days
right
so
yeah
now
that
we're
able
to
attach
that
to
the
server
that
produced
the
the
spand
and
produced
this
page
and
that
span
should
have
the
service
instance
idle,
and
that's
what
you
know:
that's
how
we
can
get
to
it.
I
think
yeah.
B
And,
like
I,
think
the
service
version
would
be
tied
to
that
because
you
know
generally
it's
because
you've
got
multiple
versions
that
actively
deployed
and
the
instance
sort
of
tells
you,
although
sometimes
we
we
did
have.
You
know
a
faulty
instance
that
would
have
to
go
track
down
and
and
bounce,
but
yeah
yeah,
if
full
distributed
tracing
with
full
mapping,
is
enabled
then
yeah.
You
don't
need
that,
but
I
found
it
useful.
Okay,.
D
It
seems
like
it
comes
close
enough,
but
it
may
mean
something
else,
and
hence
we
want
to
have
a
separate
field.
Is
that
the
explanation
sounds
like
it,
but
yeah.
B
A
No
I
think
you
you're
you're,
introducing
an
entirely
different
topic.
I
think
I
think
that
cheaper
sale,
where
we
have
to
use
service
to
indicate
your
client
right
remember.
We
fought
for
app
namespace,
but
we
were
left
with
an
option
but
to
use
service
to
indicate
the
client.
A
D
Yeah,
that's
a
that's
a
good
point.
That's
what
I
was
going
to
go
back
to
also
you
know.
We
already
agreed
that
service.net
is
what
we're
going
to
use
for
the
application
names,
the
client
application,
name,
client,
application
version,
I,
I'm
kind
of
stuck
on
the
second
thing
that
we
talked
about
right
can
have
multiple
open
tabs
at
the
same
time.
D
Right
then,
that
defeats
this
whole
purpose
of
you
know
different
pages
different.
So
if
you
have
multiple
tabs
open,
the
Service
ID
is
going
to
be
the
same
and.
A
C
A
That
are
already
you
know
using
it
in
in
their
products.
Do
we
do
you
guys
use
uuid
for
this.
D
This
is
actually
a
good
you
ID
first.
A
Yeah,
okay,
okay,
in
that
case
yeah,
then
in
multiple
tabs.
You
know
the
the
value
will
be
different.
D
A
No
I
think
the
discussion
is
only
for
the
naming.
The
value
will
still
be
you
a
good
okay.
So
what
do
we
want
to
call?
It
is
I.
Think,
is
a
discussion.
D
No
Martin
this
example
States
I
would
like
to
refer
back
to
this
example.
So
there's.
D
A
I
I,
we
have
a
browser.page.url
I.
Think
if
you
scroll
down
the
in
the
varying
attributes,
there
is
a
browser.page.url
I
am
thinking
that
we
should
just
call
this
as
a
browser.page.id,
because
this
does
map
to
this
URL
like
for
every
different
page.
You
have
a
different
URL
and
in
the
case
of
single
page
application,
it
includes
the
the
URL
fragment
and
each
time
and
each
instance
of
this
page
for
for
different
users
or
different
tabs.
The
ID
will
be
different,
but
the
the
URL
will
be
the
same.
D
I
see
we
could
do
that
as
one
conclusion.
I
think
in
the
systems
might
be
used
if
I
remember
correctly
internally
in
the
back
ends,
will
generally
take
this
URL
and
then
hash
it
and
create
an
ID
for
querying
purposes
or
something
like
that.
So
that
might
conflict
with
that.
That's
the
only
thing
ma'am
are
you
aware
of
any
you
know
concrete
use
cases
we.
A
Have
that
that
you
would
call
as
a
hash
right,
browser.page.url
hash
or
something.
A
Yeah
I
can
repeat,
I,
think
nav
I
think
there
is
a
browser.page.url
to
indicate
the
in
a
URL
of
the
page.
You
are
on
yep.
B
A
For
single
page
applications
it
includes
the
URL
fragment
now
the
impression
ID
to
me.
It
feels
to
belong
at
that
level,
so
we
could
call
it
a
browser.page.id
where,
when
we
generate
the
URL,
you
generate
a
grid
to
and
call
it
browser.pay.d.
B
Yeah,
it's
like
for
us
I'm,
pretty
sure
this
is
equivalent
to
our
operation.
Id,
which
is
the
trace
ID
yeah
the
stuff
I
was
reading,
was
was
off
around
the
service
instance
ID.
B
My
concern
is,
if
we
overloaded
that
if
someone
was
using
the
string,
you
know
the
cardinality
aspect
based
on
having
the
browser,
as
opposed
to
a
limited
number
of
service,
is
my
concern,
but
there's
nothing
in
the
spec
that
I
was
reading.
That
was
talking
about
it.
B
You
must
reduce
the
cardinality,
just
as
it
has
to
be
a
good
but
recommended
to
be
a
good
but
yeah
for
browsers
you,
instead
of
having
like
you
know,
you
know
a
thousand
servers
you've
got
like
you
know
millions
of
clients,
so
my
preference
would
be
to
not
reuse
service
instance
ID
for
this
and
be
the
have
it
as
send
officer
sayings
that
have
if
we
use
a
browser,
ID
or
or.
B
Something
like
that
so
for
us
and
even
I,
think
Vanessa
and
identity.
This
effect
is
just
the
trace
ID.
B
So
the
problem
is
you
can't
keep
the
span
open
for
the
entire
length
of
time,
because
the
the
span
ID
doesn't
get
changed
until
you
end
the
span
and
nothing
gets
sent
into
you
in
this
vein.
So,
okay,
so
yeah
browser
ID
is
browser.
Pages
makes
sense.
D
Yeah
I
think
next
is
the
only
thing
is
that
I
have
to
do
some
research
on
that.
The
impression
was
a
you
know.
It
is
a
well-known
you
know:
Concept
in
the
browser
television
print
yeah.
D
That
is
that's
that's
what
we're
going
for
and
I
don't
want
us
to
say
something
else,
and
then
people
come
along
and
I,
don't
know
what
this
is
so.
D
This
is
what
I
was
going
for.
Google
analytics
talks
about
it,
so
maybe
we
should
just
read
a
little
bit
more
about
it.
The
impression
is,
it's
been
around
for
a
long
time,
and
people
understand
that
to
have
certain
characteristics
and
stuff.
D
A
Can
yeah
we
can
leave
it
at
impression,
ID,
but
I
think
we.
This
is
a
temporary
name.
We
need
to
come
up
with
a
a
semantic
convention
format.
It
has
to
have
a
top
level
name
space,
so
we
can
even
have
like
browser.page.impression.id
yeah.
D
Browser
page
impressionally,
that's
basically,
you
know
what
we
will
probably
do.
I
think
yeah
yeah.
B
Speaking
of
semantic
inventions,
so
the
semantic
invention
working
group
is
actually
going
to
be
kicking
off
next
Monday
next
Monday
yeah
yeah,
and
it's
going
to
be
bi-weekly
at
this
point
that
it
came
up
in
the
respect.
Reading
before
this,
the
the
first
topic
is
going
to
be
around
metrics
there's
a
metric
or
thing,
though
sorry
but
yeah.
Just
your
way.
It's.
It
is
kicking
off
next
Monday
10
to
11
PST
bi-weekly.
B
Yeah
Josh
created
it
during
the
spec
meetings.
C
Awesome
I
have
one
one
ask
so
it
seems
like
we've
just
been.
We
decided
that
not
not
to
use
service
instance
ID.
Can
we
document
that
as
a
decision
somewhere
so
that
when
it,
if
it
comes
up
in.
A
Now
I
think
we'll,
let's
reply
to
his
comment:
I
I
can
yeah
at
least
at
least
that
yeah.
So
it's
good
and
not
resolve
the
comment.
B
D
Then
yeah
I
think
I
think
that's
it.
So
we're
a
little
bit
over
time.
We
can
probably
pick
up
tomorrow,
I
think
yeah
thanks,
everybody
sounds.