Technology

Client

01

Add our tracker.js snippet to your Web page of Application.

Thousands of concurrent sessions...

The analysis starts automatically when user opens a pager in browser. Regardless of the scale of traffic, the complexity of the site or the technology used, a micro-data and DOM events are sent by the our tracking code - it's a part of secure protocol used by your application, so no need to worry about data encryption. The agent monitors DOM events, wich are natively reported by the browser. Events are sent over wss:// to your omniscopy instance regardless you use https or just http

Angular Angular
React React
Redux Redux
Omniscopy server (optional component)

02

Omniscopy collects information about user clicks and other digital interactions, analyzes visual aspects of the page and collects information about potential errors.

Data Collector

Transmitted data is handled by Collector miscroservice. We collect tracked data by using stateless transaction on our side. Thanks to this we'd handle large-scale traffic with low resource requirements. Our components are written in a microservice architecture. This allows performance control and easy scaling-up/down if needed.

Eye Eye
Vertx Vertx

Processor & data analysis.

The overhead? Well, we are "event-creation-free" meaning we are not forcing the end-user's browser to do the job for us. To analyze sessions, detect the events and relevant business information, we use the 'server-side DOM processing' mechanism we developed. Thanks to this, we do not intoduce an extra overhead the end user's browser.

Linux Linux
Java Java

Saved sessions & business metrics.

Thanks to Cassandra we achieved excellent throuput and satisfied data compression rate. This also means that we do not lose the data at the momment of large business peaks, so we'd naturraly handle higher traffic. Minio and Postgres helps us to manage and store static content. Thanks to this, session stays unchanged even if i.e. css was modified afer the fact. We show the real picture from the momment of capturing a session.

Postgres Postgres
Metric Metric
Our Application

03

User actions are automatically analyzed and sessions classified. Have you forgotten about some pre-conditions? No worries. We have backward data processing capability, which is more than retroactive searches.

Omniscopy. End-user interface

Our WebApp is written in React. Thanks to this, you have an easy access to your data and recorded sessions. Just use Chrome or Firefox. No need to have 3rd party software or extra plugins. Maintanance is simple.

Html5 Html5
Js Js
Css3 Css3

If your data is sensitive, we will provide you with installation requirements. Otherwise, the solution may be hosted on our servers.

Contact our Team

Summary

Data Collector

An important component using Vertex. Its function is to receive data from the websocket protocol and forward it to the Recorder for permanent storing in Cassandra

Resources storing

We save sessions and static content on a permanent basis. This element works based on DOM analysis, resource crawling and Minio, which we use to index and save (static) content of the monitored website.

Raw data compression

We use streaming compression technology to ensure efficient use of disk storage. Compression takes place on the fly, i.e. before saving to disk.

Bandwidth performance

We use data compression mechanisms that are built into websocket and browsers supporting rfc7692.

tracker.js

Snippet installed on the page, records all DOM elements along with related CSS styles and other page components. Thanks to this, we can accurately reproduce the website along with all changes to the DOM.

Single Page Applications

We support internet applications and dynamic websites (SPAs) utilizing frameworks like AngularJS and React.

DOM Tree

Document Object Model of which elements the HTML page consists of. The styles applied to these elements (size, colors, borders, background images, etc.) are so-called CSS'. Dynamic pages (often called AJAX) work by running a code in JavaScript to manipulate these elements in response to user interactions on the Browser side.

Business events & detection rules

Coś co odróżnia nas od konkurencji. W odpowiedzi na zmiany i zdarzenia DOM, możemy wygenerować dowolne zdarzenie, które wykorzystujemy do tagowania i wyszukiwania sesji na etapie analizy danych.

Microservices architecture

We have a dozen different components that we have designed as micro-services. This enables us to easily implement and efficiently scale our solution depending on the needs of Customers.

White-lists

Intentionally by default we do not collect a data from input forms. If necessary, tracker.js can record this data, when the classes (i.e. css selectors) of INPUT elements are clearly pointed.

Ansible

Deployment is described in the form of Ansible's playbooks. This allows to automate the installation process and makes deployment and version changes easy.

Black-lists

A mechanism that allows us to introduce additional restrictions during session recording. Thanks to this, we can exclude whole page elements including sensitive information, i.e. virtual keyboards, which users use for authorization.

Boredom? Check our documentation (soon).

Documentation
We are using cookies, to render top quality services for you, as the website users. Using the website herein without changing the cookies settings means that they would be stored in your device. You may change the settings at any given moment. We take care of your privacy. Your personal details will be processed solely for the purposes and in line with the rules defined by our Privacy policy