journal article·2025-12-04Open access

A Novel Framework for Evaluating Application Performance in Distributed Systems

Alexandru-Lucian Gherghe, Cătălin Tudose

Applied Sciences· Volume 15· Issue 23

Abstract

This paper proposes an innovative framework for analyzing execution times in distributed systems. This evaluation framework is designed to support both software development and production monitoring by providing valuable insights into how the application’s response time is broken down by operations. In addition, it should also help to spot abnormal behavior. Due to the large popularity of the Spring Framework for enterprise systems and its mature ecosystem, the evaluation framework is designed on top of it, and implicitly functions as a Java application. The evaluation framework integrates seamlessly with the popular metrics collectors, such as Prometheus, and provides the flexibility to export to other data sinks, such as Apache Kafka, enabling the clients to fully customize the flow of metrics through the system. The evaluation framework is purposefully designed to have a very flat learning curve, coupled with minimal CPU and RAM overhead. This means it is inexpensive to integrate into both new and existing projects, as well as to run.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Software System Performance and Reliability · Cloud Computing and Resource Management · Advanced Software Engineering Methodologies

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Faculty of Automatic Control and Computers, National University of Science and Technology POLITEHNICA Bucharest, 060042 Bucharest, Romania

Luxoft Romania, 020335 Bucharest, Romania

References (65)

