►
From YouTube: 2022-08-02 meeting
Description
Instrumentation: Messaging
A
A
B
Just
check
the.
A
Yeah
hi
yeah,
it
is
for
the
ram
sake,
but
the
main
one
is
tomorrow,
okay,
so
this
was
added
for
some
additional
discussions
on
the
same
topics
of
ram,
but
not
many
folks
join.
Not
many
folks
are
aware
of
you
know
this.
B
A
We
started
for
discussing
a
few
tips,
but
then
you
know
the
rotep
didn't
move
forward,
so
we
continued
this
meeting
for
anything
else
in
general,
so
usually
martin
and
nev,
martin
from
neuralichnov
from
microsoft,
myself
and
stefan
and
a
few
others.
You
know
we
hang
out
here
but
yeah.
I
think
how
about
you,
which
company
you're
from.
B
Coming
from
grafana,
I
recently.
C
B
Think
I'll
double
check
because
I
think
cedric,
one
of
our
new
pms
he's
been
going
recently
and
so
kind
of
filling
in
while
he's
out.
A
A
Nev,
did
you
have
any
topics?
I
I
wanted
to
talk
about
the
you
know
the
map
data
type
for
attribute
values.
A
A
Is
that
the
way
it's
going,
nev.
B
Yeah,
it's
gonna
be
problematic
because
I
ideally
we
want
to
have
it
for
both
logs
and
for
at
least
span
events,
but
at
least
the
pushback
from
the
spec
guys
is
they
don't
want
any
hints
in
the
spec
of
that?
It
may
be
at
some
point
in
the
future
supported,
so
hopefully
we
can
get
it
in
for
logs
once
we
do
that,
then
we
probably
need
to
have
our
defined
events
first
before
we
can
even
try
to
push
span
events,
I
don't
know
it's,
it
may
be
a
case
of
for
span
events.
B
B
Okay,
that
would
only
be
for
the
json
exporter.
If
you're
doing
a
an
hotel
exporter
in
binary,
then
it
would
probably
be
smaller
to
keep
it
as
a
nested
attribute.
A
A
Okay,
so
martin,
now
that
you're
here
I
wanted
to
you,
know,
clarify
something
I
I
think
I
don't
know
if
it
was
last
week
or
the
week
before
we
talked
about
the
performance
timing
parameters.
A
Today
they
are
represented
as
individual
span
events
under
a
certain
span,
and
you
wanted
to
move
them
out
to
be
standalone
events,
because
you
know
not
all
of
those
all
of
that
data
is
available
soon
enough
and
that
could
you
know,
delay
sending
the
base
paid
span.
You
had
this
one
concern
right
and.
A
A
Option
is:
if
we
keep
them
under
spans,
you
know
we
could
generate
a
new
span.
You
know
which
would
anyway,
you
know
these.
The
document
fetch
is
a
child
span
of
the
document
load
span
and
you
could
create
one
more
document.
Fetch.
C
Or
the
document
load,
like
the
the
whole.
A
A
Load
span
as
its
parent,
so
so,
given
that
you
know
the
initial
data
spans
can
can
go
out
the
door
and
then
any
additional
information,
that's
available
after
a
few
seconds,
you
know,
could
be
sent
out
as
additional
spams
and
you
could
always
link
them
to
the
to
the
initial
span.
A
It
may
not
be
happening
today,
because
I
I
don't
know
whether
all
of
the
performance
timing
parameters,
all
the
data
is
available
in
in
one
go
or
over
a
period
of
time.
B
Why
are
we
looking
to
break
it
up
because,
like
we're
we're
looking
at
defining
an
event
which
contains
them
all
yeah
and
my
my
understanding
is
the
resource
timings
at
least
for
a
page
load?
Are
a
single
entity,
so
they'll
all
be
there.
It
won't
be
a
case
of
it'll,
be
partially
populated,
at
least
that's
my
experience.
A
Oh
yeah,
we
could,
we
could
delay.
You
know
the
entire
in
all
the
resource
timing
spans
to
a
later
time,
when
they're
available,
you
know
we
could
send
out
the
base
page
span.
Initially,
whenever
it's
the
page
load
is
complete,
I
think
martin's
concern
was
the
performance.
Data
may
not
be
available
until
after
a
little
later.
B
And
it
may
not
be
like
for
fetch
and
xhr
it
takes
about
10
milliseconds
before
the
resource
timing.
Stuff
is
populated
after
the
fetch
and
xhr
response
has
returned.
So
I
don't
know
about
the
page
load.
I
haven't
actually
done
explicit
timings
on
that,
but
it's
possible,
but
again
we're
talking
about
wrapping
this
and
sending
this
as
a
span
as
opposed
to
sending
as
an
event,
which
is
what
we're
trying
to
define
which
may
have
a
span
linked
to
it
like
the
the
existing
experimental
ones.
B
Are
there
doing
it
the
way
they're
doing
it,
because
that
was
the
only
way
to
do
it,
we're
now
defining
what
we
wanted
to
do
moving
forward.
If
people
still
want
to
span,
then
yes,
they
can
go
and
create
a
span
and
then
fire
the
events.
A
C
Now
I
was
just
going
to
say,
like
I
yeah
I
like,
I
think
that
the
span
is
is
right
in
my
mind,
kind
of
optional,
like
it's
the
context
that
you
can,
that
could
that
can
be
present
and
it's
really
up
to
the
instrumentation
like
we
can
still
have
a
span,
that's
generated
right,
but
but
I
think
it's
important
to
capture
the
the
navigation
timing
data
always
and
as
much
of
as
much
of
it
as
as
possible.
C
B
If
it's
there
yeah
yeah,
so
for
microsoft,
we
effectively
send.
We
have
two
different
events
that
we
send.
One
is
the
the
page
load
event
which
is
affecting
the
document
load,
and
then
we
have
the
page
view
performance
event,
which
is
the
you
know,
a
summary
of
the
performance
timings
and
they
are
sent
explicitly
separately.
A
So
there
is
one
concern
I
have
sending
it
separately,
which
is.
A
Like
at
least
it
could
be
like
vendor
specific,
it
could
be
just
a
limitation
on
our
side,
but
but
basically
the
the
advantage
sending
along
with
the
original
span
you
know
for
for
that
hr
is,
is
that
you
know
the
the
performance
data
we
know
it
belongs
to.
You
know
that
xhr.
A
A
B
So
let
me
clarify
so
for
application
sites.
We
send
two
separate
events
for
the
page
load,
which
is
the
page
load
and
then
the
page
view
for
xhr.
We
actually
delay
sending
the
event
for
the
what
we
call
remote
dependency
for
the
ajax
request.
Until
the
timing
is
available,
all
we
timed
out
trying
to
get
it
because
the
timing
for
the
xhr
won't
always
be
there,
because
if
the
resource
timings
is
full,
it'll
never
happen
so
yeah.
So
for
the
xhr,
I
agree,
including
it
in
it.
B
The
performance
data
in
with
it
is
needed
because
they
are
highly
linked
that
you
know
they
are
directly
linked
to
it.
But
for
the
page
view
and
the
page
view
performance,
I
keep
keeping
those
separate,
especially
for
client-side
redirects,
because
you
may
not.
You
may
not
be
able
to
wait
for
the
performance
time
to
be
there.
A
I
think
the
the
reason
martin
correct
me
if
I'm
wrong,
but
the
reason
you
you
didn't
want
to
wait
until
the
performance
data
is
available
was
to
handle
the
cases
such
as
you
know,
somebody
closing
the
browser
or
somebody
navigating
away
from
the
page
right,
in
which
case
you
know
there
is
an
urgency
to
send
the
data
out
so.
C
I
think
that's
one,
that's
like
the
main
reason
I
think,
but
also
also
just
not
relying
on
tracing
like,
I
think
getting
you
know,
sending
that
event
is
much
much
simpler
and.
A
B
A
So
so
we
are
talking
about
the
performance
of
a
url
fetch
right,
so
there
will
be
a
span
for
that.
B
Yeah,
so
for
an
ajax
request,
depending
on
how
that's
constructed
there
should
be
a
span
that
gets
created
around
the
outside
of
that.
So
I
think
for
the
experimental
ajax
things
I
think
they
do
create
a
span
before
they
do
the
request,
but
they
close
currently
close
the
span
when
the
response
is
received,
which
is
before
the
performance
timing
will
be
available.
B
So
there
are
those
instrumentations
if
we
want
to
include
the
performance
timing
in
with
that,
we'll
have
to
wait,
you'll
have
to
wait,
and
then
you
end
up
in
a
situation
because
you're
waiting
with
the
timeout,
if
the
page
navigates
away,
while
you're
waiting
you'll
never
get
called,
and
you
won't
actually
send
the
request.
A
Okay,
okay
yeah.
I
think
we'll
have
to
experiment
how
it
is
behaving
today.
B
A
B
But
yeah
that
would
be
the
instrumentation's
role
for
the
span,
in
my
view,
and
in
the
page
load
case,
which
is
what
I
thought
we
were
talking
about,
you
won't
it'll,
be
the
application.
That's
created
the
span,
not
the
instrumentation,
because
the
instrumentation
will
fire
on
the
load
event
and
today
it
creates
a
dummy
span.
So
it
can
send
events
which
we
could
continue
doing
or
we
could
have
an
instrumentation
that
could
continue
doing.
But
then
it's
going
to
potentially
wait
until
the
the
timing.
Is
there
or
just
assume
the
timing?
B
B
I
I
don't
see
it
as
a
there's,
a
limitation
of
defining
the
event
that
it
must
or
must
not
be
in
a
span,
because
in
the
case
of
your
back
end,
you
want
the
span
in
the
case
of
microsoft's
backend.
You
don't
need
this
man.
B
Yeah
so
whatever
whatever
configuration
you
supply
for
your
customers
and
say:
okay,
we're
using
telemetry
here's
our
sku,
you
just
have
that
configured
with
whatever
instrumentation
is
going
to
be
right
for
you.
C
Like
having,
but
having
like
the
events,
just
like
the
simplest
way
of
gathering
the
data
right,
like
you
have
you
will
you
can
just
get
like
the
events
that
represent
the
resources
and
the
navigation
yeah,
and
that's
like
the
simplest
implementation
and
then
like.
If
you
want
to
have
more
context,
on
top
of
it
and,
like
you
know,
link
link
different
like
show
attribution
between
what
happened
on
the
page.
Then
you
can
generate
spans
like
you,
can
have
a
separate
instrumentation
that
generates
plans.
Yeah.
B
And
like
if
you're
in
angular
react
or
some
other
you
know
spa
type
framework,
you
may
want
to
start
the
span
while
you've
finished
going
and
resolving
all
your
router
and
setting
up
and
then
finish
a
span
and
then
anything
happens
in
between
there
should
automatically
get
linked
to
whatever
the
the
parent
bank
was.
C
A
Set
of
individual
span
events
are,
should
be
a
set
of
independent,
just
attributes.
You
know
they
like
the
http
request.
Let
me
show
you
what
I
mean
so
the
http
request,
headers
is,
is
a
map,
but
they
are
flattened
at
this
at
the
source
itself.
It
sits
flat.
Let
me
show
you.
B
And
I
think
we're
gonna
end
up.
You
know,
based
on
the
pushback
that
we're
getting
from
my
nested
attribute
stuff,
we're
gonna
have
to
end
up,
I
think,
defining
some
scheme
to
flatten
things.
Even
if
log
supports
nested,
I
I
think
the
way
things
are
going
that
doesn't
have
to
find
my
thing.
There's
gonna
be
there's
gonna,
we're
gonna,
define
a
strategy
and
that
things
are
gonna
have
to
fall
back
to.
A
Okay,
so
here
the
http
request
header
is
is
is
ideally
a
map
is
suited
for
it,
but
given
that
the
map
doesn't
exist,
they
they're
just
recommending
that
you
send
them
as
a
separate
attributes
and
then
the
back
end
knows
that
the
http
request-
header,
you
know-
needs
to
be
converted
to
a
map.
So
so
so
there
is
a
specific
logic
looking
for
this
attributes
with
this
prefix
and
then
they
will.
A
Yeah
I
I
was
suggesting
something
like
this.
Where
there
is
a
there
is
a
map
you
know
in
between.
That
tells
you
that
tells
the
receivers.
A
So
so
with
either
of
these,
you
know
we
could
drop
the
idea
of
having
maps
at
the
client
side
and
then
at
the
time
of
export
or
even
at
the
time
of
generating,
if
we
could
flatten
them.
A
B
A
Correct
correct:
okay!
So
how
do
we
arrive
at
a
decision.
B
Well,
we
we're
I'm
not
quite
sure
the
question
so
effectively.
We
have
we're
defining
the
shape
of
an
event
as
event,
name
event,
domain
event,
data
which
has
all
the
data
and
all
the
the
data
for
what
we're
looking
at
this.
The
screen
here
is
the
individual
fields
of
that
particular
event.
A
B
So
the
existing
experimental
one
which
we're
looking
at
now,
I
think
we
just
say
it's
experimental.
It's
not
the
recommended.
B
So
in
in
this
it
wouldn't
be
events.
It
would
be
still
be
a
single
event
which
would
have
a
domain
a
name
and
then
the
data,
but
because
span
event.
If
you're
going
to
send
it
as
a
spam
event
that
span
event,
data
would
need
to
be
a
string
because
right
now
today
span
event
doesn't
support
nested
attributes,
which
is
why
they
sent
today
as
an
array
of
events.
B
That's
partially
why
I
was
originally
driving
my
spec
clarification
in
one
big:
go
to
say:
we're
going
to
support
it
because
protobuf
supports
it,
but
we're
getting
pushed
back.
So
I'm
going
to
divide
it
up
in
smaller
chunks
and
based
on
the
timing,
wise.
It's
going
to
be
a
long
pole
before
we
get
there.
A
So
I
think
we
should
at
least
get
it
removed
for
logs
if,
like
as
in
there
has
to
be-
I
I
don't
know
I
think,
for
this
one
for
this
topic
I
mean,
I
think
we
should
time
box
the
decision
making
and
then
just
go
with.
You
know.
B
If
you
go
back
to
like
what
ted
was
originally
proposing,
eventually,
he
wants
span
events
to
go
away
so
span.
Events
would
actually
you
you
add
spam
events,
but
they
actually
still
get
sent
as
log
events
with
a
link
to
the
spam.
B
Like
that,
that
was
one
of
one
of
ted's
earlier
definitions,
unfortunately
he's
not
here
so
yeah.
The
the
whole
thing
of
like
having
events
as
events
like
events
should
be
events
that
should
be
the
same.
We're
just
dealing
with
this
limitation
of
spans
today.
A
Yeah,
in
that
case,
you
know
for
for
app
dynamics.
You
know
we
will.
A
So
so
we
would
have
to
like,
for
example,
have
a
annotation,
a
prefix.
So
let's
say.
A
Either
that
or
even
there
could
be
different
types
of
timing
data
right,
the
performance,
timing,
data
there
are:
there
are
different
entry
types,
so
the
resource
is
one
performance
is
one
and
there
are
a
few
other
types,
so
we
could
say,
timing
data
dot,
that
entry
type
dot
fetch
start.
C
B
Yeah
you,
you
can
make
it
work,
but
it's
still
going
to
be
a
lot
of
work,
because
if
you
just
have
a
straight
attribute,
you
yeah
it's
you'll,
end
up
having
like
your
http
request.headers.map
and
then
a
number,
because
if
you've
got
the
same
type
of
event,
then
yeah,
so
you
can
make
it
work
and
that'll
be
that
particular
instrumentation.
But.
A
B
A
Yeah,
I
think
at
this
point,
what
we
really
need
is
a
conclusion
on
the
map
type,
whether
attribute
values
can
be
maps
and
and
then
the
we
could
go
ahead
and
make
the
changes
so.
A
Well,
how
are
they
different
things?
I
I
wanted
to
understand
that
too
well,.
A
It
depends
on
how
you
define
a
map
right,
a
map.
If
we
go
by
the
current
prototype
of
definition,
a
map
will
again
be
a
key
plus
any
value.
B
Yeah,
which
is
what
I'm
trying
to
clarify,
I'm
trying
I
tried
to
come
from
the
approach
of
saying:
protobuf
supports
it.
So
therefore
everything
supports
it,
pull
stop
even
though
the
spec
says
span
and
metrics
don't
support
it.
The
transport
supports
it.
So
therefore
we
have
to
define
how
it's
handled,
but
people
are
still
pushing
back
and
saying
spans
and
metrics.
No
sorry
but
yeah.
I
agree,
you
know,
protobuf
supports
it.
If
you,
if
you
define
protobuf
to
the
protobuf
spec,
everything
supports
nested
attributes.
B
A
So
where
does
that
issue
stand
today?
I
know
you're
getting
a
pushback,
but
is
there
any
likelihood
like,
even
if
we
make
it
accepted
for
logs
alone,.
B
A
For
logs
it's
it's
only
a
matter
of
implementation
right
because
the
spec
already
allows
it
correct.
B
So,
even
if
my
my
thing
doesn't
go
in
logs
with
support,
so
it's
already
there,
I
said
the
original
scope
of
my
change
was
to
try
and
effectively
crack
open
the
door
a
little
bit.
I'm
now
trying
not
to
have
the
door
slammed
completely
shut.
B
I
did
publish
an
update
to
it
this
morning,
so
I
have
a
table
in
terms
of
which
I've
exposed
explicitly
defined
as
this
table.
Doesn't
it's
not
the
be
all
in
the
end,
all
it's
just
a
quick
look
up
guide
and
I
did
that
so
that
specs
later
can
change
and
say
span.
Events
can
do
this,
but
this
table
doesn't
need
to
be
updated
for
that
to
be
supported.
B
B
B
So
it
now
says
the
heading
says,
supported
it
says:
span
and
metrics
no
logs,
yes,
where
before
it
was
optional
span
and
events,
no,
which
read
that
they
must
be
supported
in
logistics.
So
that
was
the
change
I
made
this
morning
and
then
I
have
a
bunch
of
open
comments
which
I've
got
no
response
from
the
last
week
and
a
half.
A
Okay,
but
how
will
the
implementations
handle
it.
B
Yeah,
I
don't
know,
that's
as
part
of
my
comments.
That's
part
of
the
issue
in
that
arman
and
I
forget
the
name.
The
other
person
who's
commenting
are
suggesting
that
sdks
need
to
completely
separate
and
have
two
different
types
of
attributes:
yeah
log
attributes
and
normal
attributes
to
try
and
counteract
that.
And
I'm
saying
well,
no,
that's
just
overhead,
especially
from
a
browser
side.
That's
an
overhead!
I
do
not
want
to
do
because
it's
yet
another
type.
B
A
B
But
to
say
logs
already
supports
it.
We
can
continue
moving
forward
by
defining
it
and
then
once
we
define
what
an
event
looks
like,
we
can
then
say:
okay.
Well,
we
want
to
also
have
this
as
an
option
to
send
as
a
span
event,
and
the
fallback
today
which
isn't
already
included
in
the
attribute
spec,
is
that
if
it's
not
supported
it
should
be
json
encoded.
A
So
what
what
is
the
concern
against
just
using
json
encoding,
json,
encoded
string.
B
I'm
almost
saying,
let's
just
go
for
that,
which
is
why
I'm
hesitating
in
responding,
because
that
is
the
easier
path
when
it
comes
to
constructing
it.
Going
jason's
up
stringify
on
a
you
know,
resource
timing
is
going
to
be
a
hell
of
a
lot
faster
than
constructing
an
attribute
structure
from
the
resource
structure.
B
But
if
we
end
up
going
otlp,
which
is
what
daniel
was
suggesting,
is
the
norm
today,
except,
I
think
it's
the
norm,
because
it's
all
node,
if
it's
binary,
encoded
binary
encoded,
will
actually
be
faster
as
of
attribute
than
it
will
be
as
a
string
encoding,
because
the
string
encoding
isn't
going
to
get
it's
just
a
string,
it's
going
to
go,
as
is
from
a
coming
from
the
backend
perspective.
B
A
A
With
so
so,
if,
if
that
goes
out
the
door
first,
then
that
will
most
likely
be
the
default
for
most
people.
A
But
on
the
browser
side
you
know
so
the
plan
is
that
once
we
so
basically
we
we
also
want
to
build
a
an
agent
package.
You
know
choosing
some
defaults,
for
you
know
several
features.
B
A
Right
so
in
that,
if
let's
say
you
know,
purvi
is
working
on
the
prototype
of
support.
So
if
let's
say
you
know
given
that
that
is
supported
officially
you
know
that
would
go
in
and
if
that
gets
released
as
the
1.0
version
of
the
browser
agent,
then
that
will
what
be
used
by
atmosphere.
B
Yep
and
that's
fine
as
long
as
you've
got
somewhere
to
send
it,
and
in
you
know,
if
that,
if
that
is
the
default,
then
having
it
as
nested
attributes
will
compress
more
than
having
it
as
a
json
code
string.
B
We're
talking
bytes
we're
not
talking
like
huge
maps,
but
it
will
be
smaller
depending
on
the
data,
but
generally
will
be
smaller,
like
all
you're
going
to
do
is
look
what
you
get
on
the
screen
here,
like
fetch,
start
two
very
long
numbers.
You
know
those
long
numbers
will
become
four
bytes
or
eight
bytes,
depending
on
the
type
of
encoding
rather
than
the
30
pod
bytes.
Just
for
the
fetch
that
one
because
they'll
get
you
know,
they'll
get
encoded
as
integers
and
doubles
so
yeah.
B
A
A
little
lost
frankly
on
whether
to
what
is
the
implication
of
this
nestor
attributes
on
if
it
goes
through
or
if
it
doesn't
go
through,
because
at
some
point
we
have
to
drop
the
ball
and
accept.
B
B
From
my
perspective,
that's
the
exporter's
role,
not
an
issue
within
the
case
of
defining
what
the
event
looks
like
so,
at
the
exporter
level.
It's
then
you
know,
you've
got
the
encoding
and
the
decoding
on
both
sides
in
the
specs
that
we're
defining
we're
not
actually
defining
directly.
What
that
exporting
is
like
yet.
B
B
B
A
A
And
I
and
I
don't
know
whether
they
have
this
requirement.
Whether
this
is
applicable,
that
if
it's
only
let's
say
javascript,
then
we
could
add
the
support
for.
A
B
A
Even
though
these
spec
doesn't
allow
it.
B
B
Let
me
go
have
a
look
because
I
know
they
define
it
as
a
single
attribute
value
was
where's.
My.
B
A
So
yeah,
and
and
is
that
common
with
the
node
as
well.
A
Because
if
it
was
common
with
node,
then
how
come
the
node
folks
don't
have
an
objection.
A
But
even
the
map
isn't
allowed,
as
per
the
spec
right.
A
Not
not
per
the
protobuf,
you
know,
as
per
the
spec,
because
the
other
languages
do
not
support
it.
B
A
So
I'm
looking
at
the
java
implementation
of
attributes
and
there,
the
attribute
builder
interface,
for
the
put,
I
only
see
the
the
second
parameter
value
being
string
along
double
pull
and.
B
A
Yeah,
but
an
attributes
value
cannot
be
an
attribute
collection.
Can
it
be.
B
An
attribute
value-
I
don't
want
to
go
back
at
the
top
here-
an
accurate
value,
primitive
string,
building,
double
precision,
int
an
array
and
then
I've
added
the
nested
so
yeah.
So
an
attribute
value
itself
cannot
be
a
map.
A
Yeah-
and
that
is
what
we're
talking
about-
isn't
it.
B
B
I'm
missing
something
here
as
part
of
the
nesting
at
root.
Is
it
a
case
of
it's
just
actually
yeah?
I
might
be
missing
something
here,
a
nested
attribute,
so
in
any
value.
A
So
this
is
this
is
what
you
know,
I'm
I'm
seeking
right.
So
an
attribute
look
at
this
and
this
is
a
collection
of
attributes.
You
know
this
structure
and
it
has
one
attribute
called
timing.
Data
whose
value
is
is
a
map.
A
So
so
this
structure
is
it
possible
today.
A
B
C
But
the
but
it's
but
it's
the
key
value
list
is
key
value
is
is,
is
is
an
array
of
of
key
values
which
is
a
string
and
then
the
any
value,
and
anyway
it
looks
a
little
bit
different
right.
I
mean
it
doesn't.
Look
like
this
is
like
a
simplified
map,
whereas,
like
the
in
the
protocol,
the
json
protocol
would
look
more,
it
would
have
more
more
structure.
A
B
Yeah,
I
think
the
the
key
value
list
is
not
supported
today
for
spans.
I
think
that
was
added
for
logs,
so
once
people
start
implementing
logs,
that's
where
we're
going
to
start
getting
hitting
the
issue,
because
they'll
need
to
support
this
key
value
in
this.
C
I
mean
is,
it
is,
is
the
nested
attributes
or
the
key
value
attributes
implemented
anywhere.
A
A
B
B
A
C
I
mean
the
thing
with
this:
you
know
that
that's
kind
of
my
mind
also
is
is
whether
there
are
any
back
ends
that
they
could
actually
in
you
know,
parse
or
interpret
those
those
kinds
of
values.
B
C
C
So
I
would
be
I'd
be
curious,
like
what
what
other
vendors
are
thinking.
As
far
as
supporting
this.
A
You
know,
I
think
none
of
them
support
like
it.
It
has
to.
They
all,
have
to
follow
this
spec
right.
I
think
that's
why
it
wasn't
added
yeah
now
and
even
even
us,
you
know
we
need
it
for
the
purpose
of
you
know
a
smaller
payload
size
and
and
also
to
avoid
unnecessary
conversion.
A
You
know
you,
the
data
is
generated
as
a
map
and
the
receiver
also
needs
it
as
a
map,
so
why
unnecessarily
convert
in
between,
but
but
that
is
where
you
know,
I'm
now
thinking
in
the
interest
of
both
time
and
simplicity,
that
you
know
we
from
our
side
as
well.
You
know
we
drop
the
idea
of
you
know.
Nested
attributes.
A
Yeah,
so
so
in,
even
if,
for
all
such
scenarios
we
will
have
to,
you
know,
provide
a
way
to
flatten
that
our
you
know
the
either
flatten
it
or
we.
You
have
three
options
right.
You
know
the
nested
protobuf
as
a
json
or
as
a
flattened.
You
know
as
a
flattened
set
of
attributes.
So
the
first
option
you
know,
given
that
it's
not
possible,
then
you
know
it's.
The
other
two
you'll
have
to
go
with
either
as
a
json.
Encoded
string
are
a
separate
set
of
flattened
attributes.
A
Now,
even
even
even
for
the
logs,
I
think
you
know
we
could
we
could,
you
know
close
the
loophole
and
and
then
suggest
a
change
to
the
spec
to
not
support
logs,
because
it
looks
like
none
of
the
sdks
you
know
want
to
do
it.
B
A
Actually,
actually,
if
you
are,
you
know
really
strong
about
it,
then
I
think
this
is
a
good
time
to
explicitly
point
out
in
the
logs
api
spec,
because
that
is
an
end
user
callable
api.
So
far,
it
has
been
only
at
the
sdk
level,
which
means
you
know
it
will
be
only
used
behind
the
scenes.
B
I
I
think,
if
you
look
back
at
like
tigran's
original
short
code,
he
explicitly
called
it
out
there
and
in
terms
of
like
the
the
nesting
he
gave.
Examples
and
people
have
provided
examples
of
nested
attributes.
So
I
I
don't
think
it's
going
missing.
I
think
it's
just
the
case
of
sdks
haven't
implemented
it
yet
and
haven't
hit
the
complications
of
having
to
have
different
types
of
acrobats.
A
B
Ideally,
map
support
for
spans
would
be
beneficial
because
any
event
today
that
I
send
for
application,
insights
or
the
internal
version
can
support
nested
attributes
which
are
supplied
by
the
customer,
not
by
me,
not
by
the
sdk.
A
So
so
maybe
you
know
even
for
customer
supplied
maps,
you
know
you,
you
know
your
sdk
could
flat
could
convert
to
a
json
encoded
string,
wouldn't.
B
B
B
100
agree
with
that
statement
how
they
do
that
is
entirely
up
to
the
exporter
and
I
foresee,
while
there
is
a
common
otlp
exporter
that
will
send
to
a
collector
and
back
ends,
you
know
vendors
may
choose
to
only
implement
the
collector
as
the
only
endpoint,
which
is
one
option
that
we're
looking
at
once
it
hits
the
collector
the
collector
protocol
supports
it.
B
So
therefore
they
have
to
come
up
with
the
strategy
to
convert
at
that
point
anyway,
because,
while
we're
defining
what
the
open
telemetry
provided
code
support
that
doesn't
stop
anyone
else
from
doing
it
like
ikea,
have
already
have
their
own
definition
and
their
own
code
to
produce
otlp
they're
using
none
of
the
open
telemetry
code.
A
So
there
is
one
statement
you
made,
which
is
kind
of
you
know
odd.
To
me,
which
is
the
sdk
is
supporting
the
nested
attributes,
but
the
exporter
you
know,
choosing
to
convert
it
to
the
format
the
dotel
pinitz.
B
Because
the
so
like,
for
example,
today,
we
have
exporters
for
open,
telemetry
so
effectively,
everything
in
front
that
the
application
uses
is
all
open
telemetry,
but
then
we
have
our
own
exporters
for
sending
to
azure
monitor
from
node
or
in
java
or
to
our
internal
version.
So
in
fact
we
have
two
different
exporters
that
convert.
We
don't
use
a
collector
today
for
those
two
okay
and
those
exporters
do
the
conversion.
A
Okay,
we
are
out
of
time
yeah
I
mean,
I
think,
either
approaches
have
you
know
pros
and
cons.
So
we
we
just
need
to
agree
on
our
consensus.
Yeah.
B
C
So
I
wonder
like,
if
are
we
gonna
add
like?
Are
we
basically
going
in
the
direction
of
having
of
sending
everything
in
a
single
in
a
single
event,
data
attribute,
and
if
that's
the
case
like,
should
we
open?
Should
there
be
like
some
kind
of
issue
like
to
discuss
this
with
the
community
or
like
or
proposal?
C
C
C
Sorry
said
it
again,
so
like
the
the
old
tab
that
you
had
and
the
spec
pr
for
the
event
api,
it
only
talks
about
name
and
domain,
but
does
not
talk
about
the
data.
A
I
added
it
today
for
the
but
yeah.
No,
no,
I'm
sorry!
I
you're
talking
about
yeah
yeah.
We!
I
don't
speak
about
data
yeah
yeah.
What
I
added
today
is
the
is
the
enumeration
some
possible
values
for
the
domain.
But
if
you're
talking
about
the
data
yeah,
we
haven't
specified
that.
C
So
so
what
do
we
need
to
do
like
to
to
specify
that
like?
Should
we
should
we
open
an
issue
and
like
for
for
discussion
with
with
other
people,
or
should
we
just
add
it
to
the
pr.
A
No,
I
think
there
is
a
bigger
problem.
I
think
we
have
a.
We
have
a
much
larger
problem.
I
think
you
know
until
10
days
back
or
we
have
some
other
tc
member.
Who
is
you
know,
working
with
us
closely?
I
think
I
think
we
are
we.
I
think
it's
I.
I
don't
think
we
are
able
to
make
a
dent.
A
Because
it
needs
you
know
discussing
in
detail
on
a
call,
not
just
you
know,
like
a
10
minutes
in
that
spec
meeting
or
or
on
on
on
the
issues
and
beers.
A
No,
even
our
you
know
this
six
started,
you
know
I
was
just
telling
somebody
the
other
day
that
we
martin
and
I
I
think
we
started
almost
nine
to
ten
months
ago
right
and
it's
going,
you
know
very.
C
A
Like
we,
we
prioritize
testing
the
prototype
and
compression
and
then
give
up.
B
No,
we
we
can
still
keep
moving
forward
like,
but
for
for
javascript
we
need
to
have
the
log
implementation,
which
I
think,
martin
you've
already
started
on.
So
we
need
to
have
that
and
then
we
need
to
have
an
implementation
of
the
api,
and
really
all
we're
talking
about
here
is
how
we're
sending
the
data
object
right.
B
A
So
so,
let's
then
take
it
up
with
the
j6
tomorrow
and
see
what
they
think
where
like
there
are.
There
are
two
approaches
right
to
supporting
nested
attributes
in
logs.
A
B
Way
the
specs
define
today
they
have
to
be
separate.
You
can
have
the
logs
attribute,
extend
the
span
attribute,
but
there's
already
today,
there's
attributes
defined
in
the
api
and
then
there's
span
attributes
which
was
completely
defined
separately,
but
it's
now
defined
as
an
alias
to
attributes.
So
there's
already
the
pre-concept
of
span
attributes.
So
I
think
it's
already
going
to
end
up
being
log
attributes
which
I
ideally
wouldn't
like,
but
right
now
as
per
spec,
there
is
no
other
way
to
do
it.
A
C
C
Or
should
we
should
we
open
an
issue
so
that,
like
you
know,
some
people
from
the
tc
could
come
in.
B
B
Okay.
So
it's
saying
that
the
general
shape
of
a
of
an
event
will
be
name
domain
and
data
and
then
maybe
custom
data,
I'm
still
in
two
minds
where
that
custom
data
should
be.
But
if
we're
going
to
have
data
as
a
top
level,
then
maybe
we
say
event
dot
application
or
event.custom
or
something,
and
that
would
solve
that
problem.
A
I
think
the
the
problem
with
one
one
could
be
minor
one,
but
one
issue
I
see
with
that
approach.
Is
your
api
spec
to
set
the
data?
You
know
I
mean
you'll
be
able
to
set
the
data
only
once
even
using
one.
You
know
call.
A
No,
no,
so
so
when
you
are
constructing
the
event
today,
you
can
say
event
dot
set
attribute
and
you
can
call
you
can
set
multiple
independent
attributes
that
are
part
of
the
data.
Let's
say
your
data,
has
you
know
three
different,
you
know
things
so
you
could
set
them
separately,
whereas
with
the
new
form
the
client
we'll
have
to
construct
a
you
know
a
map
and
then
set
that
against
the
data
using
set
attribute.
B
A
Martin,
do
you
want
to
at
least
take
it
up
with
the
j6
tomorrow
on
on
on
the
topic
of
supporting
the
nested
type
for
logs
and
how?
How
should
you
know
what
would
be
an
acceptable
implementation.
B
A
Okay,
then
maybe
you
could,
you
know,
update
your
pr
with
that
then
have
a
separate
implementation.
B
I
have
a
discussion
in
there
talking
about
this
problem
that
once
people
start
implementing
logs
they're
going
to
hit
this
issue
and
the
person
called
out
that
that
they
should
implement
it
as
a
separate
implementation,
and
I
pushed
back
and
sort
of
said
that
that's
part
of
the
issue,
so
that's
still
an
open
conversation.
I
didn't
resolve
that
because
I
replied
to
that
over
a
week
ago.
Oh
speaking
of
replies,
I'm
really
bad
at
slack.
B
So
if
there's
something
on
slack
that
you
want
my
comment
on,
if
you
could
tag
me
because
technically
we're
not
allowed
to
use
slack
inside
of
microsoft,
we're
allowed
to
use
it
for
the
open,
telemetry
stuff,
but
as
a
consequence,
it
sits
in
the
corner
and
gets
ignored
most
of
the
time
because
I
have
psych,
I
have
teams,
I
have
email.
A
Okay,
so
yeah,
we
can
talk
about
this
in
the
loxic
as
well.
Tomorrow,
yeah
yeah,
okay,.
A
Know
I
think
he
he
agrees.
I
think
we
we
just
need
to
figure
out
a
way
to
you
know,
move
it
forward.
B
We
have
all
this
pushback
from
the
back
end
exporters.
As
far
as
I
can
tell
so.
The
people
who
originally
just
implemented
the
exporters
said:
okay,
my
my
you
know,
prometheus
or
jaeger
only
doesn't
support
nesting.
So
therefore
you
can't
send
me
nesting.
So
therefore,
the
sdk
can't
support
nesting
this.
That
was
just
like
the
lowest
common
denominator.