Welcome to this session on Application Monitoring in OutSystems. In this
session, we're going to look at a number of different things that can be
monitored we'll see that service center has a number of analytics that can be
returned to us with different types of reports and daily history well see that
lifetime has analytics from the environment level to the application
module all the way down to the screen action level where we can begin to get a
real idea of the overall end user experience and then we'll also look at
how to enable these lifetime analytics so if we look at the server center
analytics to begin with service center provides a few different reports out of
the blocks it has an hourly and daily activity report a number of different
resource reports and a top errors reports these reports can be generated
on-demand at any specific date interval that you
would like and they provide a consolidated view of the information
based on the type of report that you're doing to access these reports you would
log into service center go to the analytics tab and then go to the reports
area inside the reports you just need to choose the type of report and the
interval that you're looking for once you create and generate the report
you can then download it and it remains on the server unless you need to get rid
of it so inside of lifetime analytics are done a little differently
life time is collecting and displaying analytics and not generating specific
reports but it's constantly gathering information about the end-user
experience of all the applications so if we log in to lifetime there is an
analytics area and in that analytics area we can then begin to select
different things to get more information about the performance that we're looking
for so we can look at analytics for different environments here we're
looking at the production environment we can look at the overall and user
experience but we could also focus on the client side the network or the
server side we could focus on all the applications or one specific application
and get some of its overall performance feedback like response time in response
breakdown so that we know what's going on in different areas as we're gathering
this information we can specify a specific time area and even filter by
overall response time together to get a better idea and to get more specific
information back from lifetime so in the application information area there is a
performance index called apdex apdex measures the user satisfaction with the
performance of an application it rates applications from 0 to 100 and it
assumes that speed is something that the user is looking for if you get a score
of 0 to 70% that's considered poor user experience 70 to 85 percent you would be
getting fair user experience and 85 to 100 is good user experience in what
we're looking for it calculates this number by saying that if a page load
takes less than 2 seconds then it's considered fast and that's a good thing
if it takes between 2 and 8 seconds that's somewhat slow and isn't good but
if it's more than 8 seconds it's really slow and that is definitely going to
cause bad experience for the end user so if you're interested in learning more
about the apdex score because it is shown on every level for the performance
information that we're looking at you can check out the information in the
success area of our documentation so if we start at the very top we do have
application analytics so we're looking at a particular environment we can see
all of the different applications if we select a specific application then what
happens is the application gets moved to the top so now we can see that from
analytics we're in production and we're now looking at the field services app
we can see its icon we can see the modules that are inside the field
services app we get the field services apdex score and we see it's specific
response time and response breakdown we could also see for things like
applications and modules what might be getting slower so it begins looking at
different resources and not just how fast they're responding but how fast
they've been responding over time and if there is a particular trend so here we
can see that the field services app has some good responses and a lot of fair
responses and then even a few slow responses so if we begin drilling down
inside of field services we could click on the module and then that module would
give us all of the detailed information about the module so here we can see the
telecom services module and inside that module there are multiple screens in the
performance area we're still getting the apdex score for the module we're seeing
it's different response time and its overall breakdown but now what we could
do is select a particular screen so it seems like the product list and the
dashboard are both performing fairly poorly so we can drill down into those
and look at them even more once we've selected the dashboard screen drilling
down to that level then shows us all of the screen actions that are available in
the dashboard screen the preparation is run as the first part of gender
generating the screen itself and beginning to render the screen but that
preparation seems to be the one that's causing the problem the rest of the
actions seem to be running just fine and not having any problems and again we can
see the dashboards overall performance here and if we wanted to once we get
down to the actual preparation we can see how well the preparation is
performing from an app decks and response time perspective once we get
down to the action level we can't get any lower so we'd have to go back to the
dashboard screen because we've now drilled down from the production level
environment through the application to the module to the screen
to the actions in the screen so this shows you can get analytics on any part
of the range of things that are executing on the server now we may want
to be able to control more of this end user experience because in general it a
great all of the information from both the client side what happens on the
network and what happens on the server side so these metrics can allow us to
kind of look and try to find and do some troubleshooting on the performance
information that we're seeing and as we just saw a lifetimes going to allow us
to drill down inside of the applications but we can also drill down in the areas
of the application so if we wanted to we could just look at the client
information or just look at the network or the server information but to
understand that a little better how would these be calculated well if we
look at the full request response lifecycle in step one the client makes
the request to the server and then in step two the server gets that request
and then the server starts beginning to do the work to get a response in step
three the server starts sending the response and the client may actually
begin receiving it and in step five the server's done and has completed sending
the response it will continue flowing over the network until step six where
the client receives the last byte of the response and then once it has that
response it may take a little bit of extra time to render the rest of that
response so there are a number of different measurements that can be made
here on the client side there is the time to the first byte versus the time
to the last byte of the response there is the load time from when it started
getting the response to actually fully rendering the response and if you add
both of these first two together you get the full duration it took for the client
from the moment it made the request till it fully got its response rendered
there's also the information on how long things took on the server side so we can
get an idea of how long things take on the server side how long things are
taking over all the client-side and then we get an idea
of how things are happening on the network as well so all of these key
points are being measured so that we have the capability of knowing where in
the overall lifecycle some of these performance problems could be occurring
so when we look at client analytics we can get overall client performance and
we can get information about the types of browsers and the types of operating
systems that our users are using when we need more information about the network
we can get the overall network performance we can get the idea of the
type of networks our users are using and the actual carriers themselves that are
providing the service and from there we can get server analytics and those
server analytics will show us the server performance server time distribution and
the server time breakdown and for all the different things that are occurring
on the server we can see the different types of slow calls that are occurring
and what types of resources are making those slow calls now when we think about
lifetime analytics this seems pretty cool but to get all of that information
there must be a number of different measurements being made and that could
actually affect overall performance by default lifetime analytics is enabled in
the production environment so we have all that information available you can
enable it for other environments like the QA environment by going to the
analytics tab when we go to analytics we can choose a particular environment and
when we look at the environment monitoring status we can turn it on or
off for production on or off for quality and on and off for development because
we may not wish to monitor everything if we know certain applications are
behaving fairly well and they've been very well tested we can also turn on or
off analytics on an application basis so by default all applications will be
monitored but we could go through and take certain applications and disable
their monitoring so we looked at a lot of different types
of application monitoring from the service center side to spending a lot of
time looking at how life time can allow us to go from the environment level all
the way down to the action level and monitor everything that's going on so
hopefully you enjoyed and learned a lot in application monitoring thanks for
watching and have a good day