►
From YouTube: Breakout Session: Understanding Node.JS Performance using OpenTelemetry - Doni Rubiagatra
Description
How can you tell your Node.JS cloud app is slow? broken? or want to improve your code quality? Observability is the answer!, especially using OpenTelemetry. OpenTelemetry lets us generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior.
B
So,
okay,
first
of
all,
I
want
to
thank
you
to
everyone
that
joined
my
talk.
Welcome
so
I've
agreed
to
deliver
this
talk
in
english,
so
be
with
me
with
that.
So
I
also
want
to
say
it's
been
a
long
time
since
my
last
conference
back
in
2019
before
panamic
and
okay,
let's,
let's
get
started
about
this
talk.
B
B
Is
and
today
we're
going,
we
are
going
to
talk
about
understanding,
node.js
performance
using
open
telemetry.
This
talk
is
not
about
how
we
set
up
our
infrastructure
for
disability
tracing,
but
mainly
understanding
how
important
of
survivability
is.
I
think
this
is
a
good
start.
If
you
want
to
like
start
microservices
before
you
doing
that,
you
must
know
how
your
application
or
service
behave
and
yeah
it's
it's
it's.
I
think
it's
safe,
but
to
understand
open,
telemetry,
okay,
so
today
agenda.
B
So
I
need
some
introduction,
because
my
stuff
and
my
company
is
relatively
new.
It's
only
three
years
old,
it's
actually
this
year's
it
becomes
three
years
and
we
need
some
branding
what
what
about
our
company?
Okay!
The
second
part
we
are
going
to
explore
the
definition
of
observability
and
a
little
bit
the
story
of
open
telemetry
and
why
we
need
open
elementary
to
understanding
our
surfaces
and
the
third
one.
We
are
going
to
define
what
kind
of
data
that
we
need
of
certifiability,
and
are
you
aware
about
this?
B
We
have
like
consultancy,
technical,
due
diligence.
Technical
officer
is
under
zero
technology
for
digital
marketing
content
creator.
Breast
strategy
is
under
zero
one
digital
and
for
me,
I'm
part
of
zero
one
technology,
so
we
mainly
build
some
products
and
research
data
analytics
research,
mathematical,
modeling,
that
enterprise
need
and
right
now,
I'm
as
a
lead
product
engineer
and
for
the
next
part
for
01
technology.
I
think
we
are
focusing
on
building
products
from
node.js
ecosystem.
B
Previously
we
use
clojure
and
google
script
in
our
workflow.
We
love
functional
packet.
We
love
functional
programming
actually,
and
anyone
in
here
already
try
functional
programming
on
the
back
and
the
front
end.
Please,
please
say
you
love
it
too,
and
but
it's
hard
to
ask
to
scale
the
team
when
we
use
closure
and
quantuscript,
so
we
migrated
to
node.js
ecosystem
and
we
also
proud
supporting
opengs
foundation
by
contributing
on
numerous
projects
such
as
node.js,
not
add-on,
api
festival
or
unity.
B
B
So
absolutely
answer
that
so
in
terms
of
in
terms
of
definition,
actually
absorbability
is
term
of
mathematical
control
theory.
So,
once
again,
we
as
a
software
engineer,
borrow
a
lot
a
lot
of
term
from
another
another
side
of
jobs,
so
observable
is
measured.
How
well
internal
state
of
the
system
can
be
inferred
from
knowledge
of
its
external
output.
So
it's
quote
from
charity
majors,
a
cto
of
honeycomb
io,
so
honeycomb
io
is
also
provided
service.
B
That
can
observe
your
services
and
do
you
and
anyone
here
already
try
honeycomb
yeah,
it's
good
to
try
so
for
the
next.
So
I
I'm
still
don't
understand
what
what
is
observability.
So,
if
you
can.
A
B
For
example
banana,
so
you
can
tell
where
banana
is
unwrapped,
not
ready
for
consumption
or
the
banana
is
ready
for
the
consumption.
So,
as
you
can
see
on
the
left,
side
of
the
scale
is
looks
green,
it's
unripe
and
towards
to
the
right
it
will
become
yellower
or-
and
there
is
a
black
spot
in
india.
So
you
can
understand
how
the
state
of
banana
only
from
its
output,
that
is
observability.
B
So
as
simple
as
that-
and
I
I
put
some
not
random
tip
actually
but
yeah,
the
david
also
the
everyone
definition
of
observability,
and
he
is
baron.
Schwartz
creator
of
book
mysql
high
performance
tuning
monitoring
tells
you
whether
the
system
works
observability
lets
you
ask
why
it's
not
working,
so
it's
kind
of
different
between
monitoring
and
observability,
so
monitoring
is
not
the
same
as
observability,
so
why
we
need
this
because
you
know
our
system
maybe
become
more
complex
and
I
believe
at
zero.
One
group.
B
B
So
is
if,
if
the
product
success,
let's
start
to
get
some
more
complex
for
scalability
and
somewhere
else,
and
when
we
talk
about
system
complexity,
maybe
somewhere
exponential
more
complex,
you
add
more
engineers,
you
add
more
technology,
it's
really
great
for
the
products,
but
I
think
it's
really
hard
on
humans
to
understand
it.
B
B
There
is
a
nuts
and
yeah.
There
is
there's
a
lot
of
product.
Is
it's
great
for
us
as
a
user
and
once
again,
why
it's
so
important,
because
it
gives
more
visibility,
alerting
a
better
workflow,
less
time
in
meetings,
and
you
can
say
that
engineers
more
confident
to
deploy
or
ship
our
new
features,
because
it's
accelerated
difficulty.
B
B
So
actually,
opera
telemetry
is
a
merger
from
open
tracing
and
open
senses.
So
I
was
back
in
2000
existed.
I
I
forgot
what
exact
time
open
dressing
and
open
sensors
was
were,
but
if
I
remember
correctly
2019
they
must
become
open
telemetry,
because
open
tracing
and
open
sensors
have
complementary
features,
so
they
are
not
contradictory
and
and
in
in
on
cncf
foundation,
it
become
open,
telemetry.
B
Yeah,
that's
that's
the
simple,
simple,
open,
telemetry
answer
and
after
that,
so
what's
exactly
the
opportunity.
So
it's
a
set
of
api
and
sdk
tooling
integration,
the
design
for
the
creation
and
management
of
telemetric
data
such
as
stresses
metrics
and
logs.
So
to
put
on
perspective,
it
will
instrument
your
data,
standardize.
It
generate
the
data,
collect
all
the
data
that
you
need
and
export
to
your
exporter.
B
Zipking.
You
can
name
it
it's
it's
a
open,
fender
or
agnostic
vendor,
and
why
open
telemetry
is
good
choice
for
you.
It's
provided
a
lot
of
sdk.
B
Not
every
sdk
is
metal
enough,
but
it's
fender
acne
sticks,
so
you
can
configure
with
any
back
end.
You
want
put
on
your
put
the
edge
on
your
code
or
you
can
put
it
on
your
vm
virtual
machine
yeah.
It's
full
super
quality
of
popular
open
source
projects,
including
g,
and
this
is
the
only
example
of
not
gs.
B
What's
it's
good
or
not?
B
B
Imagine
if
you
visit
japan
and
there
there
are
a
lot
of
vending
machine.
We
we
we
will
give
give
some
example
in
what's
the
behavior
of
vending
machine
what
what
data
that
we
can
explore
or
gather
from
finder
measuring
system,
so
the
data
is
called
melt.
So
what
is
smell
so
melt
is
stand
for
matrix,
even
locks
and
traces.
B
B
B
A
bag
of
barbecue
chips
was
purchased
for
one
dollar,
so
the
event
it
will
produce
the
timestamp
what
kind
of
event
what
kind
of
item
and
what
the
value.
So
it
attach
the
metadata
that
you
need
what's
going
on
with
what
with
the
event
and
third
one
is
locks
similar
to
events.
B
B
Okay,
one
barbecue
chips
first
purchase
for
one
dollar.
What
so?
What
happened?
Okay,
you
should
use
your
price
user
press
the
button
b
and
then
press
the
button
forward
and
it
will
prompt
and
we
will
select
sdb,
ruby
chips
and
user
prompt
user
to
pay
one
dollar.
So
you
can.
B
This,
I
think
it
is
more
more
close
to
our
as
a
software
engineer.
We
we
rely
on
the
log.
What's
what's
going
to
happen
in
our
application,
then
this
is
like
just
a
like
a
tiny
part
of
what
kind
of
data
that
we
need
to
observe
and
the
last
one
is
traces,
so
traces
are
stitched
together
from
special
different
color
span.
B
So
I
think
it's
really
to
put
it
simple,
it's
kind
of
a
several
chain
of
special
events
and
the
special
channel
of
event
and
gator,
and
we
call
it
span
so.
B
If
defending
machine
using
microservices,
the
the
traces
as
as
you
can
see
on
the
slide,
the
first
span
is
is
is
on
the
vending
machine
how
it
process,
after
that,
after
defining
mission,
you
you,
you
put
some
payment.
What
what?
What
chips
that
you
choose?
It
will
call
the
backhand
and
the
data.
B
That,
after
doing
some
logic
stuff,
it
will
call
the
credit
card
company
like
yeah
the
surface,
the
third
party
service,
and
it
will
give
back
some
data
and
it
will
issuing
the
remove
from
the
bank.
B
I
actually
tried
to
use
the
news
sdk
to
give
some
example
how
we
use
on
javascript,
but
I
reaches
version
one
if
I'm
not
wrong,
and
there
are
a
lot
of
breaking
changes
when
when
I
use
it
so
so,
when
I
use
the
new
sdk,
it's
not
what
what
it's
not
what
I
intend
to
do
to
the
demo.
So
I
I
wrote
back
to
the
like
the
last.
A
B
That
I
already
tried
it.
It
works
so
yeah,
for
example,
on
that
that
the
the
node
the
node
module
is
become
sdk,
trace,
node
yeah,
you
can,
you
can
search
it
right
now
and
actually
not.
I
think
it's
not
really
yet
for
not
not
no
gsr
system,
because
I
I
I
must
like
yesterday.
A
B
Cannot
reproduce
what
I
need
for
the
demo?
Okay?
Let's
look
our
demo
just
wait
a
minute!
Okay,
so
this
is
in
my
terminal.
B
This
is
my:
let's
see
what
happen
in
this
repository,
so
we
have
simple
server
on
this.
I
give
some
like
express
server
web
server.
There
is
a
endpoint
of
slash
endpoint
and
dead
endpoint
and
listening
on
8080
port.
That's
simple
right
and
stressing
the
gs
in
here.
Let's
see
that
open
telemetry
provided
as
javascript
sdk,
so
you
can
initiate
the
new
threshold
provider
in
here
and
register
the
provider,
and
you
can
for
the
first
example.
We
just
give
some
output
on
the
under
console.
Okay,
let's
try
it
so,
for
example,.
A
B
8080,
so
on
the
right
side
of
the
terminal,
you
just
simply
get
some
get
requests
from
to
the
surface
and
on
the
left
side
you
can
see
there
is
a
data
that
produces
by
open
diameter.
The
timestamp
duration
attribute
is
standardized
on
open,
telemetry
yeah.
As
simple
as
that,
you
can
attach
upper
telemetry
on
your
surfaces
basis
on
your
programming
language,
and
let's
give
some
example,
if
you,
if
we
using
zipkin,
so
I
already
prefer
provided
docker
compose
in
here.
B
So,
let's
check
yeah
it's
running
on
the
background.
This
is
the
kin.
Let's
try
your
app
zip
kit,
so
it's
also
also
run
the
express
surface
and
run
in
logan
source
80d.
But
if
you
can
see
the
translucent
skin,
it
has
a
zipline
exporter
to
it.
So
we
can
add
you
jagger
promotions,
all
this
all
the
together
for
the
information
in
here.
So
this
is
example.
If
we
using
a
zip
code
and.
B
Actually
it's
just
nothing
on
the
console.
Let's
try
to
use
a
second
file
host
9411
and
we
run
the
query.
Yeah
it
works.
It
will
put
the
trace
on
the
sipkin
part.
Okay.
This
is
simple
how
we
can
add
the
trace
on
on
our
application
and
one
more
one.
Last
time
we
gonna
give
some
example
of
micro
services.
B
B
So,
okay,
let's,
let's
start
to
explore,
so
we
we
run
app,
sorry
just
store
at
first
and
then
the
another
surface
run
movie
your
movies.
Okay,
there
is
two
services
run
right
now
and
then
let's
go
http
localhost,
so
we're
gonna,
try,
dashboard,
8080,
sorry
d:
where
is
the
support?
Okay,
3000,
okay,
2001?
B
And
that's
what
okay
it's
written,
because
it's
it's
just
on
the
console!
Look
what
the
data
it
give
and,
let's
see
through
the
zip
kit,
let's
find
traces
run
the
query
there
is
a
dashboard
service.
So,
as
you
can
see,
if,
if
you
start
to
doing
some
microservice,
I
think
open
telemetry
is
a
really
good
choice
to
understand.
What's
the
behavior
of
your
surface
and
it's
really
easy
enough
to
to
getting
started.
B
B
You
can
define
the
metrics
and
then
export
it
to
promoters
and
try
using
jager,
not
only
zip
can
explore
provided
sdk
on
respective
language
and
maybe
for
the
people
on
the
infrastructure.
Maybe
you
will
find
some
way
to
make
it
scale
when
we
use
open
telemetry
in
our
surfaces,
and
this
is
my
resources
when
I
created
this
talk,
all
the
blogs,
all
the
documentation.
I
put
it
in
here
if
you're
curious.
What
what
I
needed
to
to
build
this
talk,
and
thanks
maybe
I'll
start
to
try
to
answer
the
q,
a
okay.
A
Great
great,
thank
you
adoni
for
the
for
the
presentation
and,
yes,
we
can
start
the
completion
from
to
creation.
First
from
masjid,
kunsaro.
A
He
asked
about
if
I
have
an
n
number
of
gs
services
service
or
possibly
there
are
other
language
as
well,
and
can
you
share?
How
can
I
use
open
telemetry
to
help
me
trace
the
call
across
different
services,
for
example,.
B
B
Okay
for
yeah
formless,
giri
yeah,
actually
I'm
not
try
it
before,
but
technically
it
can
be
done.
So
if
my
surface,
a
I'm
using
node.js
and
on
surface
b,
I'm
using,
I
don't
know
golang,
you
can
use
the
same
api
same
sdk
on
the
respective
language,
but
you
need
to
give
some
the
surface.
B
Which
which
exporter
that
we
need
to
we
need
to
address.
I'm
not
I'm
not
try
it
before,
but
I
think
it's
possible
I'll.
Try
it
later
today,
yeah.
A
Good
okay,
another
question
from:
if
I'm
rosie,
hey
masoni
can
open
telemetry
detect
both
problems.
Oh.
B
That's
interesting,
actually,
opponent
also
provided
so
you
can
put
open
doorbell
on
the
browser,
but
once
again,
I'm
not
really
exploring
that.
Maybe
you
can
like
check
out
what
the
headers
or
from
the
request,
maybe
maybe
you
can.
A
B
A
Okay,
yeah:
it's
about
the
behavior
that
called
the
ap.
B
A
So
yeah
yeah,
okay
and
let's
go
from
here
one
discourage
why
you
choose
not
yes
to
observe.
B
Okay,
the
first
one
because
our
company
used
node.js,
that's
the
simple.
This
is
the
simple
answer
for
the
simple
question,
but
if
you
want
to
ask
why
not
gs,
why
not
yeah
like
like
like
the
factor
is
using
go
on
on
the
back?
I
think
I
think,
because
our
our
company
is
more
focusing
on
products
instead
of
technical
excellence,
we
need
to
build
mvp
as
fast
as
we
can,
as
as
as
robust
as
we
can
doing
some
tests
in
the
same
language
with
the
back
end
on
the
front
end.
B
So
we
want
to
limit
overhead
to
learn
new
language,
but
we
we
never
left
the
best
practices
like
tdd
cicd
automatic
deployments.
We
believe
that
whatever.
A
A
Okay
last
last
question:
it's
from
ksp
algorithm
can
the
can
opener
limit
the
monitoring
db
and
if
they
could
queue
process.
B
So
I
just
read
the
combination,
like
all
the
the
the
provided
sdk,
but
not
try
it
before
I
I
just
I
just
opened
the
git
github
there.
There
is
a
open
telemetry
for
database
yeah,
but
I
never
try
it
and
you
can
put
opportunity
on
the
virtual
machine.
So
it's
instead
on
the
instead
on
the
code
level
level,
you
can
put
it
on
a
virtual
machine,
so.
B
A
Okay,
okay,
pretty
good!
Thank
you
cool,
so
I
think
it's
enough
time
for
us
and
yes
thank
you.
Thank
you
for
the
presentation
about
the
open
tournament
on
the
gs
and
have
a
nice
day
and
enjoy.