loading page

Telemetry of Legacy Web Applications: An Industrial Case Study
  • +3
  • Anas Shatnawi ,
  • Bachar Rima ,
  • Zakarea Alshara ,
  • Gabriel Darbord ,
  • Abdelhak-Djamel Seriai ,
  • Christophe Bortolaso
Anas Shatnawi
Berger-Levrault

Corresponding Author:[email protected]

Author Profile
Bachar Rima
Author Profile
Zakarea Alshara
Author Profile
Gabriel Darbord
Author Profile
Abdelhak-Djamel Seriai
Author Profile
Christophe Bortolaso
Author Profile

Abstract

Berger-Levrault, like many companies, has legacy web applications that still bring great values, and cannot be easily replaced. To maintain these applications, it needs data about user navigation, backend actions and client-server data exchange. Berger-Levrault has relied on a traditional logging approach that partially collects these data, requires modifying the application code and heavily impacts its performance. To address the limitations of this logging approach, we propose to replace it by a modern software telemetry approach. Existing telemetry approaches do not meet our needs, they should be extended based on our objectives, technological constraints and industrial regulations. In this paper, we report our experience in instrumenting real, large-scale, industrial legacy web applications based on a telemetry approach.  Our goal is to automatically instrument legacy web applications to collect data fulfilling our industrial needs. We extend the automatic instrumentation capabilities of OpenTelemetry agents to instrument our applications without modifying their code. We define a telemetry architecture to integrate telemetry components with legacy web applications. Also, we empirically evaluate the performance overhead produced by our agents. The results show that there is no significant overhead when using OpenTelemetry agents. However, this overhead is sensitive to the size of data being serialized when instrumenting client-server data exchange. Moreover, we discuss lessons learned about the technical challenges we faced during the industrialization of our  approach. Also, we empirically evaluate the performance overhead produced by our agents. The results show that there is no significant overhead when using Open Telemetry agents. However, this overhead is sensitive to the size of data being serialized when instrumenting client-server data exchange. Moreover, we discuss lessons learned about some technical challenges we faced during the industrialization of our telemetry approach.