Show source-provided references
1. (2025, October 01). Why Do We Use Node.JS at Bolt. Available online: https://bolt.eu/en/blog/why-we-use-node-js/.
2. (2025, October 01). Observability Survey 2023. Available online: https://grafana.com/observability-survey/2023/.
3. (2025, October 01). Observability Survey 2024. Available online: https://grafana.com/observability-survey/2024/.
4. (2025, October 01). Observability Survey 2025. Available online: https://grafana.com/observability-survey/2025/.
5. Software development methodologies: A comparative analysis
6. Bloch, J. (2018). Effective Java, Addison-Wesley.
7. (2025, October 01). Spring Framework Overview. Available online: https://spring.io/why-spring.
8. (2025, October 01). Prometheus Overview. Available online: https://prometheus.io/docs/introduction/overview/.
9. (2025, October 01). Graphite Overview. Available online: https://graphiteapp.org/#overview.
10. (2025, October 01). Apache Kafka Introduction. Available online: https://kafka.apache.org/intro.
11. (2025, October 01). RabbitMQ Introduction. Available online: https://www.rabbitmq.com.
12. Toward the Observability of Cloud-Native Applications: The Overview of the State-of-the-Art10.1109/ACCESS.2023.3281860 ↗
13. Pathak, D., Verma, M., Chakraborty, A., and Kumar, H. (2024, January 7–13). Self Adjusting Log Observability for Cloud Native Applications. Proceedings of the 2024 IEEE 17th International Conference on Cloud Computing (CLOUD), Shenzhen, China.10.1109/CLOUD62652.2024.00061 ↗
14. Open tracing tools: Overview and critical comparison10.1016/j.jss.2023.111793 ↗
15. Chen, Z., Jiang, Z., Su, Y., Lyu, M.R., and Zheng, Z. (2024, January 7–13). Tracemesh: Scalable and Streaming Sampling for Distributed Traces. Proceedings of the 2024 IEEE 17th International Conference on Cloud Computing (CLOUD), Shenzhen, China.10.1109/CLOUD62652.2024.00016 ↗
16. Chen, Z., Pu, J., and Zheng, Z. (2025, January 25–28). Tracezip: Efficient Distributed Tracing via Trace Compression. Proceedings of the 34th ACM SIGSOFT International Symposium on Software Testing and Analysis, Trondheim, Norway.
17. Wu, Y., Yu, G., Jiang, Z., Li, Y., and Lyu, M.R. (2025, October 01). Trace Sampling 2.0: Code Knowledge Enhanced Span-level Sampling for Distributed Tracing. Available online: https://arxiv.org/abs/2509.13852.
18. Huang, H., Chen, C., Chen, K., Chen, P., Yu, G., He, Z., Wang, Y., Zhang, H., and Zhou, Q. (April, January 30). Mint: Cost-Efficient Tracing with All Requests Collection via Commonality and Variability Analysis. Proceedings of the 30th International Conference on Architectural Support for Programming Languages and Operating Systems—ASPLOS, Rotterdam, The Netherlands.
19. Phan, L.A., Wang, M.X., Wu, G., Dawei, W., Liqun, C., and Jin, L. (2025, October 01). CrossTrace: Efficient Cross-Thread and Cross-Service Span Correlation in Distributed Tracing for Microservices. Available online: https://arxiv.org/abs/2508.11342.
20. Reichelt, D.G., Bulej, L., Jung, R., and Van Hoorn, A. (2024). Overhead Comparison of Instrumentation Frameworks. Companion of the 15th ACM/SPEC International Conference on Performance Engineering, Association for Computing Machinery.10.1145/3629527.3652269 ↗
21. An empirical study on the performance overhead of code instrumentation in containerised microservices10.1016/j.jss.2025.112573 ↗
22. Borges, M.C., and Werner, S. (April, January 31). Continuous Observability Assurance in Cloud-Native Applications. Proceedings of the IEEE International Conference on Software Architecture Workshops, Odense, Denmark.
23. Nõu, A., Talluri, S., Iosup, A., and Bonetta, D. (2025, January 15–19). Investigating Performance Overhead of Distributed Tracing in Microservices and Serverless Systems. Proceedings of the 2025 International Conference on Performance Engineering—ICPE-Annual, Coimbra, Portugal.10.1145/3680256.3721316 ↗
24. Reichelt, D.G., Kühne, S., and Hasselbring, W. (2023). Towards Solving the Challenge of Minimal Overhead Monitoring. Companion of the 2023 ACM/SPEC International Conference on Performance Engineering, Association for Computing Machinery.10.1145/3578245.3584851 ↗
25. (2025, October 01). Java SE Support Roadmap. Available online: https://www.oracle.com/java/technologies/java-se-support-roadmap.html.
26. (2025, October 01). A Java 17 and Jakarta EE 9 baseline for Spring Framework 6. Available online: https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6.
27. (2025, October 01). Jar Files. Available online: https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jarGuide.html.
28. (2025, October 01). Maven Overview. Available online: https://maven.apache.org/what-is-maven.html.
29. (2025, October 01). Gradle Overview. Available online: https://docs.gradle.org/current/userguide/userguide.html.
30. (2025, October 01). Dependency Injection. Available online: https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-collaborators.html.
31. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., and Irwin, J. (1997). Aspect-Oriented Programming. ECOOP ’97—Object-Oriented Programming, Springer. ECOOP 1997; Lecture Notes in Computer Science.10.1007/BFb0053381 ↗
32. (2025, October 01). Spring AOP. Available online: https://docs.spring.io/spring-framework/reference/core/aop.html.
33. Laddad, R. (2024). AspectJ in Action: Enterprise AOP with Spring Applications, Manning. [2nd ed.].
34. (2025, October 01). AspectJ Semantics Introduction. Available online: https://eclipse.dev/aspectj/doc/released/progguide/semantics.html#semantics-intro.
35. (2025, October 01). Load-Time Weaving. Available online: https://eclipse.dev/aspectj/doc/released/devguide/ltw.html.
36. (2025, October 01). AOP Goals. Available online: https://docs.spring.io/spring-framework/reference/core/aop/introduction-spring-defn.html.
37. (2025, October 01). AspectJ Support. Available online: https://docs.spring.io/spring-framework/reference/core/aop/ataspectj.html.
38. (2025, October 01). AOP Documentation—Proxies. Available online: https://docs.spring.io/spring-framework/reference/core/aop/proxying.html.
39. Sun, P., Kim, D.-K., Ming, H., and Lu, L. (2022). Measuring Impact of Dependency Injection on Software Maintainability. Computers, 11.10.3390/computers11090141 ↗
40. Kleppmann, M. (2018). Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, O’Reilly.
41. (2025, October 01). System Javadoc. Available online: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/System.html.
42. (2025, October 01). ConcurrentHashMap Javadoc. Available online: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/ConcurrentHashMap.html#%3Cinit%3E().
43. (2025, October 01). Executors. Available online: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/Executors.html.
44. (2025, October 01). Spring Doc—DisposableBean. Available online: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/DisposableBean.html.
45. (2025, October 01). What Is Event Streaming. Available online: https://www.confluent.io/learn/event-streaming/.
46. (2025, October 01). Kafka Partitioning Keys. Available online: https://www.confluent.io/learn/kafka-partition-key/.
47. Wu, H., Shang, Z., and Wolter, K. (2019, January 10–12). Performance Prediction for the Apache Kafka Messaging System. Proceedings of the 2019 IEEE 21st International Conference on High Performance Computing and Communications, Zhangjiajie, China.10.1109/HPCC/SmartCity/DSS.2019.00036 ↗
48. (2025, October 01). Companies Using Kafka. Available online: https://kafka.apache.org/powered-by.
49. (2025, October 01). Querying Prometheus. Available online: https://prometheus.io/docs/prometheus/latest/querying/basics/.
50. (2025, October 01). Prometheus Metric Types. Available online: https://prometheus.io/docs/concepts/metric_types/.
51. (2025, October 01). OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0 Part 0: Overview. Available online: https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html.
52. (2025, October 01). RabbitMQ Consumers. Available online: https://www.rabbitmq.com/tutorials/amqp-concepts#consumers.
53. Mihalcea, V. (2019). High-Performance Java Persistence, Self-Published.
54. NoSQL Tutorial: A comprehensive look at the NoSQL database
55. A review on various aspects of MongoDB databases
56. Carlson, J. (2013). Redis in Action, Manning.
57. Distributed Caching with Memcached
58. Graph Databases: Neo4j Analysis10.5220/0006356003510356 ↗
59. Buna, S. (2021). GraphQL in Action, Manning.
60. Carpenter, J., and Hewitt, E. (2022). Cassandra: The Definitive Guide, Distributed Data at Web Scale, O’Reilly Media. [3rd ed.].
61. Lee, E.A., Bateni, S., Lin, S., Lohstroh, M., and Menard, C. (2025, October 01). Quantifying and generalizing the CAP theorem. Available online: https://arxiv.org/abs/2109.07771.
62. (2025, October 01). Spring Boot Overview. Available online: https://docs.spring.io/spring-boot/index.html.
63. (2025, October 01). Docker Compose. Available online: https://docs.docker.com/compose/.
64. (2025, October 01). Thread Class. Available online: https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html.
65. Beronić, D., Pufek, P., Mihaljević, B., and Radovan, A. (October, January 27). On Analyzing Virtual Threads—A Structured Concurrency Model for Scalable Applications on the JVM. Proceedings of the 2021 44th International Convention on Information, Communication and Electronic Technology (MIPRO), Opatija, Croatia.10.23919/MIPRO52101.2021.9596855 ↗