►
From YouTube: 2022-06-07 meeting
Description
Instrumentation: Messaging
D
But
we
can,
we
can
work,
we
can
talk
about
some
stuff.
I
have
one
thing
that
I
want
to
share
really
quick
and
I'm
probably
going
to
share
it
tomorrow
as
well.
I
have
tried
to
update
the
the
board.
D
Standard
project
board
with
status,
and
I
added
some
lots
of
bunch
of
drafts
in
the
icebox
column.
Those
are
not
like.
We
have
to
talk
about
them
like
I
haven't
I
just
I
just
put
them
in
as
the
things
that
I
could
think
of
that
we
could
work
on.
D
So
we
have
one
thing:
that's
kind
of
the
main
thing
that's
going
on
right
now
is
the
events,
api
discussion
and
that's,
I
think
the
goal
is
tomorrow
during
the
log
sig
to
make
a
decision.
D
I
guess
we
can
I'm
assuming
that
odep
might
be
approved,
and
I
think
once
once
the
otep
is
approved
and
like
we
have
some
idea
what
the
api
should
look
like.
We
can
start
working
on
the
prototype
version
like
I
have.
I
have
a
prototype
version
of
it,
but
we
can
try
to
finalize
it,
so
we
can
merge
it
into
the
js
sdk.
C
Yeah,
like
as
part
of
the
the
thing
I
tried
to
get
on
the
spec
meeting
this
morning,
the
the
speccy
show
had
opened
for
a
while.
The
spec
does
state
that
span.
Events
can
have
nested
attributes
or
attribute
collections,
as
they're
called.
So
realistically,
we
already
have
the
events.
Api
called
add
event
defined
on
a
span.
We
just
also
want
to
have
it
on
our
log,
so.
C
During
one
of
the
logs
calls,
we
talked
about
effectively
having
it
as
a
separate
api
where
you
effectively
can
ask
log
or
the
span
for
an
api
story,
an
event
emitter,
I
that's
to
me
is
looking
more
like
the
way
we
should
be
going
and
that
way,
if
you
get
a
span
one,
it
goes
off
and
you
know
attaches
to
the
span.
C
If
you
get
a
long
one
that
it's
not
attached,
so
you've
got
both
issues
solved
and
I
think
the
existing
ad
event
is
enough,
like
name
and
attributes,
I
think
that's
pretty
much.
What
we've
been
talking
about
already,
but
yeah.
D
D
I
think
I
think,
even
like
ted
said
that
they'd
like
to
log
the
events
using
log
data
models
should
eventually
replace
spam
events.
That's
been
event.
C
C
Yeah
so
and
and
spans
do
have
a
limit
of
128
keys
by
default,
so
we're
going
through
the
spec
today.
C
Seems
to
be
going
down
the
path
of
spans
and
span
event,
attributes,
don't
support
nesting
and
I
think
that's
an
invalid
argument
so
or
an
incorrect
argument.
So
yeah
I
I
think
I'm
definitely
going
to
start
pushing
into
having
the
event
api
as
a
separate
thing
or
an
event.
Emitter
is
a
separate
thing
that
is
backed
by
logs
or
spams,
at
least
that's
my
preference.
I
think
most
people
in
the
logs
see
we're
talking
about
separating
events
and
logs
anyway.
D
C
Yeah
exactly
it's
a
bit
like
I
don't
know
if
you
were
in
this
maintainers
meeting.
Morgan
was
talking
about
introducing
a
new
signal
called
profiling,
and
it's
like
well
to
me.
A
profiling
signal
is
just
an
event,
so
I
I
think,
they're
all
related,
so
yeah.
D
So
yeah,
so
I'm
thinking
like
once
once
we
have
that
api,
we
could
start
on
like
we
could
start
prototyping
some
instrumentations
that
use
the
api
and
I
think
for
that,
like
we
need
the
semantic
conventions
to
be
proposed
as
well.
So
I
so
I
put
like
the
first.
The
top
four
things
in
the
icebox
and
icebox
columns
are
things
that
I
think
we
should
focus
first
on.
D
D
D
Yeah,
so
I
mean
this
is
just
this
is
something
that
actually
ted
was
talking
about,
and
I
is
like
you
know
like
you,
like.
You
have
span
name
and
spent
event.
Name
don't
have
the
same.
They
don't
have
the
same,
meaning
as
like
what
we're
proposing
here,
they're
more
like
a
free-form
freeform
fields
that
are
used
to
for
display
purposes
and
that's
what
originally
that's?
What
ted
thought
that
event
name
would
be
as
well,
but
I
think
we're
proposing
that
event.
A
A
D
D
Yeah
like
select
for
for
all,
I
don't
know
like
so
for
for,
like
let's
say
if
it's
a
if
it's
a
span
that
identifies
interaction,
it
wouldn't
be
like
a
click
button
x.
It
would
be
interaction.
C
C
I
can
see
both
ways
for
hotel
defined
events.
This
might
get
back
to
the
discussion
in
the
spec
meeting
this
morning
about
proto
and
in
enums,
where
bogdan
was
saying
he
just
wanted
the
the
integer
value
on
the
wire,
but
I
think
we
probably
should
say
well.
If
we
define
the
name
as
an
enum,
then
we
should
support
both.
C
Well,
it
could,
it
could
still
be
an
enum
for
a
custom
event,
so,
depending
on
the
domain,
that
domain
can
go
and
define
their
own
set
of
values
or
name
values.
I
guess
we're
now
calling
it
so
yeah
that
would
just
define
their
own
enums,
which
and
or
if
they
say
their
enum,
is
always
a
string.
C
It's
always
a
string
that
whatever
their
custom
event
is,
I
think,
if
we
just
have
it
as
flexible
like
that,
which
really
realistically
means
we're
saying
the
name
is
either
a
string
or
an
integer
and
we'll
just
happen
to
define
some
values
for
those.
D
Okay,
so
I'm
just
trying
to
think
like
what
the
purpose
of
that
field
is
like.
If
I'm
consuming
the
data
on
the
back
end,
is
that
and
I'm
you
know
visualizing
it?
Let's
say
that
I'm
like
trying
to
to
like
visualize
all
the
all
the
events
that
happened
in
that
session.
Would
I
use
the
event
name
for
the
display
like
the
or
should
I
would
I
use
it
like
to
to
say?
Okay,
this
is
an
interaction
event,
so
I
need
to
look
into
additional
fields
to
generate
the
display
name.
C
D
That
works,
so
the
back
end
would
have
to
generate
the
display
name.
Yep.
D
D
Yeah,
so
here's
here's
the
the
draft
document
and
so
here's
the
table
that
I
have
so
we
are
so
the
event
name.
The
way
I
have
it
defined
is
that
the
event
name
is
uniquely
identified
as
the
type
of
the
event.
D
C
So
the
the
custom
event,
I
think
we
say
the
event
domain
would
be
whatever
their
custom
domain
is
and
therefore
their
event
name
is
whatever
they.
They
declare
for
that
domain.
D
B
C
Yeah
originally
I
was
proposing
name
would
actually
be
a
combination
of
both.
It
would
be
like
the
domain
and
the
name
but
santosh
proposed
separating
it
out,
and
I
can
see
argument
for
both
and
realistically
from
a
microsoft
perspective,
we'd,
probably
just
join
domain
and
name
together
with
a
dot
and
that's
how
we'll
deal
with
it.
It's
a
single
field,
but
I
don't
know
the
exact
argument
that
he
put
forward.
I
think
the
log
sig
also
had
a
reason
for
wanting
the
domain.
I
don't
remember
the
details.
D
Yeah,
so
I
think
I
think
the
reason
is
that
again
going
going
back
to
like
what
the
event
name
should
be
so
the
event
name
should
be
uniquely
identifying
the
type
of
the
event
and
so
that
we
don't.
We
don't
have
overlaps
like
because
because,
like
the
events
could
be
used
for
different
domains
like
be
used
for
profiling
as
well,
for
example,
or
for
like
yeah
profiling
or
ebpf
or
whatever.
D
C
Yeah,
I
I
don't
think
in
the
end
we
actually
have
domain
and
mobile
as
the
domain.
I
think
we'd
actually
say
it'd
be
like
hotel
client,
maybe
as
the
domain,
but
you
know,
ted
keeps
looking
at
it.
If
we
declare
the
list
of
browser
events
or
mobile
events
and
other
client
events,
we
start
there
and
then
we
merge.
I
think
it's
the
approach
you've
been
looking
at.
B
C
But
yeah
I
agree.
Martin,
we
need
to
work
on
this,
I'm
slowly
carving
out
time.
On
friday,
I
started
like
I'm
probably
gonna
jump
the
shark
a
little
bit
here.
I've
got
a
request
into
the
community
for
us
to
create
a
sandbox
web
sdk
repo.
C
C
It's
a
bit
of
fun
at
the
moment,
because
as
part
of
that,
I'm
also
updating
to
rush
so
that
it
just
more
easily
built
and
I'm
finding
a
bunch
of
inconsistencies
which
we'll
definitely
have
to
go
back.
For
example,
in
in
javascript,
a
readable
span
is
actually
not
a
span
because
it
doesn't
extend
span.
It's
a
readable
span
is
just
an
object
which
happens
to
have
names
that
you
can
access
which
are
normally
on
a
span,
but
they
have
none
of
the
span.
Functionality.
C
Now
and
then
there's
a
few
other
bits
and
pieces
in
the
in
the
sdk,
where
you've
got
a
trace
object,
but
instead
of
referring
to
the
api
trace
object,
it's
actually
referring
to
the
sdk
trace
object.
So
therefore
you
can't
pass
anything
other
than
an
sdk
trace
tool,
so
I'm
changing
those
declarations
locally,
which
is
then
causing
issues.
Now
I
have
to
cast
things
to
any,
because
some
of
the
tests
rely
on
being
that
object.
C
So
far,
I've
got
the
I've
got
a
compiling.
I've
got
it
linkedin
and
I'm
just
getting
the
tests
to
run
so
far.
It's
because
I
copied
all
the
tests
over.
It's
mostly
the
no
tests
that
are
failing
and
trying
to
get
it
to
run
always
in
a
browser
is
fun.
It's
problematic
like
because,
for
some
reason
the
browser
doesn't
have
the
process
thing.
That
mode
does
so
you
can't
control
the
processbook
versions.
Don't
exist,
these
lovely
undefined
arrows.
D
So
so,
once
once
the
repo
is
created,
you're
gonna,
put
that
in
there.
C
That's
the
intent,
that's
why
I
started
working
on
it
now,
so
I
could
actually
play
around
with
a
few
things.
While
I've
copied
the
api
over
I've
kept
it
in
a
separate
folder
and
it's
still
building
separately,
but
I
explicitly
named
it
sandbox
api
yeah.
C
I
prefixed
everything
in
the
sandbox,
so
I've
got
a
sandbox
api,
sandbox
semantic
conventions
and
then
currently
everything
else
is
just
in
the
one
web
sdk
thing
that
just
builds
once
I
get
that
going
I'll
I'll,
probably
move
things
around
a
bit
to
try
and
use
the
real
thing,
but
that's
the
intent
the
sandbox
is
to
play.
So
that's
that's
what
I'm
doing.
D
Yeah,
okay,
what
would
what
would
be
the
acceptable
size
of
the
sdk.
C
Well,
ideally,
but
for
me
to
be
able
to
consume
it
for
app
insights,
I
need
to
be
smaller
than
than
the
current
size
back
insights,
which
is
damn
big
at
the
moment.
It's
a
lot
larger
than
I'd,
like
I
think
it's
like
the
one
I
released
this
it
was
last
week
was
400k
of
raw
code
without
comments,
a
hundred
and
something
k,
minified
code
yeah.
So
it's
440k
of
code,
your
javascript
code.
With
that
comment,
it's
122
minified!
So
that's
after
running
only
a
500
and
42k
gzipped.
Sorry,
ideally
I'd
want
that's.
C
Yeah,
so
my
first
goal
is
to
just
get
this
thing:
building
get
because
I
know
when
I
did
this
locally
using
roll
up
and
rush
at
the
end
of
last
year,
using
the
standard
stuff,
I
got
a
lot
smaller
size
than
using
webpack,
which
is
also
one
of
the
reasons
I'm
using
russian
roll
up
in
this
thing,
and
that
way
we
only
have
to
build
it
once
and
then
it
can
generate
all
the
different
formats.
C
But
I
want
to
get
it
before.
I
start
applying
any
minification
techniques.
Note
that
down
and
then
start
you
know
doing
minification
stuff
on
the
code
and
seeing
where
I
land,
because
the
whole
point
is
that,
let's,
how
small
can
we
go
realistically.
C
Yeah
there's
a
lot
of
web
instrumentations
already
anyway.
So
that's
actually
not
a
big
issue,
but
the
whole
point
is
this:
needs
to
be
a
compatible
api
surface
so
that
anyone
can
go
write
their
own
instrumentation
and
just
load
it
in
because
that's
the
whole
goal
of
the
sdk
is
like.
We
have
the
hotel
defined
api
service
and
we
must
implement
that
and
be
compatible.
B
C
D
Yeah
one
additional
thing
that
I'm
thinking
is
the
the
size
of
the
you
know,
like
you
mentioned
zone.js,
so
in
js,
is
like
only
needed
essentially
for
for
tracing.
D
C
Yeah-
and
I
guess
the
other
thing
that
I
want
to
address-
is
the
global
nature
of
the
current
code,
the
fact
that
it
it
uses
statics
all
over
the
place.
I
know
that's
part
of
the
standard
api,
but
I
want
to
make
that
a
little
bit
more
optional,
because
the
other
thing
we've
added
recently
that
I
had
to
do
for
an
internal
team
is
the
ability
to
completely
unload
the
sdk
from
memory
and
removing
all
events,
so
in
this
case
removing
all
instrumentations,
because
we
have
a
team
that
directly
creates
a
new
instance.
C
It
creates
a
new
div,
creates
a
new
instance
reports
on
that
and
when
the
user
closes
the
the
the
div
they
want
to
completely
disappear.
That
was
fun.
That's
one
of
the
reasons
of
the
big
jump
from,
but
originally
we
were
395k
and
2.7.4,
and
2.8
was
already
added
all
that,
so
it
was
like
another,
almost
40k
raw
code,
without
comments.
C
Yeah
exactly
so,
it's
really
a
case
of
providing
the
necessary
hooks,
so
people
can
extend
as
needed.
So,
like
I
don't
think
as
part
of
the
hotel
we
want
to
have
unload
by
default,
but
I
think
we
want
to
have
the
ability
to
build
unload
on
top,
so
anyone
who
wants
it
can
go
and
add
on
and
load
capability
and
increase
the
size.
C
D
E
C
D
C
C
Yeah
yeah,
exactly
because
once
we
have
the
repo,
we
can
then
start
creating
forks
and
everyone
can
go
working
on
it
and
try
different
things
and
knowing
things,
then
we
can
merge
it
back
in
okay,
rather
than
having
a
fork
in
the
fork
of
a
fork
which
just
gets
crazy.
D
Okay,
all
right,
but
hopefully
do
you
know
who
can
who
can
create
that
report?
We
need
to
organ
or
someone.
C
Well,
it's
supposed
to
be
bogdan.
I
can,
let
me
add
a
link
to
the
spec
issue.
C
So
yeah,
so
I've
got
you
down
as
a
potential
maintainer
as
well
martin,
because
so
once
we're
there,
we
can
start
adding
people
other
people-
I
I
assume
so
yeah.
D
So
so
I
guess
I'm
trying
to
decide.
I
might.
I
might
need
to
talk
to
santosh
and
ted
about
this
tomorrow,
but
I'm
trying
to
figure
out
like
if
it
makes
sense
to
to
start
opening.
You
know
issues
or
prs
for
these
semantic
conventions,
or
do
we
need
to
wait
for
the
events
api
to
be
otep
to
be.
C
Yeah,
we're
probably
still
a
little
bit
early
for
semantic
conventions.
It's
probably
okay.
So
let's
get
the
events
api
because
we
now
know
we.
We
need
domain
and
name
based
on
where
we're
going,
but
I
think
we
can
just
start
to
enumerate
the
the
events
anyway,
whether
that's
in
this
doc
or
or
something
else.
I
don't
know,
I'm
not.
F
D
So
so
I
thought
is
so
my
thinking
was
this.
This
needs
to
be
defined
first
and
then
I
think
the
biggest
the
biggest
improvement
of
for
the
existing
functionality
would
be.
If
you
could
capture
all
errors.
D
C
D
Yeah
so
I
do
have,
I
do
have
a
common
section
here.
I
have
a
browser
section,
so
I
put
so
this
common
section
is
basically
saying
that
we
already
have
semantic
conventions
or
exceptions
and
then
and
the
three
attributes
defined
there
are
type
messaging
stack
trace,
and
my
question
was
with
is
that
enough
for
us,
like?
D
I
know
that
I
know
that
we
also,
I
saw
I
looked
at
the
the
sheet
that
that
we
have
put
together
of-
and
I
also
looked
at
the
aws
code
and
the
app
and
size
code,
and
it
sounds
like
there's
like
line
column,
maybe
file
name.
C
Yeah,
it's
one
of
the
things
that
I
I
need
to
sit
down
and
work
with
ram
so
effectively.
We
have
an
internal
common
schema
definition
which
is
used
across
all
languages,
which
is
exactly
what
this
is,
where
we
define
all
the
all
the
different
types
of
things.
A
There's
also
one
question:
I'm
not
sure
how
you
see
it
and
that's
something
that
you
could
also
report,
especially
in
browser
browsers.
It
sees
sp
rule
violations.
A
A
B
B
D
A
C
D
So
that's,
okay!
Yes,
my
question
is
here
like
do.
We
need
to
propose
additional
attributes
to
the
exceptions
namespace.
C
D
So
hash
is
something
that
we
do
at
new
relic.
We,
we
normalize
the
the
stack
trace
across
all
browsers
yep
and
then
so
we
can
edit
like
say
like
this
error
from
firefox
is
the
same
as
this
error
from
from
chrome.
C
D
C
D
So
yeah,
so,
if
you
think
of,
if
you
think
of
any
additional
things,
just
add
them
here.
C
Yeah
my
list
here
is
currently
broken,
so
I
can't
get
to
it,
but.
D
Okay
and
then,
then
the
other
two,
the
next,
the
next
group
of
events
would
be
interactions.
I
think-
and
here
I
I
think
the
two
common
ones
are
definitely
gonna
be
the
type
of
the
event,
so
it's
gonna
be,
like
click
key
down
whatever
and
then
for
browser,
it's
the
element
that
was
interacted
with.
C
We
have
multiple
ways,
so
you
could
have
an
id,
it
could
be
the
name
or
maybe
you've
got
a
data
tag
to
identify
what
that
idea
is,
so,
I
think,
you're
having
a
having
it
defined
just
as
a
string
and
then
I
think,
suggestions
on
how
it's
populated.
C
Yeah,
rather
than
element
id,
maybe
just
some
more
generic
name,
saying,
source
identifier
just
id,
and
then
we
as
part
of
the
description
we
just
say
well
what
this
field
is
generally
used
for,
and
there
may
be
none,
so
that
would
definitely
be
an
optional
field.
G
B
B
C
B
C
C
Yeah,
I'm
probably
not
gonna
get
any
time
before
tomorrow's
meeting
to
start
adding
stuff
to
this.
Probably
later
in
the
week
it
tends
to
be
fridays.
I
I've
got
myself
carved
out
completely,
so
I
don't
get
dragged
into
meetings.
I
have
lots
and
lots
of
meetings
I'm
trying
to
make
more
time.
C
C
They
can
specify
the
right
by
default.
If
you
enable
the
config,
we
listen
to
the
location
change
event,
and
we
just
do
that
for
you,
but
you
don't
have
to
you,
can
call
pageview
yourself
and
then
in
the
in
the
azure
portal.
It
then
gets,
you
know,
shown
that's
different
page
views,
which
conceptually
is
what
a
route
changes.
B
D
Why,
wouldn't
you
wouldn't
you
want
to
know?
Wouldn't
you
want
to
distinguish
like
the
hard
navigations
from
south
navigations
because,
like
the
like
the
hard
navigation,
but
it's
like
the
initial
initial,
like
initialization,
of
the
whole
application
and
has
a
bunch
of
those
timing,
events
associated
with
it.
C
Which
do
get
spat
out
where
the
other
ones
don't
so
effectively,
there's
a
page
view
and
a
page
view
performance
of
it.
So
they're
two
separate
events
so,
which
is
how
they
can
be
distinguished
as
part
of
the
page
view
event
there's
the
url,
so
the
url
can
be
used
to
determine
you
know
or
the
name
to
determine
whether
it's
a
you
know
the
original
home
hit
or
soft
navigations.
C
But
generally
we
find,
if
you're
a
spa.
There
is
only
that
one
page
load
and
then
after
that,
everything's
soft
there's
a
request
back
so
generally,
it's
a
very,
very
general
generalization.
B
C
B
Yeah,
then
maybe
is
it
softer
yeah?
Okay,
I
try
to
like
type
a
name
or
like
random
here,
but
they
like
wondered
if
the
method,
how
the
url
changed
to
be
care
about
it
like
it
can
be
like
push
date,
replace
this
whatever,
like
a
back
button,
click
yeah.
You
actually
know
that
and
then,
when
you
use
those
old
routers
where
you
have
the
hash
chain,
you
have
to
listen
to
the
hash
change
thing.
C
To
someone
definitely-
and
this
is
like
one
advantage
of
having
optional
attributes
like
the
the
older
new
href
rather
than
saying
required,
I'd
actually
say:
they're
optional
yeah,
especially
we're
going
to
have
hard
and
soft
in
the
same
event
type.
C
B
Okay,
so
I
really
random
thought
what
I've
always
wanted
to
do,
but
then
I've
never
really
done.
It
is
for
a
span
or
an
event.
Let's
say
you
have
xhr,
not
dxhr,
but
let's
say
you
have
like
a
static
resource
load
like
an
image
load
and
then
you
on
in
attributes,
you
would
say
if
it
was
cached
or
not
like
there
is
currently
not
like
any
100
bulletproof
way
to
say.
If
something
is
cached
or
nothing
browser,
I
don't
think.
Maybe
there
is
no.
You
can
estimate
it
pretty
closely,
but
yeah
like.
B
F
C
B
But
yeah
my
original
question
like,
should
we
do
it
browser
and
mobile
separately,
or
should
we
like
try
to
have
like
for
this
route
change
like
I
imagine
there
will
be
some
overlap
with
mobile
view,
change.
C
My
ultimate
goal
would
be:
we
come
up
with
a
set
of
common
events.
I
I
don't
really
want
to
say
these
are
only
mobile
events,
and
these
are
only
browser
events.
I
think
we
say
these
are
our
set
of
events
that
we
are
defining
and
we
might
have
words
like
you
know.
Generally.
This
is
only
done
by
a
browser,
or
this
field
is
only
populated
by
the
browser,
but
I
don't
think
we
want
to
say
browser,
location,
change,
event,
mobile
route,
change
event,.
D
D
A
A
second
one
would
be
ideal
to
challenge
so
martin.
What
about
you
had
one
in
the
very
beginning,
from
splunk.
A
I
had
what
we
had.
What
that
there
there
was
a
mobile
engineer.
B
John
watson
yeah,
he
was
actually
java
engineer
and
he
left
splunk
to
do
better
things
with
his
life,
the
hotel
but
yeah.
We
are
actually
looking
to
hire
a
mobile
someone
to
work
a
mobile.
We
currently
don't
have
anyone.
I
have
to
do
rec
native,
so
I
will
be
becoming
a
mobile
developer.
C
Yeah,
that's
part
of
the
reason
why
I
want
to
go
through
our
internal
list
with
ram
is
a
case
of
because
the
the
common
schema
is
for
everything
it's
for
windows,
it's
for
net,
it's
for
c,
plus,
it's
for
any
team
in
microsoft.
Have
this
is
all
they
can
send,
and
this
is
what
they
send
it.
So
I
think
we
have
some
of
the
the
data
that
would
help
here,
like
our
team,
specifically,
is
only
focused
on
well,
I'm
javascript,
but
we've
got
python
java
and
node
as
well.
C
C
Yeah,
so
riley
is
the
effectively
the
the.net
sdk
guy
and
effective.
This
list
is
mostly
maintained
by
riley,
so
yeah,
the
the
the
list
that
I'm
talking
about
of
all
the
different
types
of
things
have
been
built
up
over
the
multiple
generations.
C
So
once
we
get
a
chance
to
go
through
it,
I
think
it'll
probably
help
populate
a
lot
of
them
and
a
lot
of
the
fields
are
optional,
because
it
depends
on
the
environment
that
it's
coming
from
I.e
the
domain.
What
we're
calling
domain
so
munging
it
into
this
format
is
going
to
be
interesting
and
that's
just
where
I
need
to
yeah
some
guidance
on
that.
C
Which
is
the
custom
attributes
yeah?
I
know
we're
trying
to
align
directly
with
the
semantic
conventions
and
I
think
luke
miller
is
luke
miller's.
Now
she
used
to
be
on
the
observability
team,
which
is
my
broader
team,
but
she's
now
on
a
different
team.
So
she
went
from
being
the
supporter
to
the
generator
so
she's
driving
the
semantic
convention
discussion
both
internally
and
externally.
D
All
right-
and
the
last
is
the
last
category
that
I
think
is
important-
is
that
you
know,
at
least
in
the
first
phase,
is
timing,
the
timing
events
and
I'm
just
I'm
curious
like
if
you,
if
you
feel
the
same
here
like
I
do
not,
I
would
do
not
want
to
capture
these
as
metrics.
I
would
capture
them
as
as
events
things
like
window
load
largest
content
for
paint,
no
first
interaction
whatever
and
then
then
the
attribute
that
I
would
like
to
see
is
like
the
duration.
Since
the
navigation
start.
D
Which
is
basically
like
if
you,
if
you
look
at
the
w3c
specification,
it
corresponds
to
the
performance
entry.
So
let
me
actually
bring
that
up.
B
C
C
D
So
I
was,
I
was
wondering
like
to
what
extent
you
could
actually
follow
the
these.
The
definition
of
these
types
of
events
that
are
defined
by
w3c.
C
B
E
B
C
I
think
it'd
be
a
single
event
rather
than
having
like,
because
you
don't
get
all
of
these
all
the
time,
especially
when
I
don't
use
them.
There's
a
dns
lookup
one.
You
don't
always
get
the
dns
lookup.
D
C
C
I
can't
include
that
data
on
it,
so
I
think
that's
in
the
ajax
ts,
if
you
don't
have
everyone
to
go,
have
a
look
at
the
code
yeah
and
with
the
same
list
you
sit
there
looking
for
the
event
name.
C
C
D
Yes,
do
you
so
we
had
that
discussion
about.
D
So
so
do
you
mean,
do
you
mean
like
that?
If,
if
the
event
event
type
is
timing,
then
then,
like
start
time
attribute,
would
have
a
special
meaning.
C
Yeah,
so
it
would
be
more
okay,
so
we
define
an
event.
That's
saying,
having
a
domain,
the
name,
optional
description
and
then
the
data
and
the
data
is
actually
just
a
blob.
So
it's
a
and
then
depending
on
the
type
of
domain
and
name.
The
data
is
like
the
timing,
object.
D
Do
you
want
the
data
data
attributes
to
be
like
a
high
level
attribute
like
an
event.data
or
like,
if
I
would
just
put
it
like
on
that
for
that
type
of
event,.
C
It
would
be,
it
would
depend
on
the
type
of
event
what
that
is.
We
may
end
up
defining
the
basic
values
of
that
event
of
that
of
that
what
what
data
contains?
C
Maybe
until
we
go
through
all
the
events,
and
then
you
write
them
out
we're
not
really
going
to
know,
but
for
the
purpose
of
of
getting
the
list,
I
think
you're
defining
it
as
timing
dot,
I
think,
is
fine
as
long
as
we're
we're
aware
that
that's
not
the
name
that
we
intend
to
serialize
it
as
directly
like
we
don't
intend
to
repeat
timing
dot
multiple
times
it
would
actually
be.
D
C
C
D
Okay,
so
so,
for,
let
me
just
like
summarize
like
so
I
know
what
so
like,
if
I
were
defining
semantic
conversions
for
timing,
for
example,
so
we
would
still
list
out
all
the
different
attributes
we
want
to
capture
so
it'd,
be
like
start
time,
duration,
whatever,
but
we
would
say
these
are
not
sent
over
the
wire
that
they're
serialized
into
a
data
attribute.
B
D
B
I
wonder,
how
would
you
handle,
like,
let's
say,
have
those
web
vitals?
You
have
the
thing
that
what's
it
called
no,
not
the
input.
The
layout
shift,
one
yeah
where
it
keeps
happening,
and
then
you
keep
sending
it
there's
like
some
yeah.
Maybe.
D
D
To
keep
it
in
front
so
that
way
like
if
you
wanna,
if
you
wanna
ask
like
if
you
wanna,
do
analysis
on
like
you
know
what
was
what
was
the?
How
much
has
the
content
shifting
until
the
use
user
first
interacts
with
you
with
the
page
you
can.
You
can
just
look
at
those
first
interaction
events
and
you
know,
do
some
aggregation
on
those
cls
values
from
those
events.
B
B
I
think
we
wait
until
it's
reported
or
the,
and
it
is
reported
when
the
visibility
changes
for
them.
Okay,
tab,
I
think
yeah,
so
we
may
lose
it
right.
So
you
just
you,
just
use
the
google
library
for
that
yeah
try
to
upstream
it
also
do
country,
but
it
got
shut
down
kinda
because
nobody
knew
how
to
send
the
I
wanted
to
send
them
as
pens,
but
they
didn't.
Let
me.
D
Okay,
well,
let's
talk
about
that
later,
so
we're
at
time.
I
just
want
to
say
one
more
thing
about
this,
as
I'm
thinking
about
it,
I
think
one
one
disadvantage
of.
D
Sending
things
this
way
is
that
you
will,
you
will
need
to
have
you
wanna,
you
will
need
to
be
parsing
the
data
on
the
back
end.
You
can
just
ingest
like
logs
and
then
just
analyze,
the
attributes
and
the
logs
right.
C
Depending
how
you're
doing
it
yeah,
you
have
to
flatten
it
out,
like
most
of
our
back
end
systems,
flatten
out
when
they're
going
into
a
cosmos
db.
So.
C
C
D
D
That
up,
because
that
that
actually
impacts,
you
know,
obviously
back
ends.
You
know
consuming
this
data
so
like
well,
we
can't
like
vendors
like
ingesting
this.
Data
will
have
to
make
changes.
Obviously,.
C
It's
really
at
the
level
of
whatever
the
receiver
of
this
is,
if
that's
a
collector
or
something
else,
yeah
yeah
how
they
go
from
there,
that's
the
point
of
which
you
probably
want
to
do
it.
If
you're
validating
events-
and
we
talk
about
validation,
a
couple
of
times,
if
you're
going
through
and
validating
it,
then
that's
probably
if
you,
if
you
need
to
flatten,
that's
probably
the
point
you'd,
do
it:
okay,
just
you're
enumerating
all
the
keys
anyway,.
D
Okay,
we
can
continue
this
discussion
tomorrow,
cool
all
right.