Tracing Performance Metrics in Kotlin Multiplatform Projects via Compile-Time Code Instrumentation

Research output: Contribution to journalConference articlepeer-review

Abstract

Performance analysis requires to collect metrics such as method execution times. For JVM bytecode, this is typically achieved through load-time code instrumentation using agents. Kotlin, however, presents unique challenges as it can be compiled to various targets beyond the JVM, including WASM and native code. These diverse targets render traditional agent-based instrumentation unsuitable, requiring a more versatile technique to cover all target platforms conveniently. In this paper, we leverage Kotlin’s flexible compiler architecture and present a work-in-progress Kotlin compiler plugin that employs compile-time instrumentation. By adding target-agnostic performance metric tracing code during compilation instead of target specific code at load time, we address a critical need in the growing field of Kotlin Multiplatform projects.
Original languageEnglish
Number of pages3
JournalSoftwaretechnik-Trends
Volume45
Issue number1
Publication statusPublished - 2025
EventSymposium on Software Performance (SSP'24) - LInz, Austria
Duration: 07 Oct 2024 → …

Fields of science

  • 102009 Computer simulation
  • 102013 Human-computer interaction
  • 102011 Formal languages
  • 102022 Software development
  • 102029 Practical computer science
  • 102 Computer Sciences
  • 102024 Usability research

JKU Focus areas

  • Digital Transformation

Cite this