►
From YouTube: 2023-03-02 meeting
Description
cncf-opentelemetry@cncf.io's Personal Meeting Room
A
B
C
C
D
C
Yeah,
it's
been
a
while
since
I've
been
in
this
meeting,
but
now
since
I
joined
grafana
this
week,
I
took
the
opportunity
to
join
here
as
well.
D
Hey
Zach:
oh,
we
should
announce
share
the
good
news
that
Jack
is
now
on
the
technical
committee
for
open
telemetry.
D
So
now,
if
you
need
any
spec,
PRS
approved
merged,
not
just
approved,
but
actually
somebody
who
can
click
the
merge
button
on
spec
PRS.
You
all
know
where
to
go.
D
All
right:
well,
let's
get
into
it
the
farm.
A
Oh
I
thought
I
was
my
mind,
moved
up
there,
sorry
for
trying
to
like
yeah.
So
thanks
all
for
for
the
the
great
comments
in
there.
A
Hopefully
I've
addressed
a
lot
of
them,
so
there
was
one
comment
around:
should
we
can
we
reuse
the
with
span
annotation
instead
of
having
a
new
separate
one,
so
I
try
that
out
a
little
bit
and
what
I
realized
in
the
end,
I
said
sort
of
once
I
got
to
working
I'm
sort
of
writing
some
comments
around
it
is
the
with
span
contains
sort
of
annotation
like
labels,
for
what
you
want
to
name
your
span
for
and
other
things,
and
if
you
say
you
want
to
use
a
current
span,
you're,
basically
not
using
any
of
the
other
sort
of
options
you
have
in
there,
and
so
I
won't
think
it
might
be
causing
more
confusion
than
anything
to
to
reuse
that
one
from
my
opinion.
A
So
basically
what
I
wanted
to
see
if
we
can
sort
of
get
an
agreement
on
today
is
basically
are
we
okay
with
using
a
separate
annotation,
and
it
was
a
tailor,
came
with
the
comment?
Maybe
The
annotation
should
be
sort
of
so
I
I
played
around
with
the
name
with
current
spam,
since
we
we
call
it
current
span.
He
said
yes
that
maybe
we
could
have
spam
attributes,
in
plural,
that's
a
sort
of
top
level
annotation.
A
A
F
A
Yeah,
so
the
the
original
Center
was
basically
like
to
use
the
span
attribute
sanitation
today,
the
only
way
to
do
it
was
with
the
with
Spam
and
we
do
a
lot
of
automatic
instrumentation
with
spring
or
or
whatever.
It
might
be
right.
Where
you
have
sort
of
parameters
coming
in
from
your
HTTP
call,
it
would
be
nice
to
sort
of
have
some
sort
of
be
able
to
easily
put
those
in
there
and
rather
having
in
a
separate
span,
get
them
with
your
your
particular
span.
So
one
example
could
be
right.
A
You
have
your
if
your
business
to
business
like
your
customer
name
or
something
coming
in
there,
you
can
get
that
into
the
trace,
and
you
can
actually
use
that
as
part
of
of
the
Met
sort
of.
If
you
generate
metrics
from
your
spans,
you
can
actually
use
that
as
an
attribute
as
part
there,
and
you
can
easily
get
the
sort
of
a
response
time
or
or
success.
Successful
requests
or
fail
request
from
per
customer
baser
basis
quite
easily
right.
F
G
F
Or
not
to
piggyback
or
to
use
a
separate,
annotation,
I
think
there's
trade-offs
to
both
I
think
I.
Think
I
might
have
suggested
initially
that,
like
we
could
piggyback
on
what
span,
because
I
thought
it
was
confusing
that
you
could
potentially
have
both
right.
If
you,
if
someone
chose
to
add
both
annotations
with
span
and
with
current
span,
it
would
be
silly,
but
you
could
do
that
and
then
it's
very
confusing
what
the
outcome
should
be.
Does
it
create
a
new
span?
Does
it
not.
F
And
I
think
the
the
what
we've
discovered
now
that
you've
done
the
flip
side
is
that
there's
also
a
potential
for
confusion
there.
So
there's
a
there's,
a
trade-off
and
I.
Think
at
this
point,
I'm
open
to
both
I
just
thought.
It
might
be
a
little
bit
I.
Think
I
when
I
suggested
I
was
like
it
might
be
a
little
bit
cleaner
to
have
it
on
with
span
but
yeah.
A
Right
and
I
got
thinking
a
little
bit.
Maybe
you
won't
sort
of
sort
of
the
same
type
of
terminal
like
not
just
use
current,
but
if
you
open
a
file
right,
you
can
say
like
create
if
it
doesn't
exists
or
type
of
thing,
but
once
I
got
down
like
started.
Thinking
about
that
and
how
that
would
be
implemented
is
sort
of
you.
A
D
A
Yeah
in
practice:
yes,
you
can
do
without
it,
but
then
you
would
basically
have
to
check
for
annotations
on
all
the
variables
on
all
methods,
basically
and
filter
out
the
ones
with
the
width
span.
But
there
is
because
otherwise,
so
with
this
one,
you
know
at
least
sort
of
okay
find
the
methods
with
this
annotation
and
you
reduce
sort
of
the
Bordeaux
and
type
of
complexity
when
scanning
new
classes
being
loaded,
and
it
will
basically
every
class
that
will
load
and
every
method
in
that
class.
We
scan
them
already
right,
but
be
deeper
scanning.
G
So
could
could
we
make
with
current
span
work
only
when
with
span
is
not
there,
because.
A
Yeah,
so
so
that's
what
I've
implemented
so
the
width
span.
So,
unfortunately,
with
annotations,
you
can't
add,
compile
time
say
like
these
two
can't
be
together,
so
you
have
to
do
it
a
check
and
runtime,
but
also
put
in
into
the
code
where
it
checks
like.
If
a
width
span
is
on
this
method
as
well,
then
the
width
current
span
will
will
sort
of
do
nothing.
G
Because
the
span
attributes
it
it,
it
can
work
the
spin
attribute
annotation.
It
could
work
with
both
main
annotations,
the
with
current
span
and
with
span.
A
You
can
have
them
both,
but
it
becomes
a
little
bit
overlapping
because
the
width
span
already
handles
it.
So
you
would
have
like
two
things
coming
in
and
you
basically
override
yourself
or
depending
on
which
came
first
of
these
two
annotations,
you
might
put
it
on
the
parent
span
or
or
the
wit
span,
one
so
I
think
it's
better
not
to
do
it,
because
if
you
have
span
attributes
in
the
with
span,
you're
gonna
get
those
in
injected.
That
way.
D
Lori,
do
you
have
a
sense
on
if
we're
if
this
is
a
significant
cost
during
bytecode
scanning
to
check
method,
parameter
annotations.
H
Probably
no
I
would
assume
I'd
expect
whitebody
to
parse
the
root
class
file,
so
it
anyway
like
creates
a
structure
where
it
has
the
methods
and
the
methods
have
their
annotations
and
the
parameters
have
their
annotations.
It
probably
just
has
parse
detect
all
of
them
anyway,
and
you
just
need
to
find
the
correct
piece
of
a
research
annotation.
D
D
C
F
D
A
There's
been
some
questions.
I
will
make
I'll
make
sure
to
call
that
out
in
sort
of
documentation
as
well.
Is
that
if
there
is
no
current
span,
it
will
be
a
Noah.
Basically,
it
won't
try
and
create
a
span
or
something.
So
if
there's
no
spam
or
an
invalid
span,
you
you
just
won't
see
it
attributes
and
if
you
do
this
repeatedly
right,
it's
going
to
be
the
same
thing
right.
A
If
you
do
current
span
or
sort
of
span
current
set
attribute,
and
you
set
the
key-
that's
already
being
used,
it's
going
to
overwrite
and
it's
going
to
be
the
same
thing
here.
So
if
you
have
like
a
chain
of
methods
Someone
putting
these
things
in
with
the
same
names,
it
will
overwrite
so
like
it's,
basically
just
a
shortcut
to
calling
set
attributes
with
with
sort
of
a
particular
name
about.
D
H
But
there
are
these
API
for
doing
that.
Are
you
sure
that
that
we
should
have
some
annotation
based
way
for
doing
it?.
G
A
Wanted
for
some
of
the
name
trades
right
like
so
it's
a
little
bit
similar
like
this
annotation,
it's
it's
literally
a
one-liner
right!
It's
just
sort
of
people
code
with
annotations
and
I'm,
trying
to
make
life
easier
for
some.
Some
of
my
sort
of
internal
customers
with
open
Telemetry
with
the
name
chains
of
a
span
right,
I
won
I,
guess
a
little
bit
similar
to
attributes.
But
you
might
want
to
have
more
understanding
of
what
span
you're
renaming.
C
G
So,
on
my
case,
some
routes
from
some
rest
requests,
for
example,
the
result.
The
resolution
of
the
route
happens
either
too
early
or
too
late,
and
an
update
would
be
nice
in
order
to
to
don't
have
to
do
that.
All
on
the
same
place
give
some
flexibility.
D
I
I've
definitely
used
that
in
the
in
the
past,
where
a
certain
like
I
want
to
give
a
certain
I
know
when
the
code
reaches
this
point,
that
it's
doing
a
certain
thing
and
I
want
to
give
that
whole
transaction.
That
name.
C
C
G
Exactly
because
we
have
that
the
processors,
but
the
the
route
resolution
is
at
least
when
we
do
it
with
vertex,
is
not
trivial.
C
H
If
you
wanted
so
that
you
could
use
it
inside
like
so,
you
could
use
it
for
writing,
instrumentation
or
quarkus,
or
whatever
you're
working
on
then
using
The.
Annotation
might
not
be
the
correct
choice
because
we
have
some
helper
classes
for
the
road
that
you
actually
should
be
using.
Not
the
span
update,
name
directly,
foreign.
H
But
we
have
some
like
a
special,
like
HTTP
Road
holder
that
you
probably
should
be
using.
Instead,
that
updates
the
name
and
also
set
stage
to
be
wrote,
attribute
to
understand,
and
it
also
has
some
clever
logic,
to
figure
out
whether
you
are
inside
some
kind
of
nested
processing,
so
that
you
would
only
set
the
road
once.
D
Let
us
know,
because,
for
the
the
HTTP
route
attribute
is
an
important
attribute
on
metrics,
also
and
so
updating
the
span
name
alone
won't
help
you
with
your
metric.
If
you
wanted
to
break
your
metrics
down,
also
by
that
yeah.
G
Actually,
my
problem
is
that
the
route
we
can
we
can
set
the
route.
Okay,
that's
not
a
problem.
The
problem
is
that
the
name
is
set
on
the
beginning
of
the
span
and
most
of
the
time
we
don't
know
the
route
yet
and
when
the
instrumentation
kicks
the
the
HTTP
route
holder
or
some
something
else
that
we
have
there,
the
rod
gets
updated
on
the
on
the
on
the
right
attribute,
but
it's
later
way
later
and
by
then
the
the
name
is
already
set.
D
G
D
So
it's
okay,
it's
actually
very
expected
for
the
route
to
be
available
later.
That's
how
most
our
instrumentation
Works.
We
have
the
same
problem
right.
We
start
the
span
at
the
servlet
layer
and
we
don't
know
the
route
until
we
get
to
the
spring
MVC
layer
or
corkus
layer
or
vertex
layer.
All
of
those.
D
If
you
use
the
HTC,
if
you
use
this
class,
which
is
stable
public,
it's
in
the
instrumentation-
oh
no,
it's
not
stable.
It's
still
in
the
HTTP
we're
working
on
getting
HTTP
stable.
That's
what
my
life
has
been
about
the
last
few
weeks,
but
it
is
there
you
can
try
it
take
a
look
at
that.
If
it's
not
working
for
you
give
us
a
ping,
so
we
can
kind
of
understand
better.
A
So
back
back
to
this
one
is
there
agreement
that
we
should
have
a
separate
annotation
name.
A
So
any
preference
with
with
span
attributes,
update
current
span
or
with
current
span.
C
A
C
F
C
A
Go
with
that
and
Implement,
hopefully,
I'll
get
something
to
store
for
I
promise.
I
would
get
back
after
a
week,
but
then
I
had
some
travels
and
then,
if
I
learned
antibiotics,
so
my
sinuses
are
less
swollen
than
they
were
last
week.
Thanks.
A
No
thank
you.
One
thing
that
got
me
figure
on
it:
I
want
to
Deep
dive
into
this.
We
could
talk
about
it
later
is
is
so
we
have
the
instrument
there
right
and
I
think
that's
creating
spans
as
well
as
instrumentation.
So
this
is
all
adding
attributes
into
spans
and
you
can
use
them
in
if
you
do
sort
of
traces
to
to
spans,
but
since
we're
generating
metrics
and
we'll
probably
start
generating
more
metrics
and
a
lot
of
the
auto
instrumentation
writers.
What
part
like
that?
I
A
E
I
have
an
example
of
that
so
like
what,
if
you
want
to
enrich
all
the
Telemetry
data
with
some
sort
of
customer
ID
that
that
it's
associated
with
the
span,
the
metrics,
the
logs.
A
E
There's
a
there's,
a
popular
Otep
that
that
proposes
something
called
they're
calling
scope
attributes
which
aims
to
do
exactly
what
you're
describing
step
on.
D
Yeah
I
I
I'm,
a
big
plus
one
on
this.
This
Otep.
E
I
thank
God
Josh
brought
up
an
interesting
comment,
which
is
you
know
you
might
need
to
have
some
special
accommodations
for
metric
attributes
which
have
the
cardinality
constraints,
and
so
you
know
maybe
there's
a
way
to
specify
in
your
your
scope,
attributes
that
you
know
these.
The
attribute
is
either
low,
cardinality
or
high
cardinality
or
you
know,
applies
everywhere,
except
for
metrics.
That
type
of
thing,
some
sort
of
signal
specifier
in
terms
of
what
it's
applicable
to.
F
So
it's
related
I've
been
messing
with
the
attributes.
A
fair
amount
recently
and
I
recently,
just
like
did
a
test
to
confirm
that
a
method
overload
works
as,
like
you
know.
The
code
says
it
was,
and
I
did
a
little
documentation
update,
but
I
would
also
want
to
make
sure
that,
like
an
overload
or
multiple
methods
and
a
call
chain
that
are
using
this
new
with
span
attributes,
if
they
have
similarly
named
arguments
that
they
override
the
previous
attribute
value,
awesome.
D
All
right,
let's
move
on
Jason,
you
got
the
next
couple
sure.
F
These
these
should
be
pretty
fast,
so
we
had
a
we
had
a
case
where
a
user
had
some
rabbit,
mq
instrumentation,
that
was
reporting
span,
names
that
contained
a
good
and
so
for
messaging
systems.
The
span
name
should
contain
the
destination
and
then
the
operation,
so
it's
typically
like
MyQ
space
process.
In
this
case
it
was
like
my
cue
and
then
a
big
guide
and
then
process,
and
the
good
of
course
was
causing
cardinality
problems,
so
I
looked
into
it
and
we
have
two
different
instrumentations
for
at
least
two
instrumentations
for
rabbit.
F
We
have
rabbit
and
spring
rabbit.
I
noticed
that
there's
a
minor
difference
in
how
they
report
the
destination
so
I
linked
to
those
two
one
of
them.
This,
the
pure
rabbit
One,
is
using
the
exchange
name
and
the
spring
One
is
using
the
routing
key
and
I
was
wondering
why
those
are
different
and
whether
or
not
there
needs
whether
or
not
they
should
be
consistent.
F
The
routing
key
seems
more
like
the
thing
that
could
have
the
good
in
it.
I
did
change
that
line
of
code
right
there
to
be
somehow
I
changed
it
I
no,
never
mind.
I,
can't
remember
what
it
did.
I
thought
I
had
made
a
change
that
effectively
allowed
us
to
get
The
Exchange,
which
is
not
on
the
message.
So
I
had
to
do
something
a
little
more
deep,
but
it
of
course
broke
all
the
tests
and
like
the
exchange.
D
F
G
So
the
the
rotting
key
for
on
my
understanding
of
rabbit
mq,
you,
you
said
that
and
the
top
The
Exchange
will
distribute
for
the
topics
that
are
listening
to
that
dropping
key
or
something
like
that,
and
the
exchange
name
is
something
general
that
might
have
the
processing
of
many
routing
keys.
So
just
the
exchange
name
is
not
enough,
but
I'm
very
surprised
that
the
rotting
key
is
a
uid.
Unless
people
have
named
it
like
that
and
sorry.
D
There's
a
lot
of
activity
going
on
in
the
messaging
spec
cig
right
now.
Okay,
I
would
suggest
either
open
a
spec
issue
or
somehow
ping.
That
group,
like
Johannes
and
lidmilla
and
others
have
been
very
active
at
trying
to
they're
they're
they're
trying
to
work
through
a
lot
of
hard
problems
there
to
get
to
stability.
Also,
okay,
cool.
I
H
H
We
lately
had
an
issue
from
someone
that
was
doing
some
multi-tenancy
stuff,
I,
think
and
their
databases
were
named
with
guides,
which
obviously
generates
high
cardinality
for
jdbc,
but
now
I
think
that
the
question
is
like
the
specification
wants
to
go
the
in
the
direction
that,
like
you,
always
have
low
cardinality.
But
if
databases
are
already
good,
it's
like,
then,
maybe
the
trade-off
between
like
low
cardinality
and
useful
information
is
too
large
like
it
would
need
to
be
solved
in
some.
B
H
H
F
F
Mean
it's
been
a
couple
of
days
since
I
looked
at
this
spec,
but
it
was
definitely
still
a
should
around
low
cardinality
last
time,
I
looked,
which
it
was
which
isn't
great,
but
we
can
take
that
to
the
spec
meeting.
E
E
F
D
Yeah,
if
there
is
I
mean
I,
don't
I
I,
don't
understand
these,
so
you
know,
but
the
I
agree
that
they
we
should
be
capturing
the
same
thing
if
it's
the
same
I,
don't
know
if
they're,
if
they're
different
concepts.
That
seems
wrong,
that
we're
doing.
D
I
think
would
be
our
best
bet
at
somebody
really
knowing
why
we
did
something
here
in
this
instrumentation
well,.
F
F
F
H
I,
don't
have
strong
opinions,
but
the
question
is
like:
do
we
want
to
fix
it.
H
Are
two
things
that
that
we
need
to
do
first?
Is
that
we
need
to
Define
our
classes
with
some
permissions
like
when
the
classes
are
removed,
class
loader
I
think
they
implicitly
have
all
the
permissions,
but
as
we
are
using
our
custom
class
loader,
then
we
just
have
to
Define
them
with
a
protection
domain
that
has
all
the
permissions,
and
second
bit
is
that
we
need
to
use
these
two
privileged
thing
in
some
places.
H
It's
basically
so
that
when
the
security
manager
checks
something
it
combines
the
protection
domains
from
all
the
callers
in
the
stack.
So
if
the
call
originates
from
the
user
code,
then
it
probably
doesn't
have
permissions
there,
so
it
takes
like
the
it
basically
takes
like
the
least
privileges
that
all
the
callers
have.
H
And
when
you
use
the
two
privileged,
then
it
basically
gets
rid
of
all
like
the
Privileges
that
were
there
before
calling
the
two
privileged
and
uses
the
protection
domain
of
the
class
that
called
tuber
Village.
H
F
D
D
Yeah
I
thought
I
had
gotten
that
to
work
a
long
time
ago
with
putting
the
agent
jar
in
the
in
the
security
policy
file.
H
It's
it's
I,
think
that
part
isn't
like
so
important,
because
we
could
give
the
Asian
classes
all
the
Privileges.
We
want
ourselves
without
the
user
needing
to
modify
the
policy
file.
H
H
F
H
Well
kind
of
like
the
funny
thing
about
security
managers
is
that
even
if
you
use
the
two
privilege
then,
but
not
security
manager
can
still
deny
your
operations.
I
F
Which
is
why
I'm
not
inclined
to
think
it's
hugely
important
to
fix
it,
but
given
how
many
users
are
still
on
eight
and
eleven,
it's
it's
gonna
be
around
for
a
while.
H
I
guess
we
could
experiment
it
a
little
bit
like
if
it's
if.
H
I
H
It
isn't
that
bad,
because
the
security
managers
that
the
users
use
aren't
the
doctor
stick
to.
They
will
care
about
some
operations
at
them,
but
this
one
like
walking
called
the
pet
class
loader
seems
to
be
the
district
like
it's.
D
All
right,
GFR
is
this:
let's
see
we
have
Robert,
yes,
hey
Robert,
hi,.
B
Everyone
yeah
I,
don't
have
a
whole
lot
to
say
here.
I
just
wanted
to
call
out
that
I
opened
this
draft
PR
for
adding
the
JFR
metrics
gathered,
see
the
instrumentation
repo.
B
B
And
I'll
do
a
follow-up
pull
request
that
does
the
renaming
of
The
jmx
Gatherer
to
runtime
Telemetry
jmx,
to
kind
of
mirror
the
jfrs
nope.
E
Thanks
for
opening
this
Robert
I'd
love
to
comment
on
this
PR,
and
maybe
we
can
talk
about
this
synchronously,
but
so
this
JFR
stuff
requires
Java
17,
plus
an
agent
supports
Java,
8
plus
wondering
how
this
would
work.
I
know,
there's
other
situations
where
the
agent
supports
the
you
know
various
features
that
require
a
certain
version
of
java
I'm
thinking
of
the.
G
E
E
So,
okay,
so
the
way
that
this
code
works
is
it's
like
a
and
the
installer.
For
this
is
it's
like
one
of
the
the
you
know,
the
SPI
callbacks,
where
you
can,
you
can
get
a
hook
to
the
open,
Telemetry
SDK
after
it's
been
set
up,
and
so
is
that,
as
presumably
that's
just
wrapped
in
like
a
try
catch
then
so
you
know
you
try
to
install
this
JFR.
You
detect
classes
that
aren't
available,
and
then
it
just
fails
and
moves
on
to
the
next
one.
D
E
E
The
other
question
is
whether
this
should
be
enabled
or
disabled
by
default.
So
we've
talked
about
this
before,
but
just
to
kind
of
bring
everyone
back
up
to
speed.
So
there's
parts
of
this
JFR
Telemetry,
which
duplicate
the
jmx
based
instrumentation
and
other
parts
which
are
net
new,
so
totally
new
things
that
you
can't
observe
via
jmx
and
the
way
that
this
JFR
stuff
work.
E
This
JFR
thing
works
is
it's
divided
up
into
different
features
and
some
features
are
enabled
by
default
and
some
are
disabled
by
default
and
so
right
now
the
J,
the
one.
The
features
which
kind
of
duplicate
the
jmx
based
instrumentation
are
disabled
by
default
and
the
the
ones
that
are
net
new
are
enabled
by
default,
and
you
know
I'm
curious
if
folks
think
that
that's
that's
good
enough
to
mean
that
this
whole
instrumentation
package
is,
like
you
know,
is
enabled
by
default.
E
You
know
this:
the
the
net
new
JFR
based
instrumentation
they're,
not
part
of
the
semantic
conventions
yet
and
I,
think
you
know
they
need
to
change
in
a
couple
of
subtle
ways
before
we
could
add
them
to
the
semantic
convention.
So
they're
going
to
change
but
they're
still
useful
for
now
so.
D
So
what
we've
done
for
other
in
general,
we
try
to
we
we're
we're
inconsistent.
D
We
in
a
lot
of
instrumentations
when
there's
experimental
stuff
we
have.
You
have
to
opt
in
to
those
experimental
things
that
aren't
in
the
semantic
conventions
attributes
which
aren't
in
the
semantic
conventions
you
have
to
opt
into
that
I.
Think
that's
generally
been
our
stance,
so
I
think
it
would
make
sense
here
but
open
to.
E
Sounds
reasonable
to
me
good,
good,
forcing
function
for
us
to
go
and
add
them
to
the
semantic
conventions
and
get
them.
You
know
in
a
more
stable
State,
even
though
they'll
still
be
experimental
for
a
while.
C
Do
I
understand
correctly
that
we
don't
want
to
have
conflicting
metrics
enabled
by
default,
because
this
is
not
what
I
have
seen
when
working
with
the
instrumentation
myself.
C
Yes
sure
the
runtime
metrics,
like
CPU
when
I
put
the
agent
on
a
spring
application,
I
get
both
the
native,
so
the
stuff
that
is
in
the
module
but
I
also
get
metrics
from
micrometer,
because
we
have
the
micrometer
module
enabled
by
default.
So
spring
will
pick
it
up
and
we'll
also
give
CPU
metrics
and
that
is
redundant.
D
So
I
think
our
the
sort
of
position
we
have
on
like
the
micrometer
and
other
Telemetry
sources
is
we're
enabling
Bridges
to
those
Telemetry
sources.
But
we're
not
saying
anything
about
the
semantic
conventions
of
those
sources
that
we're
bridging.
C
Sure
that
would
be
basically
impossible,
but
the
question
is
more:
why
is
the
bridge
enabled
by
default
if
it
is
duplicating
something
that
is
already
there.
I
Question
can
I
have
a
like
a
in
connection
with
this,
so
this
is
only
with
the
we
teach
our
agent
right.
Yes,
okay,
you
can
so
in
the
agent
you
can
disable
micrometer.
C
I
That's
what
I'm
saying
so
the
agent
itself
when
you
attach
it
it
should
tell
to
Spring
boot
it's.
It
should
set
a
property
to
not
configure
router,
configure
micrometer.
C
C
So
spring
has
a
bean
registry
and
the
agent
is
hooking
into
the
bean
registry
and
then
spring.
This
covers
the
bean
and
then
registers
the
CPU
and
other
metrics
against
the
bean.
I
C
Okay,
I
think
I
know
what
you
mean.
Would
the
user
still
be
able
to
use
micrometer
if
we
did
not
have
this.
I
C
You
can
say
give
me
this
object
and
only
the
library
that
I'm
passing
this
object
to
will
emit
metrics.
This
is,
if
you
instantiate
the
bridge
explicitly,
and
then
you
have
full
control.
C
The
the
scenario
that
is
problematic
is,
if
you
give
it
to
Spring
without
the
user
having
explicit
control
over
it.
This
is
duplicating
metrics
without
being
transparent
about
it.
D
So
there's
I
think
there's
two
things:
if
I
remember
that
the
micrometer
or
micrometer
Bridge
does
as
far
as
hooking
it
in
one
place,
we
hook
it
into
the
micrometer
global
registry
and
one
place
we
hook
it
into
the
beans
so
that
it
picks
up
all
the
auto
stuff
right
yeah,
it
sounds
like.
Are
you
making
the
case
for
not
picking
up
the
auto
stuff,
not
registering
the
bean
but
sticking
the
bridge
into
Bridging
the
global
micrometer
registry,
so
that
users
could
emit
their
own
could
still
use
micrometer
API
for
metrics.
C
So
if
I
remember
correctly,
I
had
to
disable
both
to
disable
the
metrics
completely,
but
I
am
not
100
sure.
So
the
goal
is
to
enable
the
user
to
emit
metrics
when
they
explicitly
choose
to
do
so,
but
not
do
anything
implicitly.
I
D
I
think,
though,
Gregor
is
kind
of
at
a
high
level
asking
about
the
default
out
of
the
box.
Experience
right.
C
D
What
what
should
that
be
sort
of
you
know?
Yes,
there's
lots
of
ways
to
configure
and
and
work
around
that,
but
what
should
the
out
of
the
box
default
be
Gregor?
Would
you
mind
opening
an
issue
just
for
the
sake
of
time
here
to
start
that
discussion,
I,
think
it's
a
a
good
discussion
same
and
the
same
discussion
could
apply
to
open,
tracing
and
open
census,
which
we
also
consider
these
Bridge
Bridges.
C
B
So
just
I
guess
to
summarize
give
you
aside
that
essentially
nothing
really
has
to
be
done
for
features
in
jdk
17
not
to
break
anything.
Is
that
more
or
less
the
case
Okay,
and
also
not
to
duplicate
the
jmx
matrix
by
default
and
also
not
to
add
the
net
new
metrics
by
default
until
the
semantic
conventions
have
kind
of
been
ironed
out
for
them.
B
I
think
it's
probably
just
something
that
simple
that
I'm
missing:
okay,.
D
Great
that
makes
it
easier,
Gregor
I'm
skipping
you
Jason,
do
it
yeah.
C
Yeah
all
right,
I've,
just
added
some
issues
based
on
a
distribution
that
I've
built
over
the
last
months
for
the
agent,
so
I
have
not
really
thought
much
about
it,
and
so
there
is
no
issue,
but
maybe
I
can
get
some
quick
feedback
if
this,
if
it's
worth
creating
an
issue
before
I,
spend
the
time.
C
So
the
first
one
is
a
feature
I
built
where
for
clients,
bands
I
would
turn
the
HTTP
URL
into
a
route,
and
the
goal
was
to
avoid
leaking
sensitive
data
because
HTTP
URL
can
have
this,
and
this
works
by
the
user
supplying
route
patterns,
because
you
cannot
do
this
without
the
help
of
the
user,
because
not
all
rest
Services
haven't
have
the
same
pattern
for
where
the
variables
are.
D
It's
come
up
before
for
instrumentations,
where
we
are
not
able
to
capture
a
good
route.
Is
that
did
it
come
up
for
you
for
a
particular
use
case,
particular
HTTP
server?
No.
C
And
most
libraries
don't
capture
this
information
or
not
at
least
not.
D
D
C
Try
to
make
it
quick
the
next
one
is
also
a
configurable
feature
where
the
user
can
create
attributes
based
on
package
items
and
I.
Think
there
are
some
some
Trace
implementations
that
do
this
by
default.
Jaeger,
maybe
so
here
is
the
idea
is
to
make
this
possible
as
a
configuration.
D
Yeah,
so
at
a
high
level,
there's
a
lot
of
interest
in
doing
this
in
the
spec
like
across
all
languages,
but
until
until
that
beautiful
future
day,
yeah
I,
like
Jack's
proposal,
add
it
to
the
contrib
repo.
E
I've
built
the
same
processor
myself
several
times
and
I
just
haven't,
like
you
know,
published
the
code
anywhere
so
I
I
think
it
makes
sense
to
to
have
as
a
as
an
artifact
that
others
can
consume
and
it
can
be
used
to
try
to
move
the
spec
forward
and
and
hopefully
get
it
formalized
so
and
you
know
people
can
use
it
in
the
meantime.
If
you
want
you
can
use,
we
can
kind
of
devise
some
sort
of
you
know
SPI
strategy
so
that
it
can
be
pluggable
into
Auto
configuration.
E
C
C
Tried
to
implement
this
as
a
span
processor
and
it
somewhat
works,
but
it
only
works
if
there
is
a
single
span
and
because
if
the
health
check
would
then
create
a
child
spend
for
some
reason,
then
this
would
not
be
suppressed.
D
Yeah
because,
as
a
sampler,
you
can
make
a
decision
and
it
will
then
as
long
as
using
parent-based,
Samplers
it'll
propagate
down.
Oh
I,
guess
the
only
problem
is
you
don't
have
route
at
spanstart.
D
C
C
D
D
D
Yes,
so
we've
we're
kind
of
blocked
a
bit
on
the
configuration
we
currently.
All
we
have
is
key
value
properties
for
configuration,
so
it's
hard
to
configure
so
we're
kind
of
waiting
for
yaml
based
config,
which
is
coming
soon
at
the
spec,
but
we
could
do
it
early
if
somebody
if
you're
motivated
we've
done
other
features
like
the
jmx
insights,
where
we
have
its
own
yaml
configuration,
and
we
just
read
that
in
I'll
drop,
a
couple
links
and
I.