You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »



CardioLog Analytics Architecture




We recommend separating CardioLog Analytics from the monitored environment and installing it on a dedicated server in increase performance and stability.


CardioLog Analytics System Components


The CardioLog Analytics solution includes the following components:



User Interface

A web application for configuring and viewing the web analytics reports.


A repository (SQL database) for storing all tracking and reporting data.

Website Tree Service 

A web service which provides the structure of the monitored website to CardioLog.

Tracking Agent  

A JavaScript tag which is included in all website pages, monitors site usage and personalizes site content. 

Event Collector

A web service which sends tracking data from the tracking agent to the CardioLog database.

CardioLog Scheduling Service 

A Windows service that runs scheduled jobs, including usage data processing, website tree structure syncing and user information syncing.

CardioLog Diagnostics Service

A Windows service used to run regular health checks on the CardioLog system.


The CardioLog Scheduling Service includes the following components:

  1. Usage Data Processing - Processes incoming tracking data from the Event Collector every hour.
  2. Portal Tree Updates - Retrieves the structure of the portal (ie., Monitored environments). This is done by creating an XML file which outlines the hierarchical structure of the portal, and then translates the XML data into relational data. This structure is the basis for data aggregations.
  3. Report Scheduling - Responsible for the automatic generation of all scheduled reports, and their distribution and publication.
  4. Active Directory Updates - Retrieves the list of all users and groups directly from Active Directory for use with visitor segmentation and other user targeted features.
  5. User Categories Updates - Retrieves the list of custom user categories from specific designated web services for use with visitor segmentation and other user targeted features.

The Data Collection Process

  1. Download Tracking Code - The JavaScript tracking code is added to SharePoint using a SharePoint feature (or a common page component such as master pages) and is downloaded to the client browser with each page request.
  2. Personalize Content (Optional) - Information about the visitor segments is downloaded to the client browser with each page request. The JavaScript code hides the content of the page, adds or modifies page elements and finally re-displays the page according to visitor segments.
  3. Track Usage Data - Information about user actions within the website pages is sent to the CardioLogAgent web application - via asynchronous JavaScript calls (AJAX).
  4. Store Usage Data - The CardioLogAgent web application passes on the usage information, via HTTP/S web requests, to the EventCollector web application - which writes the data into the CardioLog database.
  5. Process Usage Data - The Usage Data Processing service processes incoming tracking data from Event Collector (every hour by default).
  6. View Usage Data - The processed data is visible in the Report Center and Analysis Center

The data collected by CardioLog is page URL, query string, user name, date and time, browser type, operating system, workstation IP and WFE server IP. 

Tracking of usage data operates in a non-invasive transparent manner and does not affect the monitored website's overall performance and response time. It is asynchronous to the monitored website's execution and users' activity, thus has no direct impact on the monitored environment.

The product has a marginal footprint on the website and can be turned off instantly should a diagnosis be required.


JavaScript Tracking Code

Website usage tracking is performed by the Tracking Agent - which is a 150KB piece of JavaScript code (out of which 75KB are optional), added to the website pages.

CardioLog Agent File

Bytes Sent

Bytes Received


/CardioLogAgent/ca.aspx (optional)

/CardioLogAgent/caUser.aspx (optional)










The download time for the Tracking Agent JavaScript code is dependent upon multiple factors - such as network connectivity and band width. Generally, the download time is almost negligible.

The Tracking Agent JavaScript code is loaded on page document ready, and sends usage data to the CardioLog server - asynchronously. It can also be loaded on window onload. The calls to the CardioLog server do not affect the page response time.

In case of a connection error, in order to avoid unwanted overhead, the tracking agent tries to reconnect after 60 seconds (configurable) in order to send usage data. The page will be displayed without modifications - if any - after 5 seconds (configurable).

Intlock encourages each customer to perform his/her own performance tests.

  • No labels