►
From YouTube: Demo: Debugging Power Apps with Monitor
Description
Watch this short community demo by Hazim SharafelDin (Microsoft) to learn how to debug Power Apps with Monitor.
For more information, please visit https://powerapps.microsoft.com
This demo is taken from the January 2021 Power Apps community call https://youtu.be/gQfUxNAZfmk
Stay connected
Twitter https://twitter.com/microsoft365dev
YouTube https://aka.ms/M365DevYouTube
Blogs https://aka.ms/M365DevBlog
A
Hello:
everyone,
I'm
hazam,
I'm
a
pm,
one
of
the
part
of
the
infrastructure
and
quality
group,
and
this
is
part
of
the
powerapps
studio
team.
I'm
relatively
new.
This
is,
I
think,
my
fourth
month
in
in
the
team,
but
I'm
quite
excited
about
what
we're
doing
and
also
sharing
many
of
the
tools
that
we
are
working
on
and
features
to
the
rest
of
the
community.
A
Today,
I'm
going
to
be
talking
about
monetary
and
traditionally
makers
in
in
developers
used
to
use
tools
like
fiddler,
chrome,
dev
tools
and
other
tools
to
just
like
troubleshoot
their
apps,
while
they're
building
them
trying
to
figure
out
what's
wrong,
what's
not
working
and
how
to
optimize
things,
and
it
did
actually
and
still
work.
But
it
was
a
little
bit
of
overhead
to
use
those
tools,
especially
when
you
try
to
integrate
them
with
power
studio
and
try
to
actually
filter
and
figure
out.
A
What
exactly
is
happening,
and
this
is
when
we
introduce
monitor
back
in
around
october
2019
and
since
then
it
has
gone
into
general
availability
back
in
december
2020,
and
what
monitor
does
is
mainly.
It
is
a
troubleshooting
and
diagnostic
tool
that
is
native
to
the
power
app
studio
and
makers
can
use
that
tool
mainly
to
view
real-time
events
streaming,
while
they
both
either
in
studio,
editing
and
designing
their
apps
or
actually
to
troubleshoot
and
view
the
events
and
behavior
of
published
apps.
A
So
the
typical
use
case,
and
most
common
use
case
for
monitor,
is
to
mainly
troubleshoot
an
app
or
a
solution
that
has
something
wrong,
or
you
think
that
okay,
there
is
actually
some
room
for
optimization
and
improving
the
performance
of
an
app,
for
example,
but
I
also
find
it
very
useful
and
important
to
actually
use
it
to
understand
how
your
app
is
behaving
and
the
the
interesting
part
that
I
came
across
the
scenario.
A
Actually
yesterday
when
I
was
trying
to
pull
my
demo
app
and
I
found
out
that
my
entire
environment
has
been
wiped
out,
so
I
actually
had
to
look
for
a
new
app
to
just
use
it
for
today's
demo,
and
I
came
across
this
app
that
we
previously
used
in
a
different
context.
But
I
wasn't
actually
quite
like
sure.
Okay,
what
are
the
different
elements
and
then
I
thought.
Okay,
this
is
actually
I
can
use
monitor
to
figure
out.
What's
going
on
with
this
app
and
I'll
go
through
this
in
a
minute.
A
So
it
is
definitely
useful
to
just
like
navigate
through
the
expressions
events,
network
events
figuring
out
the
dependencies
and
in
the
flow
of
the
general
app.
A
So
the
way
that
the
monitor
tool
is
actually
architected
is
that
it
receives
and
act
as
a
hub
for
all
the
events
throughout
user
session
or
an
app
session.
A
And
this
way
we
actually
receive
all
the
events
in
in
the
case
of
canvas
app
or
model
apps,
that
almost
of
the
events
that
are
actually
being
transmitted
throughout
the
session
and
examples
include
things
like
going
through.
The
data
connectors
user
actions
like
clicks
calls
like
through
the
network
and
delegation,
calls
in
case
of
the
model
driven
apps
forms
and
and
forum
load,
sequence
and
so
on,
and
this
is
actually
where
we
would
love
to
get
your
feedback
as
well.
A
In
terms
of
like
what
are
some
of
the
different
events,
that
would
make
sense
and
like
many
of
the
makers
are
still
looking
at
so
typically,
we
try
to
include
as
many
as
we
can
in
terms
of
events,
but
we
also
trying
to
keep
the
balance
between
just
adding
lots
of
noise
and
and
or
trying
to
avoid
to
make
it
an
overwhelming
experience.
When
you
start
looking
into
the
sequence
of
events
and
reaching
that
balance
of
okay,
I
can
actually
get
some
useful,
informative
data
by
looking
into
monitoring
events
versus.
A
Oh
I'm
getting
lots
of
events.
I
don't
know.
What's
going
on
the
other
thing
that
actually,
the
framework,
as
I
mentioned,
is,
is
extendable
in
a
way
that
there
is
some
thinking
to
just
extend
this
beyond
power
apps,
and
that
could
be
for
things
like
pva
power,
virtual
agents
and
power
automate
as
well
and
in
terms
of
using
the
same
tool
to
actually
troubleshoot
flows
and
chatbots.
A
So
one
of
the
new
features
when
we
did
the
ga
last
year
was
to
actually
a
couple
of
features
that
we
introduced
to
enable
collaborative
debugging
and
the
scenarios
mainly
our
address
for
tech
support
teams,
but
also
it
includes
just
like
regular
makers
who
would
like
to
actually
get
a
hand
or
support
and
help
from
different
team
members
or
more
experienced
makers
in
their
organization.
A
So
the
first
feature
is
called
the
invite,
and
the
typical
scenario
for
this
feature
is
if
let's
say
that,
I'm
actually
going
through
a
troubleshooting
session
and
I'm
just
like
using
monitor,
I
launched
my
app
and
then
I'm
going
through
a
sequence
of
events,
but
I'm
still
unable
to
just
like
figure
out.
What's
really
going
on
or
what's
wrong
or
what
could
be
potentially
optimized
and
I
need
a
hand
or
help
from
someone,
as
I
mentioned
in
my
organization.
A
Instead
of
just
like
throwing
a
dump
of
all
the
events,
I
can
actually
establish
a
real-time
collaboration
session
by
using
the
invite
feature
and
I'll
show
this
in
a
minute
in
the
demo
and
share
that
link
and
for
the
new
maker
or
team
member
once
he
or
she
receives
that
link.
They
would
actually
establish
a
real
time
session
where
they
can
start
seeing
the
same
exact,
monitor
session
real
time
so
that
you
can
actually
collaborate
with
someone
else
to
troubleshoot
your
application.
A
The
connect
user
scenario
is
where
let's
say
that,
you're
again
a
support
team
member
and
you
get
this
bug-
reported
about
a
specific
set
of
problems
or
events
that
happen
after
a
certain
sequence,
and
you
receive
this
trouble
ticket
where
there's
a
description
of
how
to
regenerate
that
issue
or
bug,
and
then
you
go
through
those
steps
and
events
and
you're
actually
not
able
to
just
create
the
same
problem.
So
typically
we
just
like
either
reply
back
and
say:
hey.
I
need
more
details,
it's
not
working
or
you
just
like
call
that
person.
A
So
the
what
this
feature
is
offering
is
to
actually
the
ability
again
to
do
a
real-time
troubleshooting
session.
So
in
that
scenario
you
just
like
if
let's
say
that
you
are
the
the
support
person,
you
would
just
like,
create
a
connect
user
link
and
send
it
to
the
issue
creator
and
ask
him
or
her
to
run
the
app.
So
they
would
be
running
the
app
and
you
would
be
actually
in
real
time,
monitoring
the
session
and
figuring
out
what's
going
on
without
you
necessarily
having
to
actually
generate
the
steps
or
recreate
the
steps.
B
A
I'll
run
through
this
in
the
demo,
to
just
like
make
it
a
little
bit
more
clear
about
the
the
difference
between
the
two
scenarios
and
how
do
they
work.
A
So
there
are
certain
limitations
today
to
monitor
and
we
are
working
on
in
addressing
most
of,
if
not
all,
of
those
scenarios,
but
today,
for
instance,
you
cannot
actually
establish
or
troubleshoot
a
monitor
session
through
the
mobile
player
and
also
scenarios
like
the
embedded
or
custom
pages,
where
you
actually
can
go
in
a
model
driven
app
and
create
a
canvas,
app
or
embedded
app.
This
is
another
scenario
that
is
not
supported.
A
Sharepoint
custom
forms
is
also
not
supported,
and
teams
is
not
supported,
but
we
do
have
all
of
these
items
or
those
items
actually
in
our
roadmap
and
we're
working
towards
the
plan
to
actually
cover
them
in
and
probably
throughout
this
year.
A
A
So
this
is
the
app
that
I
and
this
is
available
online
I'll-
provide
the
link
to
that
solution
package
that
you
can
actually
download,
but
it's
like
part
of
the
northwind
trader
package
that
provides
demos
and
examples
for
many
aspects
of
of
studio,
design,
expressions
and
so
on,
and
this
is
definitely
not
meant
to
be-
is
like
a
a
reference
or
a
a
model
for
how
to
write
an
app,
and
it
is
definitely
not
optimized
and
there
are
tons
of
things
that
are
going
there.
A
But,
as
I
mentioned
earlier,
I
was
just
like
coming
through
this
app
and
was
trying
to
remember
what's
going
on.
How
is
it
working
and
in
this
scenario,
just
like
show
you,
okay,
how
to
even
start
looking
to
what's
going
on
and
and
what's
happening
in
the
sequence
of
of
events
here,
so
what
this
app
does?
It
mainly
does
it
upload
a
set
of
data
from
a
cds
like
dataverse
entities
or
tables,
and
then
you
can
actually
see
how,
in
a
sequential
manner
the
data
gets
uploaded.
A
It
takes
a
little
bit
of
time
and
then
you
can
actually
remove
it
and-
and
you
go
through
the
sequence
and
my
kind
of
like
instinct,
when
I
saw
this,
I
was
like
okay,
everything
must
be
actually
here
and
and
upload,
and
I
saw
this
expression
in
formula
and
then
I
thought,
okay,
this
is
actually
not
happening.
There
must
be
something
else
somewhere
and
the
easy
way
to
just
like
do
this
is
to
start
a
monitor
session.
A
So
actually
I
have
a
one
already
running
here,
but
let
me
kill
this
one
so
in
case
that
you
haven't
actually
seen
monitor
before
I'll
briefly
go
through
this,
but
I
just
this
is
in
running,
monitor
in
the
editing
mode.
So
you
just
go
to
advanced
tool,
and
then
you
find
the
monitor
tool,
you
open
it,
and
then
you
have
a
new
tab
that
actually
is
connected
to
that
session.
A
So
you
can
notice
immediately
that
there
is
actually
a
control
that
is
dominating
and
has
lots
of
events
being
emitted
that
is
called
timer
one
and
that
the
property
that
is
actually
being
hit
is
called
on
timer
end
and
what's
even,
I
think,
more
convenient
that
you
can
actually
start
seeing
the
formula
that
is
being
executed
as
part
of
that
event,
and
then
you
start
realizing
that
oh
this
is
actually.
There
is
much
more
than
the
load
button
that
is
happening
and
some
of
the
cool
features
is
like.
A
You
can
actually
filter
on
on
any
of
those
events,
so
you
can
actually
just
say:
okay,
I'm
would
like
to
see
only
warnings
and
then
just
like
see.
Okay,
I
have
a
few
warnings
here,
it's
about
delegation
and
you
can
even
see
which
line
in
the
expression
this
warning
is
about.
So
this
is
mainly
about
the
count
rule.
A
Let
me
expand
this
a
little
bit
more
and
the
fact
that
you're
actually
doing
a
non-delegated
call
to
cds
and
that
actually
might
create
some
problems,
depending
on
the
your
data
size
and
the
number
of
records
that
you're
trying
to
to
retrieve
and
also
the
settings
in
your
app.
But
again
this
is
kind
of
a
quick
overview
of
like
if
you're
landing
in
a
completely
new
app.
A
You
would
like
to
figure
out,
what's
really
going
on
and
what's
the
sequence
of
events
and
then
as
we
go
here
just
like
we
go
the
tree
view
we
find
out
that
actually
there
is
a
timer
and
the
on
timer,
and
there
is
the
expression
that
was
actually
shown
in
here,
and
this
is
a
monstrous
expression
that
I
would
not
recommend
use
as
a
reference,
but
it
was
done
intentionally
in
in
the
context
of
this
app.
A
So
now,
let's
see
that
the
other,
I
think,
cool
thing
that
you
can
do
even
is
to
write
custom
traces
that
you
can
actually
view.
So
if
you
would
like
to
capture
and
and
dump
specific
data
in
in
a
monitor
session,
you
can
do
that
and
the
way
that
I
did
this
here
is
by
just
like
again
creating
another
timer
and
I
placed
in
here
a
trace.
A
So
you
can
actually
use
the
trace
to
post
a
specific
custom
message
in
your
monitor
session
and
set
the
severity,
and
you
can
even
include
a
custom
record,
and
this
is
more
also
like
the
trace
function
could
be
extended
to
app
in
size
integration.
This
is
an
azure
service,
so
let's
say
that
you
are
interested
in
capturing
more
data,
storing
it
in
azure,
so
that
you
can
actually
have
some
telemetry
generated
there.
You
can
use
this
function,
but,
to
the
extent
of
this
expression,
this
is
going
to
appear
in
in
our
monitor
session.
A
So
you
start
seeing
actually
here
the
message
coming
out
saying
time
and
trees,
and
this
is
the
control,
is
timer
too,
and
this
is
again
a
way
to
just
have
a
custom
trace
in
your
monitor
session,
and
this
is
of
course
something
that
you
can
place
anywhere.
I
am
just
like
for
simplicity,
created
a
separate
timer
in
here,
but
it's
it
could
be
done
in
inside
of
any
of
those
controls
inside
of
any
of
the
events
or
triggers.
A
So
let's
say
that
I'm
while
I'm
actually
doing
this
session,
as
I
mentioned
earlier
that
and
let's
just
remove
this
filter,
I
would
like
to
get
a
hand
and
someone
to
help
me.
So
I
can
click
on
this
invite,
and
this
is
limited
to
the
same
organization
and
let
me
just
kill
the
session
I
think
is
thrown.
A
A
Yes,
in
the
http
request,
I'll
show
that
in
a
second
I
was
trying
to
show
the
invite
and.
A
Invite
so
I'm
inviting
another
user.
This
is
actually
the
link
for
that
session.
Just
like.
Let
me
start
set
of
events
here
and
I'll
show
another
screen
where
I
another
tab
in
here.
So
I
just
like
gonna
paste,
the
link
that
I
got,
and
this
is
the
second
person
receiving
this
session,
that
he
or
she
is
going
to
be
providing
help
for
the
first
user
and
there
is
a
little
bit
of
lag,
but,
as
you
can
see,
the
other
person
can
start
actually
seeing
the
data
and
just
like.
I
think
this
is
a
browser
thing.
A
So
this
is
actually
a
second
user.
You
see
here.
There
is
a
different
user
in
here,
but
now
you're,
seeing
the
same
exact
events
at
the
session,
and
it's
just
like
going
back
to
thoughts,
point
about
seeing
the
response
and
requests,
so
you
can
actually
drill
down
into
the
details.
A
A
So,
in
addition
to
the
formula
you
can
actually
see
the
exact
request
that
has
been
submitted
through
the
network
and
the
response
that
you
got
back
and
the
status
of
each
of
those
responses,
and
you
can
actually
even
drill
further
to
the
content
of
the
body,
the
header
and
seeing
all
the
headers
and
and
the
requests
being
sent.
So
it
definitely
provides
you
with
this
capability.
You
just
like
drill
down.
A
B
I
think
they
really
go
hand
in
hand
really
well
I
I
love
the
request
response
part
you
have
in
monitor
here,
especially
when
you're
in
a
scenario
when
you're
dialing
in
like
a
custom
connector
to
a
net
new
api
or
maybe
you're,
calling
into
an
azure
function,
or
you
know,
trying
to
get
auth
set
up
right.
Looking
at
the
request,
the
response
and
the
headers
gives
you
all
the
clues.
You
need
to
figure
out
if
it's
not
working
right,
what
you
need
to
change.
A
A
B
A
I
wouldn't
mind
for
sure
yeah.
Let
me
just
walk
you
quickly
through
the
last
scenario,
and
this
is
the
connect
user
to
just
like
show
the
difference
in
the
you
can
think
again,
more
of
the
published
version
of
the
app
so
I'll,
just
close
this
for
now
in
here,
but
think
of
trying
to
troubleshoot,
as
I
mentioned,
an
issue
that
was
reported
and
you're
not
able
to
actually
regenerate
that
exact
issue.
So
you
just
like
would
run
monitor
from
here,
and
the
connect
user
can
only
be
applied
and
applicable
for
published
version.
A
So
if
you
are
inside
the
studio,
you
won't
be
seeing
this
feature.
You
just
have
to
actually
use
a
published
version
in
order
to
enable
that
feature
or
use
it.
So
this
is
where
you
start
seeing
the
connect
user
and
similar
to
the
invite.
You
just
say:
hey
connect,
user,
choose
someone
in
your
organization
and
then
get
a
link,
not
sure
why
today
I'm
using
private
sessions-
and
this
is
the
reason
that
the
cookies
are
not
stored.
A
B
A
A
No
so
this
time
this
is
I'm
now
the
original
issue
creator.
So
I'm
the
the
user,
who
reported
the
issue
I'll
be
receiving
this
link
to
just
join
and
I'll,
be
seeing
the
same
app
and
now,
let's
say
in
on
on
teams,
channel
or
somewhere.
The
support,
person
or
dev
is
asking
me
to
go
through
the
sequence
of
events
that
generated
that
problem.
A
A
Yeah,
so
this
is
again
a
very
brief,
quick
overview
of
the
two
connect
and
invite
features
that
could
be
used
in
here,
as
well
as
the
custom
traces
that
could
be
generated
in
case
that
there
is
actually
a
need
to
just
like
capture
specific
parameters
or
values
inside
your
app
now
going
back
to
the
slides
in
terms
of
like
future
capabilities
and
things
that
we've
been
working
on,
every
probably
as
you've
noticed
you're
able
to
see
the
events,
controls
and
so
on.
A
So
one
of
the
things
that
we're
working
on
is
to
actually
take
that
capability,
expand
it
and
merge
it
as
part
of
monitor,
so
that
we
can
also
enhance
this
troubleshooting
and
kind
of
variables
and
collection
inspection
capability
as
part
of
of
monitor.
So
those
are
some
of
the
example
features
that
we're
working
on
now,
and
we
would
also
love
to
hear
back
from
the
community
about
any
of
the
other
major
pinpoints
or
features
that
they
are
looking
for
to
add
and
include
and
monitor.
B
Absolutely
I'm
sure
if
anybody
has
a
suggestion,
they're
going
to
get
that
into
the
chat
right
away
for
you.
This
is
a
great
capability
and
great
demo,
and
it
does
so
much
more
than
people
might
think
right,
it's
more
than
debugging.
It
can
help
you
understand
an
app
and
how
it
works
and
troubleshoot
it
and
all
kinds
of
great
things.
Thanks.
B
You're
welcome
yeah
come
back
when
you've
got
these
new
things
built
we'd
love
to
see
them
too.