Combining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications

Distributed tracing allows tracking user requests that span across multiple services and machines in a distributed application. However, typical cloud applications rely on abstraction layers that can hide the root cause of latency happening between processes or in the kernel. Because of its focus on...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Loïc Gelle, Naser Ezzati-Jivan, Michel R. Dagenais
Formato: article
Lenguaje:EN
Publicado: MDPI AG 2021
Materias:
Acceso en línea:https://doaj.org/article/ea9abda5f00a425099c8b93d85ebe68d
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
id oai:doaj.org-article:ea9abda5f00a425099c8b93d85ebe68d
record_format dspace
spelling oai:doaj.org-article:ea9abda5f00a425099c8b93d85ebe68d2021-11-11T15:37:57ZCombining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications10.3390/electronics102126102079-9292https://doaj.org/article/ea9abda5f00a425099c8b93d85ebe68d2021-10-01T00:00:00Zhttps://www.mdpi.com/2079-9292/10/21/2610https://doaj.org/toc/2079-9292Distributed tracing allows tracking user requests that span across multiple services and machines in a distributed application. However, typical cloud applications rely on abstraction layers that can hide the root cause of latency happening between processes or in the kernel. Because of its focus on high-level events, existing methodologies in applying distributed tracing can be limited when trying to detect complex contentions and relate them back to the originating requests. Cross-level analyses that include kernel-level events are necessary to debug problems as prevalent as mutex or disk contention, however cross-level analysis and associating events in the kernel and distributed tracing data is complex and can add a lot of overhead. This paper describes a new solution for combining distributed tracing with low-level software tracing in order to find the latency root cause better. We explain how we achieve a hybrid trace collection to capture and synchronize both kernel and distributed request events. Then, we present our design and implementation for a critical path analysis. We show that our analysis describes precisely how each request spends its time and what stands in its critical path while limiting overhead.Loïc GelleNaser Ezzati-JivanMichel R. DagenaisMDPI AGarticleperformance evaluationsoftware analysismulti-level analysisexecution tracingcritical pathroot-cause analysisElectronicsTK7800-8360ENElectronics, Vol 10, Iss 2610, p 2610 (2021)
institution DOAJ
collection DOAJ
language EN
topic performance evaluation
software analysis
multi-level analysis
execution tracing
critical path
root-cause analysis
Electronics
TK7800-8360
spellingShingle performance evaluation
software analysis
multi-level analysis
execution tracing
critical path
root-cause analysis
Electronics
TK7800-8360
Loïc Gelle
Naser Ezzati-Jivan
Michel R. Dagenais
Combining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications
description Distributed tracing allows tracking user requests that span across multiple services and machines in a distributed application. However, typical cloud applications rely on abstraction layers that can hide the root cause of latency happening between processes or in the kernel. Because of its focus on high-level events, existing methodologies in applying distributed tracing can be limited when trying to detect complex contentions and relate them back to the originating requests. Cross-level analyses that include kernel-level events are necessary to debug problems as prevalent as mutex or disk contention, however cross-level analysis and associating events in the kernel and distributed tracing data is complex and can add a lot of overhead. This paper describes a new solution for combining distributed tracing with low-level software tracing in order to find the latency root cause better. We explain how we achieve a hybrid trace collection to capture and synchronize both kernel and distributed request events. Then, we present our design and implementation for a critical path analysis. We show that our analysis describes precisely how each request spends its time and what stands in its critical path while limiting overhead.
format article
author Loïc Gelle
Naser Ezzati-Jivan
Michel R. Dagenais
author_facet Loïc Gelle
Naser Ezzati-Jivan
Michel R. Dagenais
author_sort Loïc Gelle
title Combining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications
title_short Combining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications
title_full Combining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications
title_fullStr Combining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications
title_full_unstemmed Combining Distributed and Kernel Tracing for Performance Analysis of Cloud Applications
title_sort combining distributed and kernel tracing for performance analysis of cloud applications
publisher MDPI AG
publishDate 2021
url https://doaj.org/article/ea9abda5f00a425099c8b93d85ebe68d
work_keys_str_mv AT loicgelle combiningdistributedandkerneltracingforperformanceanalysisofcloudapplications
AT naserezzatijivan combiningdistributedandkerneltracingforperformanceanalysisofcloudapplications
AT michelrdagenais combiningdistributedandkerneltracingforperformanceanalysisofcloudapplications
_version_ 1718434834567659520