►
From YouTube: 2022-07-12 meeting
Description
Instrumentation: Messaging
A
B
C
It's
it's
been
really
hot
here,
it's
like
already
mid
70s.
B
B
No
I've
still
been
working
on
the
sandbox.
I
do
have
the
what
details
that
java
is
using.
So
now
there
exists
an
open,
telemetry
bot,
which
has
already
signed
the
cla
and
I'm
currently
trying
that
in
my
local
branch.
So
I
think
I've
configured
my
local
branch
to
look
like
the
real
one,
where
I've
locked
down
a
particular
staging
branch,
and
I
can
get
my
script
running
fine
locally
and
creating
a
github
pull
request.
B
But
when
I
get
the
bot
to
do
it
for
some
reason
at
the
moment
it's
the
the
sub
git
repo
that
it
creates
to
do
the
merge
doesn't
have
anything
so
hopefully
I
can
get
that
sorted
today
and
then
I
can
get
moving
on
to
once.
I
merge
the
repros.
I
can
then
push
them
into
the
form
that
I
originally
created
three
weeks
ago
now
and
get
a
building
properly.
C
Looking
forward
to
it
yeah,
I
guess
one
good
news
is
that
the
the
events
api
has
been
merged,
so
yeah.
B
C
B
Can
we.
D
C
Start
working
on
those
specifications
and
I
actually
started
working
on
you
know
the
in
the
js
sdk
a
prototype
for
that
for
what
the
events
api
might
look
like
that's
one
of
the
things,
that's
one
of
the
things
I
wanted
to
talk
about
this
week,
either
today
or
tomorrow.
C
So
I
can.
I
can
show
it
to
you.
C
It's
I
kind
of
followed.
I
followed
that
I
was
just
kind
of
trying
to
like
see
like
what
that
would
that
might
look
like,
but
I'm
you
know
I'm
willing
to
to
take
this
to
the
to
the
finish
line.
I
assume
and
obviously
there's
need
to
be.
The
specification
needs
to
be
written,
but
maybe
this
could
help
also
with
the
specification,
but
I
pretty
much
just
followed
the
metrics
and
the
trace
apis
for
the
most
part.
C
I
mean
the
most
interesting
thing
I
think
here
is
like
just
looking
at
the
types
so
like
this,
the
other
was
proposing
introducing
this
logger
class
and
logger
provider.
The
logo
providers
is
kind
of
synonymous
to
trace
tracer
provider
and
bloggers
like
the
tracer,
so
the
api
on
on
the
logger.
C
So
that's
something
I
think
up
for
discussions
is
not
obviously
finalized,
but
there
is
there's
a
method
to
so.
It
combines
both
the
events
and
logs
so
there's
a
method
amid
a
log
record
instance
and
there's
a
method
to
emit
event
instance
and
then
also
one
potential
way
of
admitting
an
event
could
be.
C
So
I
think
that's
up
for
discussion,
I
you
know
so
the
the
the
log
record
here
is
is
is
just
has
it's
an
interface
that
has
to
set
the
attributes?
That's
that's
all.
It
has
that's
again
kind
of
just
following
the
pattern
of
of
having
a
span
span,
interface
and
and
the
metric
interface
interfaces,
and
then
with
the
event.
I
wasn't
again.
C
This
is
something
for
discussion,
but
I
wasn't
sure
I
wasn't
sure
like
if,
if
he
needed
this
event
class
and
but
I
think
it
might
be
useful
and
the
way
I
defined
it
here
is
an
abstract
class
that
implements
the
log
record
interface.
So
it's
it's
got
the
same,
set,
attribute
and
said,
attributes
methods-
and
you
know
in
the
constructor
it
takes
the
name
and
domain,
and
then
it
also
is,
you
know,
is
responsible
for
setting
the
name
and
domain
on
to
the
right
attribute
with
the
right
attribute
names.
C
I
don't
know
like
if
this
this
belongs
in
the
api,
like,
I
think
I
don't
think,
there's
a
there's,
a
precedent
for
this
in
the
json
sdk
but
like
if
I,
if
I
were
going
to
define
the
api,
this
is
probably
the
way
I
would
do
it
so
yeah.
I
just
wanted
to
highlight
these
things
like
to
see.
If
you
have
any
comments
you
can
think
about
it
and
come
back
also.
B
Yeah,
there's
probably
a
couple
of
things
that
come
to
mind.
One
of
the
complications
we
have
is
attribute
and
actually
bad
or
attributes
and
attribute
value
in
the
javascript
repo
doesn't
support
nesting.
So
that's
a
bit
of
a
problem
that
we
have
to
try
and
figure
out,
even
just
bringing
in
the
logs
api
from
a
minification
perspective.
I'd
prefer
just
to
see
an
event
as
an
interface.
B
I
think,
as
part
of
what
we
discussed
in
logs.
There
was
a
case
of
you
would
ask
the
api
to
give
you
an
event,
emitter
or
something
from
memory,
so
I've
internally
created
the
event,
might
be
better
but
yeah
just
general
things,
because
the
domain
is
should
be
linked
to
the
event
emitter.
So
you
effectively
ask
the
logging
api
to
give
you
an
event.
Emitter
and
the
domain
is
set
at
that
point.
B
Yeah,
so
as
part
of
the
logger
provider,
I
think
they
were
talking
about.
Okay,
you
could
request
the
event
emitter,
which
still
seems
like
overkill,
but
yeah.
We
try,
I
think
the
whole
point
of
it
is
we.
We
try
all
this
stuff
out
in
prototype
to
see
how
it
flushes
out
so.
C
Yeah
yeah
yeah
with
so
yeah
I
the
way
I
understood
it
is
that
the
logger
would
have
would
have
it
would
just
give
you
always
a
logger,
and
the
logger
would
have
the
different
methods
for
emitting
either
event
or
log,
but
yeah
better.
I
guess
there's
the
other
option
and
with
the
event
as
an
interface
like
I
yeah
like
the
way.
C
The
reason
I
did
it
this
way
is
because
if
you,
if
you
had
it
as
just
an
interface,
it
doesn't
really
add
any
methods
so
like
it's
basically
the
same
as
a
log
record,
and
it
also
it
also.
Doesn't
I
don't
know
if
you
want
to
enforce
like
the
semantic
conventions
for
the
name
and
domain
in
the
api
or
not.
B
Yeah
I
was
thinking
like
where
you've
got
like
the
the
properties,
the
name
and
domain.
I
think
if
it
was
just
an
interface,
you
said
you
say:
okay,
these
are
public
properties
and
then
you
have
the
the
data
element,
which
is
the
nested
attributes,
and
then
you
just
pass
that
to
the
event,
emitter
and
the
actual
names
like
event.name
and
event.domain.
B
C
C
Okay,
well,
I
think
I
I
might
do
like
another
version
of
this
with,
like
the
event
emitter
that
you're
describing
and
maybe
I
can
bring
it
to
the
log
sig
tomorrow,.
B
Yeah,
because
if
it
was
the
interface,
it
means
we
could
just
have
on
the
logging
api.
Okay
here
is
a
you
know.
I
want
to
a
bit
yeah
emit
an
event,
and
then
you
say
this
is
its
name.
B
The
domain,
I
guess,
would
be
optional
because
it
would
pick
it
up
from
the
logo
emitter
and
then
you
just
give
it
effectively
a
javascript
object,
which
is
the
attributes
of
you
know,
of
a
strongly
typed
structure,
and
that
way
you
haven't
got
to
construct
an
event
object
to
then
pass
it
in
for
it
to
be
deconstructed.
C
B
B
B
C
C
Other
the
other
thing
that
I
wanted
to
get
your
feedback
on
is
I
I
started
sketching
out
the
semantic
conventions
for
the
events
we
have
been
discussing,
and
I
just.
C
So,
like
I've
just
been
sketching,
sketching
again
like
what
that
would
look
like
in
the
semantic
convention
structure.
So
so
I
have
a
branch
here
for
just
and
again,
that's
just
that's
just
a
draft
for
intended
for
to
start
the
discussion.
C
So
in
the
semantic
conventions
you
go
to
logs
and
then
conventions,
then
there
would
be.
I
guess
I
guess
like
any
any
like
just
regular
semantic
dimensions
would
be
here
just
like
the
media,
but
that's
not
related
to
events.
C
So
I
created
an
events
folder
and
then
here
describing
like
what
how
events
would
be
organized
and
described
there
is
you
know
all
events
are
going
to
have
these
events
semantic
conventions.
So
that's
what
I
put
here,
which
is
you
know
what
we
have
discussed
event
name
even
domain
event.
Data.
C
A
If
you
go
back,
I
think
there's
a
small
typo,
I
think
you're
lacking
the.
What
do
you
call
that
sign
in
the
for
the
event
domain,
exactly
the
backtick
yeah,
okay,.
C
B
That
I'm
trying
to
define
with
the
the
spec
pr
that
I've
got
for
normalizing,
you
know
and
defining
nested
attributes
is
I'd
like
to
see
where
we've
got
like
event.data
instead
of
saying
any.
We
can
actually
point
it
at
the
nest.
Attribute
definition,
I
I
keep
trying
to
create
a
table
that
almond
from
dynatrace
keeps
saying:
no,
let's
just
do
it
in
line,
so
I
got
more
comments
again
this
morning,
because
that
way
we
could
say
yeah.
We
have
name
name
the
string
domain
to
string
and
event.
B
Like
how
does
logs
define
the
necessary,
I
haven't
gone
and
looked
at
that
part
of
the
spec.
I
know
it
supports
it
because
it's
supposed
to,
but
I
haven't
actually
seen
how
it
described
in
the
spec.
However,
it's
described
there
for
saying
it's
nested
attributes,
that's
what
we
should
have
as
the
type
for
this
one
as
well.
B
Let
me
get
back,
I
might
go
looking
for
that,
might
maybe
link
it
to
my
nested
attribute
spec
yeah.
C
Yeah,
so
this
I
mean
this.
This
just
talks
talks
about
this
in
a
generic
term.
You
know
there
is
it
doesn't
talk
about
any
specific
event
here.
It's
just
saying,
like
all
yeah.
C
Yeah
yeah,
I
think
it's
good
and
so
then,
from
there
like,
you
would
have.
You
would
have
folders
for
each
domain,
so
here
just
starting
with
browser,
there
could
be
additional
ones
like
mobile
and
stuff
yeah,
so
yeah.
C
So
if
you
go
to
like
browser,
for
example
like
so
there
would
be,
you
know,
then
you
have
each
each
each
document
here
is
is
for
individual
event
type.
C
So
if
you
take
navigation
as
an
example,
it
would
you
know-
and
this
is
again
like
I'm
just
I'm
just
trying
to
figure
out
the
structure
here
so
the
event
description
of
the
event
lists
that
in
this
case
the
event
name
must
be
set.
C
This
event
domain
must
be
set
to
this
and
then
there's
a
list
of
additional
attributes
which
which
are
going
to
be
in
the
event
data
and
then
in
this
case,
what
I,
what
I,
what
I
would
prefer
to
do
here
is
just
say
like
the
additional
events,
the
additional
values
are
come
from
the
navigation
timing,
api.
C
So,
like
I
don't
know
if
you
need
to
list
them,
but
you
know
so
so
I
an
option
here
is
maybe
saying
something
like
you
know,
all
numerical
string
values
from
that
api
should
be
included
yeah
and
then
maybe
provide
like
an
example
json
or
of
what
that
event
might
look
like.
B
B
B
Well
that
that's
why
they're
optional,
because
if
the
browser
doesn't
give
it
to
you,
then
we
don't
have
it
to
populate
so
like.
If
you
go
to
ie,
you
don't
get
any
of
these.
Well,
you
know
you
get
someone,
but.
B
Like
we
know
what
what
that's,
what
we're
talking
about,
but
someone
coming
to
this
fresh,
doesn't
know
whether
those
fields
exist.
C
Attribute
I
mean:
could
some
choose
not
to
do
it?
I
know
this
is
important
for
browser,
but
let's
say
that,
like
someone
is
not
some
domains
are
not
as
concerned
about
the
size,
and
you
know
they
have
a
flat
structure.
So
in
that
case,
like
event,
data
actually
including
the
event
data
field
seems
unnecessary.
B
B
It
does
not
preclude
other
events,
adding
additional
fields
that
might
make
sense
like
we
still
haven't,
had
the
discussion
yet
about
called
custom
data.
Do
we
include
that
in
data
or
do
we
have
another
top
level,
semantic
field,
saying
event,
dot
user
data
or
something
that
can
be
passed
down.
B
B
So
the
application
supplied
custom
fields
don't
clash
with
the
event
specific
fields.
C
C
Yeah,
I'm
still
in
my
in
my
mind,
also
trying
to
resolve
this
like
from
because
our
backhand
can,
you
know,
can
take
obviously
individual
attributes,
but
it
cannot
process
this
event.
Data
attribute
right
then
so,
there's
gonna
be
old.
Vendors
are
gonna,
have
to
implement
that.
B
B
Because
effectively
it's
the
equivalent
of
like
just
what
we
have
here,
we
can
say
event.data
is
a
key
value
list,
which
is
a
single
flat
thing
that
I
think
even
spans
supports
today.
Right,
it's
just
the
like
this
particular
one
doesn't
have
any
nested
data
just
have
yeah.
C
C
Okay,
well,
that's
that's
all
I
have
to
show.
C
C
And
there's
also
send
I
did
the
same
thing
for
a
resource.
D
The
resource
issue
is
pretty
epic,
the
tedious
that
is
trying
to
get
through
to
request.
There's
a
lot
of
action
going
on
there.
D
D
We
looked
at
like
the
navigation
timing
event
for
page
load,
for
example,
so
for
us
for
at
least
for
me,
it
doesn't
really
matter
if
you
send
it
as
a
span
or
an
event,
yeah
pretty
much
the
same,
because
you
can
only
send
it
when
the
load
event
happens
well
or
page
unload.
So
you
kind
of
send
it
at
the
same
time
anyways.
So
it's
just
how
the
data
is
structured,
too,
wanted
to
say,
span
or
assembling.
C
D
C
You,
if
you
use
like
the
spam,
the
window
loads
then
like
for
to
like
represent
the
whole,
the
whole
operation
of
loading,
the
application,
and
there
may
be
things,
but
maybe
the
window
load
happens
very
fast.
And
then
you
have
a
bunch
of
like
ajax
calls
that
are
fetching
data
and
then,
like
you,
know,.
D
C
Yeah,
so
we
have
this,
the
the
user,
the
user
interaction
plug-in
right
that
it
does
it.
It
does
it
by
observing
all
tasks
that
are
in
progress
and
then
it
ends
like
when
all
tasks
are
finished
and
you
could
you
could
potentially
do
the
same
thing
with
window
load.
B
D
C
D
C
I
mean
you,
might
you
might
choose
not
to
send
the
spam
right
and
if
the
span,
if
the
span
is
used
yeah,
if
the
span
was
used
for
metrics
for
like
getting
the
counts
of
of
page
loads
and
or
like
the
things
from
the
navigation
timing,
then
yeah
you
would
have
to
send
it,
but
if
you're
using
it
for
just
like
seeing
what
attribution
is
like
which
thing
causes.
C
B
I,
I
guess,
that's
that's
part
of
why
I've
been
pushing
for
the
nested
attributes
because,
like
while,
I'm
especially
stating
what
the
current
situation
is,
I'd
like
to
get
what
martin's
done
here,
with
the
semantic
adventures
of
an
event
and
say,
event,
name,
event,
domain
event,
data
and
then
once
we've
got
that
for
logs,
we
said
we
can
then
say:
okay
well
as
part
of
a
span
event,
you
can
now
send
an
event,
that's
the
same
shape
with
with
the
three
attributes
in
it
and
that
way
we're
just
defining
a
generic
event.
B
And
then,
if
you
want
it
in
the
span,
you
send
it
in
a
span.
If
you
want
as
a
log
event,
you
send
it
as
a
log
event,
and
I
I
think
ted's
ultimate
goal
is
eventually
when
you
say
you
want
to
send
it
as
a
spam
event.
It
ends
up
internally,
sending
us
a
long
event
anyway,
so
which,
if
we
can't
get
nested
attributes
supported
in
a
span
or
at
least
in
span
events.
B
Because
it's
all
grouped
it's
all
part
of
the
same
thing
like
where
you've
got
the
navigation,
the
fact
that
it
did
a
dns
lookup
for
that.
That's
all
part
of
why
it's
there
rather
than
saying
okay.
Well,
there
was
a
dns
event
and
then
there
was
this
event
and
then
there
was
that
event
and
then
having
to
link
all
those
back
to
the
span.
C
C
Okay,
that's
all
I
had
for
today
is
there
anything
else
that
you
wanted
to
discuss
for
anyone.
D
B
Oh
yeah,
I
I've
been
doing
it.
Let
me
I
can
grab
my
current
case,
so
I
haven't
got
my
script
uploaded
today
yet
so
effectively.
This
is
my
sandbox.
I
think
everything
here
is
public
and
you
can
see
I've
got
multiple
branches,
so
we
have
the
ultimate
uber
merge.
So
the
idea
is,
I
have
a
script
that
will
take
all
of
the
and
the
script
is
isn't
that
one
I
just
pasted
in
the
tools
merge
replays.
B
It
will
go
off
and
fetch
a
copy
of
all
the
relevant
repos,
which
is
the
js
and
the
js
api,
build
them
into
this
staging
one
which
effectively
is
it?
Has
an
auto
merge
folder
with
the
the
two
repos
in
it?
So
we
have
the
complete
history
of
those
two
repos
in
this
repo
and
then
the
auto
merge
script
is
built
so
that
you
can
run
it
at
regular
intervals.
B
It
will
just
go
and
fetch
it
and
then
create
a
pr
merging
in
the
changes
so
that
we
can
so
that
the
merged,
the
the
staging
repo
stays
up
to
date
with
everything
and
then
I'll
have
another
script
that
will
take
those.
This
merges.
One
and
then
do
a
git
merge
into
the
format
of
that
really
big
pr,
which
can
then
build
because
the
staging
one
doesn't
build
it.
B
It's
just
a
straight
copy
to
get
the
history,
which
is
what
daniel
was
looking
for,
but
I
built
the
the
the
tools
script,
there's
a
there's
typescript
and
it's
quite
large.
Now
it
does
both
get
and
github
code,
but
yeah
effectively.
What
it
does
is.
It
creates
a
local
so
as
part
of
running
the
script
it's
running
in
the
current
repo,
it
creates
a
sub
couple
of
sub
repos
sets
up
remotes
merges
everything
into
there
once
it's
once.
It
commits
it
to
those
that
then
merges
that
into
itself
to
create
the
auto.
B
Merge
yeah
hold
up
the
merged
thing
just
so
it
has
history.
That's
really
all
that's
doing
now.
I
spent
a
bunch
of
time.
Yesterday
I
used
to
have
some
issues
where,
even
though,
when
there
was
nothing
to
merge,
it
would
still
try
and
create
a
pr
with
two
pull
requests
that
were
really
just
the
staging
stuff
it
does
to
move
around.
I
think
I
finally
fixed
that,
but
yeah.
B
If
you
watch
this,
I
keep
doing
forced
updates,
I'm
now
trying
to
get
the
automation
working,
because,
while
I
can
create
this
locally
and
push
out
a
pr
locally
using
the
open,
telemetry
bot
running
on
github,
it
grabs
copies,
but
it
doesn't
actually
do
the
final
thing.
So
I
can
find
that,
like
this
was
there.
B
This
was
the
last
action
that
ran
last
night
and
you
can
see
where
it
does
the
merge
changes.
It
goes
and
clones
the
repos
and
fetches
the
repos,
but
for
some
reason
the
merge
isn't
happening
properly
because
it
says
there's
no
commits
to
do
where
when
I
write
it
locally.
I
get
a
whole
bunch
of
stuff
telling
me
in
fact
copy
from
my
window
here.
C
So
now
I've
just
kind
of
a
naive
question,
but
do
you
think
so?
Could
you
anticipate
we're
gonna
be
working
this
for
a
long
time?
So
that's.
Why,
like
you,
want
to
have
a
merge.
B
Yeah,
I
I
want
the
auto
emerge
to
happen
just
in
the
background
so
effectively
we
keep
maine
up
to
date
so
that,
like
the
once
we
get
once
we
find
some
like
fixes,
we
fix
it.
We
push
them
out
into
the
js
and
the
js
api
repos
they
get
pushed
in
and
then
we
sync
it
back
around
and
we
come
back
so
it
ends
up
backing
this
refill
again
yeah.
B
C
So
I
know
I
mentioned
this
before,
but
let
me
just
say
once
one
more
time
like:
if
this
ends
up
being
too
much
work
for
you
like
we
can,
you
know
we
can
let
us
know,
and
we
can
help
I'm
I'm
definitely
available
to
help.
B
Yeah,
I'm
it
it's
close
to
the
point
like
it
as
soon
as
I
get
this
autobot
working.
You
know,
I
think
we
can
then
start
to
parallel
live
stuff.
At
the
moment,
it's
like
until
we
get
all
the
stuff
in
here.
B
B
And
the
way
I'm
building
the
script,
the
the
script
that
so
I've
in
the
big
pr
you'll
see
there
is
an
existing
pure
javascript
script
that
actually
copies
the
files
from
it.
It
affected
something
similar.
It
creates
clones
of
the
json
api
repo
and
then
it
does
a
just
a
straight
file
copy.
So
it
doesn't
end
up
with
the
the
history
the
the
change
I'm
going
to
do.
That
is
effectively
use
the
same
technique.
B
And
the
one
of
the
reasons
for
doing
it
is
the
automation
is.
This
is
a
bot
that
just
runs
in
the
background
and
even
though
it
will
generate
pr's
of
hundreds
of
files
as
a
bot
effectively
once
we're
happy
with
the
script,
the
the
script
isn't
making
radical
changes.
B
So
therefore
we
can
just
say:
yes,
it's
good
sign
it
off,
and
it's
all
in
there,
which
is
one
of
the
problems
that
daniel
brought
up
with
the
big
pr
in
that
you
can't
review
it
because
you
don't
know,
what's
been
changed,
even
though
I
can
tell
you
nothing's
been
changed,
that's
the
whole
point
of
history,
so
you
can
see
that
nothing's
been
changed.
B
C
I
have
one
more
one
more
topic
potential
topic
and
we
can
we
could.
We
could
push
it
to
tomorrow,
but
let
me
just
bring
it
up.
It's
it's
the
short
codes,
pr.
B
C
C
C
So
I
you
know,
I
think,
if
there
was
a
way
for
us
to
have
both
like
have
have
it
continue
supporting
like
the
current
format,
but
then
have
the
option
of
having
it
very.
B
B
As
well
yeah,
so
we
just
say
this
is
jason
and
then
for
certain
you
know
it
also
supports
a
a
short
form.
If
we
want
to
go
down
that
path,
I
think
the
last
time
I
looked
at
the
that
his
pr
he
was
getting
pushed
back
based
on
that
as
well.
B
Or
something
something
similar,
because
people
call
complaining
but
yeah,
I
think,
if
we're
going
to
go
down
down
the
short
codes,
it
makes
sense
because
we're
using
protobuf
as
the
back
of
it.
It
would
just
be
the
number
rather
than
the
arbitrary
shortcodes
that
have
to
be
fixed,
that
someone
creates.