Try our conversational search powered by Generative AI!

Live Monitor Configuration

Introduction

Live Monitor (formerly known as EPiTrace) can be used as-is, directly from the installation with EPiServer CMS, please note though it is possible to change some of the default settings if required. In this document the various configuration options are described in more detail. Live Monitor is installed on the system through the (msi) installation file and deployed to a site through Deployment Center.

Please note if your solution is set up in a load balancing environment see the the Interval based updates section for some helpful information. Although the module has been renamed many parts of the application (files and configuration) still refer to its previous name EPiTrace.

Table of Contents

Client configuration

It is possible to override default client behavior by changing init parameters on the client control (these changes should be made in the EPiTrace.aspx file). These are:

  • traceservice – address to the trace service.
  • visitorservice –address to the visitor service.
  • rememberlayout (false) – if the client should remember the previously expanded nodes and on which positions they were at.
  • preloadDepth (3) – by default the client automatically loads nodes thee levels down, increasing this value can have a negative impact on the client performance. The rest of the nodes will be loaded on demand. Visitors that are on nodes that haven’t been loaded are not shown in the client.
  • rootNodeId – page Id for the root node.
  • isStatisticsControlsVisible – gauges visibility, default true.
  • isVisitorListExpanded – is the visitor list expanded, default false.
  • moveToHistoryAfter (2 min) – Number of minutes before the users are considered inactive, default is 2 min.
  • removeFromHistoryAfter (5 min) – Number of minutes before users are removed from the history list, default is 5 minutes.
  • pollTimeout (0ms) – If pollTimeout is set to a value greater than zero Live Monitor will poll for visitor information instead of using the Duplex binding.

Server Configuration

Application contents -

Live Monitor consists of a Silverlight web browser plug-in for visualization of visitor movements on the web site and services providing the silverlight application with visitor information.

  • EPiTrace.xap – Silverlight client application
  • TrackerHandler.ashx – Handler registering page visits
  • TraceService.svc & VisitorService.svc – Services providing the silverlight client application with visitor and page data.
  • Default.aspx – sample web page for showing the Live Monitor client application in a browser.

Manual Database set-up

Run epitraceHits.sql in your EPiServer database. This will create the table epitraceHits and the stored procedures epitraceRegisterVisit and epitraceMaintenance.

Scheduled database job

The stored procedure epitraceMaintenance needs to be set-up to run at least every 24 hours. The stored procedure removes information about old visits rebuilds indexes on the epitraceHits table.

Registering page visits

To make Live Monitor register visits on your web site you have to add tracking functionality to the pages of the web site.  Live Monitor includes a page extension which is responsible for adding the page tracking script to each page.

Manually configure page tracker

To change the behavior of the tracking script this page extension can be disabled through plug-in manager in EPiServer CMS admin mode and the tracking web control can be added manually to individual pages types or in the master page of the site.

In order to manually configure the tracking scripts add the following control declaration to the top of the master page:

<%@ Register TagPrefix="epitrace"
    Namespace="EPiServer.Trace.CMS.Web.WebControls"
    Assembly="EPiServer.Trace.CMS" %> 

Then add the tracker control right before the </form> tag of the page:

<epitrace:VisitTracker runat="server"
    TrackingHandlerUrl="~/EPiTrace/Handlers/TrackerHandler.ashx" />

The tracker control will render a javascript which will add an image with the src attribute set to the value of TrackingHandlerUrl . A <noscript> tag containing the same image element is also rendered for browsers where javascript is unsupported or disabled.

Live Monitor should now be set up and you can test it by browsing to visiting the /epiui/EPiTrace/EPiTrace/">http://<yoursite>/epiui/EPiTrace/EPiTrace/, where you should see the Live Monitor silverlight application. Then open another browser and start browsing the web site. The page visits should now be visible in the silverlight application.

Configuration

Live Monitor can be set up to handle client updates in two different ways. The default set-up pushes visitor updates to the listening Live Monitor silverlight clients as soon as a visit is recorded by the visitor handler. This set-up requires that the visitor logging handler resides in the same web application as the visitor service, since these updates are done with direct communication between the logging handler and the visitor service.

The second set-up pushes updates at a configurable interval to the clients. When a visitor views a page the visit is recorded to database by the visitor logging handler, but the visitor service isn’t notified. The visitor service is instead set-up to load visits from the database at a configurable interval and push to the listening Live Monitor clients. This set-up doesn’t require that the visitor service and the logging handler reside in the same web application.

Interval based updates (load balanced environments)

interval based visitor updates must be configured in web.config. This requires that a configuration section is registered in web.config.

<sectionGroup name="episerverModules">
  <section name="episerver.epiTrace"
           type="EPiServer.Trace.CMS.Configuration.EPiTraceSection"
           allowLocation="false"/> 
</sectionGroup>

Then the actual configuration must be added as well:
<episerverModules>
  <episerver.epiTrace usePolling="true" pollingInterval="5" />
</episerverModules>

Further information on the configuration properties:
usePolling - turns on the interval based updates
pollingInterval - determines the number of seconds between client updates

CONFIGURATION