Build MVC of Synthetic User Monitoring in our Digital Experience Management category
📮 Release post
For any organisation building apps and websites, when you have users complaining about availability or latency issues it's not fun. Having an active approach to testing a website or an app by simulating visitor requests for availability, performance and function allows you to find and fix issues before they impact your end users.
It's now possible to use Synthetic Monitoring with GitLab as a method of simulating users by directing the path through the application, providing information as to the uptime and performance of your critical business transations. how to achieve this task_
🔌 Problem to solve
Learning about an unresponsive website or slow load times for critical pages in a web service before your customers can help you to solve the problem before your customers even find out. This is achieved through uptime and web performance monitoring.
- Generate user load, validate against acceptable baseline
- Walkthrough user workflow and generate report of user successful actions
Proposed MVC Scope
Allow customers to specify URL's to test
Schedule pipelines for monitoring intervals
Checks load performance
Use CI Variables for needed input
GitLab Notifications if a monitoring pipeline failed
Allow user to use more sophisticated test checks
🔍 Investigation Results
Sensu Core reached end-of-life, permanently removed on February 1, 2021. We have considered to build a proof of concept using Sensu capabilities but pricing structure has changed which restricts the user to have only 1 site with Sensu Go on the free tier. There is interesting documentation to integrate with their API.
Sitespeed.io is a solution explored on the first iterations within GitLab. This is a web performance tool, . built on open source tools and can be used in continuous integration to monitor performance in production . Integrates with Graphite/InfluxDB and Grafana for monitoring. It isn't a set of tools primarily designed for navigating and asserting user flows, but can do scripting tests. We currently use sitespeed.io as part of the premium offering for Browser Performance Testing
GitLab QA is an orchestration tool that enables running various end-to-end scenarios against any GitLab instance. This tool is heavily used for end-to-end testing within GitLab and consists of multiple pieces configured and packaged by GitLab Omnibus. However it is tightly coupled to the GitLab business case with very customised GitLab user flows.
🔨 Issue Breakdown
🎉 What does success look like, and how can we measure that?