PROPOSAL

Logging in Open-Source JavaScript Applications


Supervisors: Martin Hentschel
Semester: Fall 2024
Tags: open source, performance

Open-source JavaScript applications, such as browser-based web games, are typically developed by individual software engineers or small teams. These teams often have limited financial resources to use commercial logging frameworks and cloud-based analysis systems and may also lack knowledge and expertise in logging. However, log analysis is highly important for many reasons: monitoring application health, understanding user adoption, improving the application through experiments, and detecting or preventing malicious inputs (e.g., cheating). In this research project, we aim to assess the current, diverse landscape of logging solutions, with a focus on open-source JavaScript applications.

The research project consists of three parts:

  1. An exploration of state-of-the-art logging in open-source JavaScript applications from two angles. First: To what extend do open-source JavaScript applications and games use logging? Second: What are the common logging solutions for JavaScript applications and games?
  2. A usability and performance analysis of at least three popular logging libraries. Questions are: How user-friendly are these libraries, how expensive are they (compute costs and storage sizes), and what is their impact on application performance? In addition, in case of any identified common shortcomings, how can logging systems be improved to overcome these shortcomings?
  3. A definition of a reference architecture for logging in JavaScript applications and games, and the actual implementation of this reference architecture in one open-source JavaScript application. The research question is: How can individual developers and small teams add state-of-the-art logging to JavaScript applications and games that is simple, affordable, and minimally performance-intensive?