►
From YouTube: 2021-09-17 meeting
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
B
Ask
for
the
agenda
ben
reached
out
and
said
he's
going
to
be
late,
but
would
like
to
talk
about
what
the
current
state
of
ahead
of
time.
Compilation
for
the
agent
is.
A
A
All
right
we
are
here
today,
it's
a
little
confusing
to
add
topics
to
future
meetings,
mainly
because
I
think
nikita
is
still
out
so.
A
I
don't
think,
there's
anything
there's
nothing
else
remaining
to
get
in
that
I'm
aware
of,
but
if
anybody
has
anything
that
they
want,
please
add
it
here
and
we
will
try
to
get
that
merged
before
then.
A
I
guess
possibly
this,
that
might
be
nice
since
we
have
a
user,
it
was
a
user
reported
issue,
oh
same
with
this
one.
So
let
me
add
these:
oh
I'm
not
sharing
that
screen.
Let's
try
over
here.
B
Amazing
and
terrible
or
not
necessarily
mutually
exclusive,.
D
A
So
is
that
right,
laurie,
that
if
you're
j
linking
by
default,
you
won't
get
jdk
unsupported.
D
I
didn't
drive,
hey
link,
but
I
think
it's
it's
actually
enough.
If
you
have
an
application
that
has
this
module
info
file,
then
you
even
don't
get
unsafe
by
default
unless
the
module
that
you're
using
requires
some
like
explicitly
declares
that
it
requires
unsafe.
For
you,
add
some
command
line,
arguments.
A
With
the
module
info
affect
us,
though,
like
my
we're
generating
this
in
the
agent
class
loader,
so
if
the
user
has
a
module
info
that
shouldn't
affect
us
right.
D
Loaded,
the
jvm
pretty
much
has
two
modes,
one
is
like
run
with
modules
and
the
other
one
is
run
without
so,
if
you
run
like
in
the
legacy
mode,
then
you
have
it
implicitly
enabled,
but
if
you
start
enabling
that
okay,
if
you
already
have
a
modular
application,
then
it
only
enables
the
modules
that
you
request,
at
least
that's
my
understanding.
A
So,
in
run
with
modules
yeah,
I
didn't
realize
that
I
thought
that
they
were
all
available
at
runtime
and
if,
at
least,
if
you
don't
use
j-link-
and
it
was
just
a
ex
accessibility
check
like
not
giving
you
access
to
those
modules.
A
So
what
you're
thinking
is
in
run
with
modules,
if
you
do
like
dash
jar,
my
app,
and
that
is
a
modularized
app,
that
it
will
then
scope
down
that.
That's
what
you
mean
by
run
with
modules.
D
Yeah
something
similar,
I
don't
remember
like
how
exactly
you
have
to
start
it.
I
think
I
just
started
something
from
intellij
that
had
the
module
info
inside
the
project.
A
Okay,
because
I
remember
with
they're
in
the
instrumentation.
A
We
happen
to
have
any
experienced
jpms
module
users
here.
D
E
I
got
into
it
for
a
few
months,
maybe
like
nine
months
ago,
and
then
I
haven't
used
it
since
I've.
I
forgot
most
of
that
knowledge.
B
Yeah
from
what
I
remember
ben
talking
about
it
a
year
or
so
ago,
if
you're
doing
green
feed
field
development
on
anything
like
java
11
up,
it's
really
good
idea
to
use
them,
but
very
few
libraries
actually
do
much
to
help
support
them
just
because
of
the
job.
Eight
like
everyone
needs
job
aid
support
and
there
are
no
modules
which
have
a
date
so.
B
No,
it
doesn't
actually
that
was
a
you
know
on
that
topic.
We
could
talk
about
java
17.
I
saw
that
spring.
The
next
version,
major
version
of
spring,
is
planning
to
be
java,
17
only
right,
java,
17
and
up.
F
Well,
I've
already
seen
that
they
have
problems
with
reactor
in
that
move
because
they
wanted
to
do
that.
Everything
in
the
stack
wanted
to
be
on
java
17,
but
with
reactor
they've
already
had.
I
think
it's
cassandra
complaining
that
they
have
so
many
people
on
java,
8
and
11
that
they
can't
go
to
a
17
base.
So
all
the
connectors
and
stuff
will
still
need
to
be
on
lower
volume.
So
they're
talking
about
like
having
to
do
multi-release
with
reactor
to
support
older
jdk
and
then
17
for
spring.
B
F
Yeah,
I
don't
know
if
ben
I'll
be
able
to
make
today
because
he
had
to
cancel
a
meeting
earlier.
I
had
with
him
some
issues
at
home
right
now,
yeah.
A
So
we
had
some
good
great
progress
on
the
instrumenter
api
conversion.
Laurie's
massive
servlet,
plus
tomcat
plus
jetty
all
intertwined
conversion
knocked
off
10
of
our
10
of
the
tasks.
So
we
are
closing
in
a
third
two
thirds
of
the
way.
Then
just
a
third
left-
and
I
saw
matthias
just
put
in
a
kafka
streams
conversion
today.
A
Oh
yes,
let's
oops
oops,
there
was
more
a
lot
more
okay,
let's
just
pop
down
here
we
can
come
to
the
review
later
surreal.
First,
am
I
saying
that
right,
yeah
perfectly.
Thank
you
very
much.
C
Welcome.
Okay,
thank
you
very
much,
it's
a
pleasure,
and
so
I
I
prepared
a
description
of
the
the
vision
we
had
for
the
maven
open
symmetry
extension.
C
I
don't
know
if
this
group
is
interested
or
if
it's
another
group,
but
I
guess
I
felt
that
as
part
of
the
donation
it
was.
There
is
a
much
bigger
idea
that
I
felt
was
important
to
to
share
and
to
be
transparent
on.
C
So
I
don't
know
if
it's
yeah
and
for
people
who
have
not
seen
it
we.
C
So
I
work
for
elastic
on
that
elastic.
We
have
started
few
months
ago,
an
initiative
to
do
observation
for
ci
cd
and
as
part
of
this,
we
have
implemented
an
instrumentation
of
maven
the
maven
build
tool
on
until
we
have
proposed
it
as
a
pull
request
last
week
or
something
like
this.
C
So
this
is
the
reason
why
why
I
was
I
prepared
this.
Are
you
interested
in
me
covering
briefly
the
the
vision
or
it's
another
yeah
yeah?
That
would
be
great
okay,
so
the
vision
we
had
is
before
elastic.
First,
I
came
for
from
cloudbees
and
I
was
a
product
manager
on
a
plug-in
developer
at
cloudbees
on
jenkins
for
six
years,
so
I
I
I
love
ci
cd
on.
We
feel
that
there
is
a
big
need
for
observability
of
ci
cd.
C
We
are
not
the
only
company
looking
at
this
data
dog
is
investing
a
lot
on
this
as
well.
Dynatrace
has
some
very
interesting
things
as
well
on
what
we
felt
on
observability
for
cicd.
There
are
two
major
dimensions:
one
is
to
help
ci
ct
platform
administrators
to
monitor
and
troubleshoot
their
platform.
C
If
you
have
already
run
jenkins,
you
know
how
hard
it
can
be
and
fragile
it
can
be
on
next
to
this
cicd
platform
admin.
There
is
another
dimension
which
is
to
help
the
development
team
to
optimize
your
cd
pipelines,
shorter
pipeline
duration,
more
stable
bees,
flaky
test
flaky
builds
on.
We
started
working
on
this
on
something
interesting.
We
we
worked
on
a
community
based
approach.
C
Leveraging
open
telemetry
reaching
out
to
jenkins
community
on
people
are
very
interesting
and
when
we
discuss
with
them,
we
discover
more
use
case
all
the
time
which,
which
is
very
common
for
open
source
project
and
community-based
projects.
So,
for
example,
we
discuss
with
jenkins
people
about
cost
accounting
and
jenkins
that
can
be
achieved,
songs
to
distribute
traces.
C
Until
here
we
have
been
on
getting
communities,
so
the
maven
community,
we
can
get,
may
know
jenkins
community.
We
we
work
a
lot
with
them.
They
are
super
excited,
even
I
apache
seems
more
complicated,
so
I
reach
out
to
to
open
telemetry,
and
what
we
see
is
that
there
is
an
at
the
moment.
We
see
an
ecosystem
of
open,
telemetry,
aware
cicd
tools,
so
we
have
done
jenkins.
Then
we
discovered
that
at
the
clinic
that
was
this
hotel
cli
tool
to
drop
command
lines
with
hotel
spans.
C
We
are
touching
a
pie
test
library
go
test.
I
did
maven
and
then
somebody
I
forgot
whom
said
I'm
doing
gradle
until
yeah.
It's
huge
sorry.
We
see
that
it's
growing
everywhere
on
only
there
is
a
great
opportunity
to
connect
this
tool,
and
it's
at
this
time
that
we
will
get
an
incredible
efficiency
that
no
private
initiative
will
compete
with,
because
us,
assuming
all
these
initiatives,
this
community
initiatives
will
be
stronger
than
anything
until
the
this
is
the
big
picture
on
when
we
think
about
the
maven
open
temperature
tool.
C
C
Today
we
we
have
the
visibility
on
the
maven
phases.
Like
you
compile
you
build
you,
you
create
your
artifact,
you
upload
it,
and
then
we
feel
that
something
that
will
be
very
important
is
to
get
visibility
on
the
unit
test.
C
We
know
that
janadogan
is
doing
it
for
golang
test
and
I
think
when
we
will
have
visibility
on
the
unit
test.
It
will
really
resonate
incredibly
well
with
ci
practitioners,
but
today
it's
a
bit
complicated
another
dimension
of
the
integration
that
a
next
step
that
I
think
would
be
interested
is
a
completely
seamless
integration
in
popular
ci
platform.
C
If,
when
you
use
jenkins,
we
can
say
we
can
turn
key,
enable
open,
telemetry,
maven
visibility,
it
will
be
amazing
and
by
the
way
here,
the
jenkins
people
on
or
like
get
oleg.
I
forgot
these
last
name.
They
want
to
package
open
telemetry
in
the
official
jenkins
package
like
their
uncharted
because
they
are
very
excited
by
the
jenkins
open
damage
integration
that
we
have
today.
C
B
C
B
Excellent
yeah,
I
saw
that
I
saw
that
pr
for
the
specs
and
I
think
it's
yeah-
that's
a
great
idea.
So.
C
Yeah
on
what
is
amazing
is
that
we
thought
about
it.
On
our
side.
We
met
with
this
lady
amy
from
the
equinix
hotel
cli.
She
had
the
same
idea
and
we
could
connect
our
tools
just
like
this,
and
here's.
H
B
Yeah
so,
and
just
to
give
you
an
update
on
that,
the
gradle
thing
that
was
a
hackathon
project
that
I
would
love
to
donate
to
somebody
who
has
time
to
work
on
it.
It's
certainly
not
complete.
It
may
not
even
be
useful,
but
it
is.
It
definitely
was
able
to
track
all
of
the
ta
gradle
tasks
that
got
executed
in
a
given,
build
and
create
spans
for
them
so
yeah.
B
C
I
So,
as
far
as
jenkins
integration
goes,
you
know
pipelines
can
be
quite
complex.
Do
you
also
have
a
propagation
like
down
to
the
workers
right
because
there
could
be
some
jobs
that
can
only
run
on
certain
workers
right
and
that's
all
kind
of
orchestrated
that
way.
Do
you
also
support
that
for
propagation.
C
So
we
we
trust
yours.
We
trace
your
steps
on
the
on
the
workers,
the
build
agent
and
it's
very
important
for
us
to
capture
on
which
build
agent,
because
a
common
problem
is
the
allocation
of
build
agents,
the
build
queue
being
stuck.
So
it's
a
very
important
topic
for
us
and
we
even
had
the
google
summer
of
code
project
of
the
jenkins
project
that
was
focused
on
better
traceability
on
the
build
agent
allocation.
B
B
The
real,
the
real
problem
that
we
that
I've
had
trying
to
figure
out
how
to
do
this
is
what
back
end.
Where
do
you
send
the
data
when
you're
using
gha
like
where
does
the
data
go
and
how
do
we
visualize
it
in
github
actions?
I
don't
have
any
answer
for
that
at
all,
but
that
was
the
first
thing
I
ran
into
is
how
do
I?
How
do
we
actually
get
that
and
I
created
an
issue
in
the
open,
telemetry
community,
but
it
has
literally
had
no
comments
whatsoever
on
it.
B
C
Sorry,
you
said
here
this
is
the
idea
to
have
an
open
time,
an
observability
backend,
to
collect
the
metrics.
B
If
alaska
could
donate
yeah.
C
C
Until
we
could
see
what
we
could
do
to
also
provide
an
observability
instance
to
the
urban
temperature
project.
C
Yeah,
I
will,
I
will
see
this.
I
don't
know
what
volume
is
needed,
but.
C
Okay,
some
questions
that
we
had
on.
I
think
it's
a
it's
a
very
common
question
for
open
telemetry
is:
do
we
do
auto
instrumentation,
or
do
we
do
native
integration
on
here?
We
and
john.
I
guess
you
ate
the
same
question
on
on
gradle.
J
C
Natural
to
implement
the
open
damage
instrumentation
as
an
as
an
extension,
rather
than
as
an
auto
instrumentation
and
typically
on
maven.
It
feels
very
weird
to
con
to
wire
and
java
agent.
That
start
up,
often
even.
B
C
C
Today
they
use
drop
wizard
or
something
like
this,
and
they
some
people
are
convinced
that
jenkins
should
just
adopt
the
apis.
Then
there
would
be
no
up
by
default,
and
this
would
evolve
a
bit
the
thought
process.
Then
maybe
the
instrumentation,
the
jrpc
exporter,
could
be
the
ultraviolet
or
I
don't
know,
but
and
so
on.
Even
I
did
an
an
extension
also
because
I
don't
know
how
to
write
an
auto
instrumentation
by
body
things.
C
Something
else
that
we
we
faced,
we,
we
are
convinced
of
the
value
of
open,
dymetry
semantic
conventions.
I
think
it's
really
the
clear
it's
it's
a
killer,
innovation
that
brought
open
dymetry,
for
example,
over
prometheus
until
we
had
to
first,
we
look
at
it
for
jenkins
and
I
think
for
ci
bills.
It
will
be
the
same
like
semantic
attributes
to
describe
the
github
repository
it
comes
from
and
on
on.
What
we
have
seen
working
on
jenkins
is
that
there
is
the
continuous
delivery
foundation.
C
I
don't
know
if
you
have
heard
of
it.
It
jenkins
on
a
spinnaker
on
a
bunch
of
projects
and
they
are
working.
But
I've
not
tried
here
the
the
continuous
delivery
foundation.
They
have
an
initiative
to
standardize
the
vocabulary
across
various
ci
tools,
so
it
will
sound
very
familiar
to
open
telemetry
with
standardized
metrics
across
nginx
and
apache
on
ci
practitioners.
They
want
to
do
the
same,
to
standardize
across,
let's
say
jenkins,
on
github
actions
on
here.
I
think
we
will.
There
is
this
question
for.
C
Build
tools:
cicd
observability,
if
you
imagine
a
library,
the
most
popular
place
is
grafana
dashboards,
but
the
dashboard
of
ci
using
standardized
conventions
could
benefit
to
somebody
using
jenkins
or
concord
ci
or
whatever
on
maven.
I
have
not
yet
face
too
much.
There
is
one
question
which
is
a
root
span
name.
I
see
I
had
a
feeling
that
the
span
names
they
should
feel
the
same
if
you
use
gradle
or
maven
or
npm
or
node.js,
so
that
it
would
be
very
intuitive
for
people.
C
B
C
B
C
There
are
another
resource
attributes,
but
there
are
some
and
they
are
not
attribute
objects
in
java,
but
or
something
they
are
covered.
Yes
and
I
I
felt
it
would
be
very
useful,
and
here
we
have
to
combine
to
find
the
vocabulary
of
the
build
tool.
For
example,
if
you
are
in
java
as
a
way
to
identify
an
artifact,
is
a
group
id
artifact
id
version
when
in
node.js
it
may
be
slightly
different.
C
But
we
should
look
for
a
consistency
in
this
and
that
was
but
standardizing
these
names
will
take
time
and
unfortunately,
at
the
moment
we
don't
have
enough
product
management
style
bond
with
elastic
two
converses
have
to
confess.
B
H
A
A
It
sounds
like
there's
potentially
interest
in
the
I
mean
if
you
can
kind
of
pull
together
interest
from
the
cicd
community,
the
the
way
that
I've
seen
progress,
sort
of
made
here
in
the
open
telemetry
around
the
standardizing.
The
semantic
conventions
is
getting.
A
You
know
getting
a
group
of
those
folks
together
and
trying
to
drive
that
kind
of
creating
see
if
there
is
enough
interest
enough
people
and
if
there
are
then
forming
a
working
group
under
you
could
do
it
under
the
instrumentation
sig,
we've
started
breaking
out
like
a
messaging
working
group
to
work
on
the
messaging
semantic
conventions,
and
so
it
could
be
a
cicd
working
group
to
work
on
those
and
then
that
sort
of
gives
that
group
some
authority
to
make
decisions
and
and
define
those
and
then
the
other
piece
is
prototypes.
A
It
sounds
like
there's
a
lot
of
prototype
and
existing
work
already
in
the
java
space.
So
that's
that's
awesome
that
will
funnel
in
there,
and
so
I
think
the
community
often
asks
for
like
at
least
one
other
language
to
make
sure
that
it
seems
feels
generalized
enough.
C
I
found
the
link
of
the
continuous
delivery
foundation,
sig
interoperability
group
who
work
at
standardizing
vocabulary,
so
it's
less
ambitious
at
the
naming
conventions,
but
they
are
already
interested
in
standardizing
names.
So
I
think
it
would
really
resonate
with
them
and
it
should
be
aligned
with
what
they
are
looking
at.
C
A
C
A
Tends
to
be
the
the
bottleneck
I
think
is
just
is
getting
enough
folks
sort
of
aligned
that
they
want
to
participate
and
move.
Something
like
this
forward.
C
So
that
was
what
I
I
wanted
to
share
to
to
explain
the
thoughts
around
this
maven
extension
on
to
see
if
the
community
was
interested
by
this,
this
vision,
which
can
always
that
will
change
based
on
the
community
adoption
and
feedback
and
interest.
Of
course,.
B
J
It's
tuesday
at
10
a.m.
Eastern
time,
which
I
think
is
what
is
it
today?
I
know
11
a.m,
eastern
time,
which
is
8
a.m.
Pacific
also,
I
want
to
call
out
the
naming
conventions.
Work
is
slowly
moving
into
what
we
call
instrumentation
sigs,
the
idea
being
like
folks
who
do
instrumentation
define
you
know
you
first
instrument,
you
get
a
feel
for
what
it
needs
to
be,
and
then
you
need
to
find
these
semantic
conventions.
J
However,
there's
absolutely
nothing
around
build
tooling
like
this,
so
this
is
an
opera.
You
should
definitely
come
to
the
specification
sig.
There's
a
group,
that's
working
on
rpcs
that
if
you're,
if
there's
any
correlation
between
that
and
build
tools,
I'd
recommend
joining
that.
J
C
We
did
it
for
git
ssh,
git,
https,.
H
C
Use
we
use
a
standalone
surf
on
git
ssh.
I
use
a
jrpc,
the
rpc
cmnt
convention,
typhoon.
J
Okay,
well
yeah,
there's
a
there's,
a
working
group
for
those
rpc
semantic
conventions
that
met
an
hour
ago
and
so
to
the
extent
that
we
build
a
community
of
experts
here
and
and
make
those
cement
conventions.
That's
awesome,
but
the
tuesday
meeting
is
the
place
to
kick
that
off.
B
And
josh,
who
is
speaking
also
as
a
build
tool
expert
you
could
integrate
this
no.
J
C
A
Thank
you,
cyril.
That's
very
yeah.
We
all
we
all
work
with
build
tools,
a
lot,
so
it's
and
open
telemetry
a
lot.
So
it
definitely
resonates.
C
Maybe
something
more
that
we
have
discovered
talking
to
customers,
they
say
getting
application
developers
understand.
The
value
of
distributing
tracing
is
hard
so
having
distributed
traces
on
their
build
tools
with
a
tool
that
developers
use
day
in
day
out
is
very
compelling
for
development
leaderships
in
banks
and
stuff
like
this,
because
they
feel
it's
a
way
to
educate
developers
on
the
value
of
observability
and
distributed
tracing
which
wasn't
expected
to
us.
But
it's
a
good
way
to
get
adoption.
A
Cool,
let's
bounce
back
up,
do
we
want
to
ben?
We
had
a
earlier
question
about
java
modules,
wondering
if
you
know
so
we
did
so
laurie
did
some
amazing
hackery
of
because
we
had
a
user
report.
They
were
using
j-link,
and
so
they
didn't
have
jdk
and
supported
module
available.
A
But
wondering
is
if
this
only
affects
j-link
or
if
this
would
affect
anybody
who
uses
like
a
module
modularized
app
like
does
the
jvm
not
load
jdk
unsupported,
if
it's
not
defined
in
your
modularized
app
or
should
we
from
our
agent
class
loader,
be
able
to
access
the
sun
misc
and
the
jdk
and
supported
module
still.
H
H
So
if
you
try
to
do
a
direct
access,
it
will
always
fail.
So
you
do
have
to
do
the
reflective
hack,
you
know,
and
then
you,
you
know
you
set
accessible
and
all
of
that
stuff,
but
since
since
then,
that
actually
hasn't
changed.
H
What's
happened
is
that
in
java
9
you
know
the
jdk
unsupported
module
exists,
but
it
opens
reflectively
to
everything.
H
So
if
you
were
using
a
reflective
mechanism
for
your
library
in
eight
that
will
still
continue
to
work
now
in
practice,
what
has
actually
happened
is
that
there
are
are
actually
now
two
classes
called
unsafe
and-
and
please
stop
me
if
this
is
too
much
detail,
but
one
of
them
is
in
jdk
unsupported,
and
one
of
them
is
in
java
base.
H
The
reason
why
it's
done
that
way
is
because
that
then
means
that
the
over
time
methods
can
be
removed
from
the
the
jdk,
unsupported
some
misconcept
copy,
and
basically
you
can.
You
can
kind
of
close
it
off
a
bit
at
a
time,
but
no
I
mean
basically,
if
you're
accessing
the
the
object
reflectively,
it
should
still
continue
to
work
and
nothing
has
changed
in
that
in
jdk,
16
or
17..
H
So
I
think
that
might
want
to
to
you
know
to
have
a
bit
more
digging
into
if
people
want
to
ping
me
on
slack,
if
they're
having
specific
issues,
I'm
happy
to
help
debug.
H
Yes,
no,
that
makes
total
sense
because,
of
course,
in
a
j-link
binary
reflection
isn't
available,
and
so,
if
you
haven't
explicitly
you
know,
provided
you
know,
told
j-link,
oh
I'm
going
to
need
reflective
access
to
unsafe.
It's
not
going
to
give
it
to
you,
but
the
issue
there
is
the
reflection
sub-system.
I
would.
I
would
think.
H
No,
I
mean-
and
this
this
is
one
of
the
cases
where
actually
unsafe
is
insufficiently
magic,
right,
you're,
accessing
it
reflectively
right.
So,
in
a
certain
sense,
it's
no
different
to
anything
else
that
you
access
respectively.
If
you
don't
tell
the
compiler
that
you
need
access
to
it,
it's
not
going
to
be
included.
A
A
A
Because
what
it
that
what
it
does
is-
and
I
think
this
is
the
two-
the
two
sun
misc
unsafes-
that
you're
talking
about-
then
that
that
so,
if
we
don't
find
sun
misc
unsafe
available
on
this,
for
example,
in
a
j-linked
app,
it
generates
sun,
misc
and
safe
delegating
to-
and
I
think
this
is
the
the
one
in
base
that
you're
talking
about.
H
There
is
also
a
class
circularity
aspect
of
this,
so
it's
possible
that
if
you
are,
if
you
are
doing
this
kind
of
things
that
you
you
may
actually
run
into
issues
about
ordering
when
certain
classes
get
loaded
before
they
before
the
like
the
the
java
base,
unsafe
has
actually
properly
been
initialized.
H
A
All
right
and
ben
there
was
one
other
topic
you
wanted
to
talk
about.
Aot,
and
I
know
I
had
done
a
little
proof
of
concept
here.
A
So
the
basics
seem
to
like,
with
the
agent,
seemed
to
work
where
so
where
we
can
have
that
lazy
emit.
So,
for
example,
this
instrument,
any
public,
static,
void,
main
method
and
calls
this
init
method
internally,
which
you
know
does
only
once
initialization.
So
the
first
time
a
public
static
void
marine
caused.
So
we
could
do
we
can
do
lazy
stuff
in
here.
A
A
But
it's
definitely
worth
keep
definitely
worth
continuing
down
that
road
and
actually
running
into
those,
maybe
with
a
smaller
test,
app
a
test
agent
than
that
full
telemetry
agent.
H
Well,
you
see,
I
I
see
this
in
in
something
of
a
different
way.
My
attitude
is
we're
trying
to
do
things
which
are
for
the
cloud
native
future,
so
whatever
static
java
is
it
kind
of
needs
to
support
our
use
case?
H
So
I
think
that
you
know,
by
being,
you
know,
openly
pushing
the
envelope
on
this.
Actually,
this
can
be
a
productive,
two-way
conversation.
That's
you
know
the
idea
of
of
saturday
compiling
java.
You
know
when
the
the
great
vm
folks
have
done
fantastic
work,
but
we're
talking
about
real
production
applications
here,
and
I
I
kind
of
feel
like
this.
This
needs
to
be
a
dialogue
and
they
need
to
to
come
somewhere
supporting
us.
You
know,
and
we
have
we
have
time
and
we
have.
H
H
What
you
know
when
you're
writing
a
new
garbage
collector.
What
do
people
need?
They
need
real
production
workloads
to
run
on
it
because
test,
workloads
and
trivial
examples.
Don't
give
you
the
insight
into
something
which
is
is
deep
and
general
purpose
and
what
is
negative
compilation
if
it's
not
in
the
same
category?
A
So
do
you
recommend,
as
far
as
a
path
forward,
just
to
keep
pushing
with
the
open,
inflammatory
agent
and
like
running
into
running
into
and
documenting
the
issues
that
don't
work
and
then
going
from
there.
H
I
think
it's
kind
of
an
exploration
I
mean,
I
think,
what
you've,
what
you've
done
with
some
simple
agents
is,
is
really
really
useful,
and
I
think
that
you
know
there
is
not
one
right
answer
here.
We
are
kind
of
exploring
the
space,
but
you
know
I
think
we
should.
We
should
recognize
the
fact
that
we
are
actually
kind
of
pioneers
here.
H
You
know
figuring
out
what
agents
mean
for
static
java
is
one
piece
of
the
overall
static
java
puzzle
that
you
know
that
we
can.
We
can
contribute
to
it's
by
no
means
all
of
it,
but
you
know
you
said
something
very
interesting
earlier.
You
said
you
know
all
sorts
of
things
we
do
like
injecting
classes
at
runtime.
H
H
That
is
one
thing
which
is
is
typically
extremely
difficult
to
do
in
pre-compiled,
because
you
know
there
is
no
such
thing
as
a
class
loader
anymore.
There
is
no
longer
a
dynamic
runtime
in
which
we
have
an
object,
called
a
class
loader
which
exists
within
the
java
heap,
which
we
can
call
methods
on
to
to
to
instantiate
and
bring
into
existence
a
new
class
object.
Those
concepts
just
don't
work.
H
So
that's
you
know.
That's
that's
a
very,
very
interesting
question.
A
H
H
I
mean
the
standard
example
is
monomorphic
dispatch,
but
I
think
that
actually,
the
current
version
of
granville
m
does
better
than
just
the
c1
optimizations,
which
are
everything
in
c1
is
provable.
Not
everything
in
c2
is
so
certainly
jitter
will
be
reduced.
Will
it
be
exactly
zero?
I'd
have
to
think
about
that.
H
Yes,
yep,
okay,
thanks
john,
so
you
know
I
mean
I
want
to
pay
tribute
here,
because
some
of
this
stuff
is
based
on
the
website.
There's
new
relic,
there's,
definitely
some
of
jack's
code
in
here
it
will
be
a
new
form.
This
is
not
publicly
released
yet
because
I'm
still
trying
to
get
an
article
from
red
hat
about
how
I
attribute
previous
contributions
from
other
people,
but
as
soon
as
I've
done
that
it
will
be
if
you
want
access
to
it
in
the
meantime.
H
Please
just
hit
me
up
on
slack
and
I'll.
Add
you.
So
this
is
a
java
agent
and
basically,
what
we
do
is
we.
This
is
oh.
I
should
also
say
this
is
java
17
only
because
it
relies
upon
the
jfr
recording
stream
class
and
basically,
what
we
do
is
we
we
use
this
to
to
enable
all
of
the
the
events
that
we
care
about
and
then,
as
you
can
see,
on
the
left
hand
side
here,
we
have
a
bunch
of
different
things
that
we're
interested
in.
H
This
is
a
subset
of
things
that
I've
ported
over
from
the
new
relic
code.
There's
a
couple
of
things
in
cpu:
there's
a
bunch
of
things
in
memory
and
network
and
basically
what
they
do
is
they
they
all
take
in
individual
events
that
are
generated
from
from
jfr
and
each
of
these
objects.
These
handlers
essentially
act
as
a
callback.
H
So
let's-
and
I
should
also
say
that
you
know-
I
should
pay
tribute
to
my
own
stupidity
here,
because
I
I
started
looking
at
this
and
I
started
with
what
I
thought
was
going
to
be
the
simplest
of
these
things
like
the
cpu
handler
and
the
contact
switch
right
handler
and
I'd
assumed
that
that
in
the
new
api
they
would
be
the
easiest
things
to
target,
and
actually
it
turns
out
that
they're
the
hardest.
H
So
that's
that's
my
own
stupid
fault.
The
things
which
are
actually
the
easiest
are
things
like
this.
This
targets,
the
the
allocation
events,
so
basically
javaflight
recorder
generates
events.
Every
time
you
allocate
a
new
tlab,
which
is
an
object,
allocation
buffer
stands
for
thread
local
allocation
buffer.
So
each
of
your
java
threads
has
has
one
of
these,
where
it
allocates
new
objects
and
then,
when
it
runs
out,
it
gets
a
new
one
from
the
jvm
and
then
when
the
jvm
has
no
more
to
hand
out
garbage
collection
occurs.
H
So
basically
you
can
do
this
and
you
can.
You
can
basically
monitor
these
events
in
order
to
see
how
much
memory
each
individual
thread
is
using.
H
I
have
this
kind
of
delegation
pattern
where
there
is
one
overall
handler
for
every
allocation
event
and
then
it
basically
delegates
down
to
two
individual
threads
which
individual
objects,
each
of
which
represents
a
thread.
That's
allocating,
and
these
basically
are
mapped
to
histograms.
H
It
marks
that
it's
an
allocation
event
binds
those
attributes
and
then
basically
the
real
meat
of
the
class
is
actually
this
one
line
here
on
line
50..
The
reason
why
these
are
easier
is
because
the
histograms
actually
have
the
ability
to
to
call
a
record
method
directly
on
them.
So,
each
time
one
of
these
events
comes
in
you
just
hit
histogram
and
say:
hey.
H
Some
memory,
the
reason
why
something
like
a
cpu
load
handler
is
is
different.
It's
because
those
things
need
to
be
observable.
So
when
you
build
them,
the
only
method
available
is
filled
with
callback,
and
this
is
to
be
completely
honest.
It's
kind
of
sucky,
because
what
is
present
in
jfr
is
fantastically
detailed
and
high
fidelity
information,
and
we
basically
just
give
all
this
up
here,
because
what
we're
basically
saying
is
that
the
framework,
the
open
cemetery
libraries
will
observe
when
they
want
to
observe
and
that
you
know.
H
You
know,
jmx
has
that
same
pattern
as
an
observer
and
that
you
just
look
at
jmx
whenever
you
want-
and
you
know
the
values
are
what
they
are
so
so
I
I
guess
you
know,
I'm
probably
you
know
a
little
down
on
it.
I
was
hoping
for
something
better,
but
I
know
that
within
the
architectural
philosophy
of
open
cemetery-
that's
just
not
that's
just
not
going
to
happen,
so
we
just
have
to
observe
these
values
and
each
one
is
overwritten
each
time
we
we
get
a
new
value
in
here.
H
You
know
we
basically
record
the
system,
the
user
and
the
total
and
those
fields
are
updated,
and
these
these
callbacks
are
used
to
observe
those
values.
When
they're
seen
I
I
had
a
question
about
whether
or
not
these
things
genuinely
need
to
be
volatile.
H
I
assume
that
they
do,
and
you
know
if
someone
wants
to
tell
me
that
actually
the
guarantees
that
open
geometry
provides
means
that
they
don't
have
to
be
volatile.
That
would
be
nice,
but
I
don't
think
it's
you
know
it's
a
huge
difference
either
way
yeah
and
so
then,
coming
back
to
the
agent
code
for
each
of
these
things
we
set
things
up,
and
then
we
basically
enable
each
individual
element
which
are
contained
in
this
registry,
and
the
registry
basically
has
all
of
these.
H
What's
that
kind
of
eight
nine
different
meters,
so
I
don't
know
how
understandable
that
was.
I
basically
bashed
this
out
in
the
last
few
days,
but
if
anyone
has
any
comments
or
wants
to
ask
questions,
then
please
I'd
love
to
hear
it.
B
Sounds
like
josh,
you
and
ben
should
have
a
chat
about
where
the
gaps
are.
J
Absolutely
yeah
when
you
so
so
regarding
the
whether
or
not
those
variables
need
to
be
volatile.
The
answer
right
now
is
yes,
as
far
as
I
understand,
but
man,
maybe
we
should
make
it
so
it
doesn't
have
to
be
because
that's
cool
I
like
that
idea.
We
should
chat.
We
should
chat,
I'm
I'm
jacerette
on
twitter,
I'm
jason
right
on
github,
I'm
on
slack.
I
think
it's.
I
don't
even
know
what
my
name
is
on
slack,
probably
my
my
full
name
or
something
anyway.
S-U-E-R-A-T-H
like
let's
chat.
J
Let's,
let's
get
together,
I'm
I'm
happy
to
adapt
what
you
need
from
metrics
so
that
we
can
support
this
use
case.
This
is
awesome.
I'm
very
excited.
H
Thank
you.
I
mean
one
of
the
other
questions
I
have
is
also
about
about
naming
scheme.
I
mean
I
have
basically
not
bothered
changing
it.
It
still
has
the
new
relic
naming
scheme
for
these
metrics,
and
I
I
I
want
to
think
about
what
the
appropriate
thing
to
do
is
to
fit
into
the
you
know
the
widen
metrics
name
space,
but
also
yeah.
H
Oh,
I
did
about
six
months
ago
and
I
suspect
they've
been
gone,
but
yeah.
J
E
Hey,
hey
ben,
just
just
a
quick
comment,
so
you
were
talking
about
the
loss
of
fidelity
with
the
the
callbacks.
So
have
you
considered
using
a
gauge
metric
for
those
so
that
you
can
record
all
the
values
as
they
come
in
and
you
know
you
can
either
use
a
last
value
aggregation
or
if
the
data
is
better
suited
in
one
of
the
other
aggregation
types
you
can.
You
can
customize
that
gauge
to
aggregate.
However,
you
want.
H
That's
a
good
thought.
I
haven't
actually
thought
about
that,
but
maybe
you
and
I
can
chat
offline
jack
and
we
can.
You
know
I'm
happy
to
do
some
pairing
if
you've
got
some
time.
J
J
Yeah
histogram's
the
equivalent,
but
you
can
hook
up
a
histogram
and
turn
it
into
a
gauge
if
you'd
like,
like
that's,
that's
totally
possible,
but
that's
all
of
these
are
really
really
good.
Real
world
use
cases
for
us
to
hammer
on
the
metrics
api.
So
all
these
questions
are
things
I'd
like
to
get
encoded
into
semantic
conventions,
or
you
know
our
our
metric
naming
convention.
That
sort
of
thing
looks
like
everybody
needs
to
go
so
I'll,
stop
talking.