2025-11-17T13:07:13.610318

Interoperability From OpenTelemetry to Kieker: Demonstrated as Export from the Astronomy Shop

Reichelt, Yang, Hasselbring
The observability framework Kieker provides a range of analysis capabilities, but it is currently only able to instrument a smaller selection of languages and technologies, including Java, C, Fortran, and Python. The OpenTelemetry standard aims for providing reference implementations for most programming languages, including C# and JavaScript, that are currently not supported by Kieker. In this work, we describe how to transform OpenTelemetry tracing data into the Kieker framework. Thereby, it becomes possible to create for example call trees from OpenTelemetry instrumentations. We demonstrate the usability of our approach by visualizing trace data of the Astronomy Shop, which is an OpenTelemetry demo application.
academic

Interoperabilità da OpenTelemetry a Kieker: Dimostrata come Esportazione dall'Astronomy Shop

Informazioni Fondamentali

  • ID Articolo: 2510.11179
  • Titolo: Interoperabilità da OpenTelemetry a Kieker: Dimostrata come Esportazione dall'Astronomy Shop
  • Autori: David Georg Reichelt (Lancaster University Leipzig), Shinhyung Yang (Kiel University), Wilhelm Hasselbring (Kiel University)
  • Classificazione: cs.SE (Ingegneria del Software), astro-ph.IM (Strumentazione e Metodi per l'Astrofisica)
  • Data di Pubblicazione: 13 ottobre 2025
  • Link dell'Articolo: https://arxiv.org/abs/2510.11179

Riassunto

Questo articolo affronta il problema dell'interoperabilità tra il framework di osservabilità Kieker e lo standard OpenTelemetry. Sebbene Kieker possieda ricche capacità analitiche, supporta solo un numero limitato di linguaggi di programmazione (Java, C, Fortran, Python), mentre lo standard OpenTelemetry fornisce implementazioni di riferimento per la maggior parte dei linguaggi di programmazione, inclusi C# e JavaScript che Kieker non supporta. L'articolo descrive come convertire i dati di tracciamento OpenTelemetry nel formato del framework Kieker, consentendo così di creare risultati analitici come alberi di chiamate basati sulla strumentazione OpenTelemetry. La fattibilità del metodo è stata verificata attraverso la visualizzazione dei dati di tracciamento dell'Astronomy Shop (applicazione dimostrativa di OpenTelemetry).

Contesto di Ricerca e Motivazione

Definizione del Problema

  1. Limitazioni nel Supporto Linguistico: Il framework Kieker, sebbene fornisca potenti capacità analitiche e caratteristiche a basso overhead, supporta solo linguaggi limitati come Java, C, Fortran e Python
  2. Esigenza di Standardizzazione: OpenTelemetry, come standard di fatto, fornisce implementazioni di agenti per molteplici linguaggi di programmazione, ma non può sfruttare direttamente le capacità analitiche di Kieker
  3. Mancanza di Interoperabilità: Esiste una carenza di meccanismi efficaci di conversione dei dati tra i due framework, limitando l'utilizzo combinato dei rispettivi vantaggi

Importanza della Ricerca

  • Le moderne architetture di microservizi adottano comunemente stack tecnologici multilingue, richiedendo una soluzione di osservabilità unificata
  • I vantaggi a basso overhead di Kieker e il supporto linguistico diffuso di OpenTelemetry sono complementari
  • L'implementazione dell'interoperabilità può massimizzare i vantaggi reciproci dei due framework

Limitazioni dei Metodi Esistenti

  • Mancanza di soluzioni di conversione dei dati da OpenTelemetry a Kieker
  • Le differenze fondamentali tra i concetti di tracciamento asincrono e sincrono creano sfide di compatibilità
  • Gli strumenti esistenti non possono sfruttare il ricco ecosistema di agenti OpenTelemetry mantenendo le capacità analitiche di Kieker

Contributi Principali

  1. Implementazione della conversione del formato dati da OpenTelemetry a Kieker, consentendo l'utilizzo del ricco ecosistema di agenti OpenTelemetry nel framework di analisi Kieker
  2. Risoluzione delle differenze concettuali tra tracciamento asincrono e sincrono, attraverso l'introduzione di un meccanismo di marcatura asincrona per gestire rappresentazioni di flusso di controllo incompatibili
  3. Fornitura di uno schema completo di mappatura dei campi, stabilendo le corrispondenze tra i due formati di dati
  4. Verifica della fattibilità del metodo attraverso il caso di studio dell'Astronomy Shop, dimostrando le capacità di analisi dei dati di tracciamento di applicazioni di microservizi multilingue

Spiegazione Dettagliata del Metodo

Definizione del Compito

Convertire i dati di tracciamento in formato OpenTelemetry (ricevuti tramite gRPC) nel formato del registro di monitoraggio Kieker, consentendo loro di essere elaborati dalla pipeline di analisi Kieker e generare risultati analitici come alberi di chiamate e diagrammi di componenti.

Analisi del Formato dei Dati

Formato dei Dati Kieker

  • Utilizza il linguaggio di registrazione strumentale (IRL) per definire il formato dei dati
  • Strutture di registrazione definite basate su Xtext
  • Supporta tracciamento sincrono, con un solo flusso di esecuzione alla volta
  • Utilizza l'indice dell'ordine di esecuzione (eoi) e la dimensione dello stack di esecuzione (ess) per rappresentare il flusso di controllo

Formato dei Dati OpenTelemetry

  • Formato standard basato sulla serializzazione protobuf
  • Supporta i tre pilastri dell'osservabilità: log, metriche e tracciamento
  • Il tracciamento è composto da span, ciascuno contenente nome, timestamp, attributi, ecc.
  • Supporta tracciamento asincrono, rappresentando il flusso di controllo attraverso relazioni padre-figlio

Metodo di Conversione

Mappatura dei Campi di Base

Stabilisce corrispondenze dirette tra i campi:

  • startEpochNanostin
  • endEpochNanostout
  • namesignature
  • Il nome dell'host viene generato combinando attributi dalle convenzioni semantiche di OpenTelemetry

Strategia di Conversione del Flusso di Controllo

Di fronte alle differenze fondamentali tra tracciamento asincrono e sincrono, sono state proposte quattro soluzioni:

  1. Linearizzazione del Tracciamento: Dispone le chiamate secondo il chiamante, ma aumenta significativamente l'utilizzo delle risorse
  2. Conversione Diretta: Salta il registro di monitoraggio e converte direttamente in ExecutionTrace, ma viola la separazione architettonica di Kieker
  3. Aggiunta di Nuovi Tipi di Registrazione Asincrona: Richiede la riscrittura di numerose pipeline di analisi
  4. Schema di Marcatura Asincrona: Aggiunge marcature asincrone al tracciamento, gestite specialmente durante l'analisi

Infine è stata scelta la soluzione 4, elaborando il tracciamento asincrono in kieker-trace-analysis attraverso il flag --asynchronousTrace.

Punti di Innovazione Tecnica

  1. Gestione della Compatibilità Asincrona: Risolve innovativamente i problemi di compatibilità tra due modelli di tracciamento diversi attraverso un meccanismo di marcatura
  2. Strategia di Mappatura Semantica: Stabilisce relazioni di mappatura intelligenti tra le convenzioni semantiche di OpenTelemetry e i campi di Kieker
  3. Preservazione dell'Architettura: Realizza l'interoperabilità senza compromettere l'architettura originale di Kieker

Configurazione Sperimentale

Applicazione di Test

Utilizza Astronomy Shop come applicazione dimostrativa:

  • Applicazione dimostrativa predefinita di OpenTelemetry
  • Contiene 14 servizi, utilizza 11 linguaggi di programmazione diversi
  • Include servizi .NET e TypeScript che Kieker non può supportare direttamente

Ambiente Sperimentale

  • Astronomy Shop con strumentazione OpenTelemetry abilitata
  • Attivazione di Kieker-otel-transformer per la conversione dei dati
  • Utilizzo degli strumenti di analisi del tracciamento Kieker per la visualizzazione

Metodo di Valutazione

  • Verifica della correttezza della conversione attraverso la generazione di alberi di chiamate
  • Analisi dell'effetto visivo della visualizzazione delle relazioni di chiamata tra servizi multipli
  • Verifica della completezza dei dati di tracciamento tra linguaggi

Risultati Sperimentali

Risultati Principali

La conversione dei dati da OpenTelemetry a Kieker è stata implementata con successo, generando una visualizzazione completa dell'albero di chiamate. La Figura 3 mostra le relazioni di chiamata tra il servizio prodotto e il servizio di raccomandazione, provando l'efficacia del metodo di conversione.

Analisi del Caso

Attraverso l'esecuzione effettiva dell'Astronomy Shop:

  • Cattura con successo le relazioni di chiamata tra servizi multilingue
  • L'albero di chiamate generato mostra chiaramente le relazioni di dipendenza tra servizi
  • Verifica l'utilità pratica del meccanismo di marcatura del tracciamento asincrono

Risultati Sperimentali

  1. Impatto delle Differenze Strutturali: Il modello di tracciamento asincrono di OpenTelemetry e il modello sincrono di Kieker presentano differenze fondamentali
  2. Efficacia del Meccanismo di Marcatura: Lo schema di marcatura asincrona gestisce efficacemente i complessi modelli di chiamata delle applicazioni di microservizi
  3. Supporto Multilingue: Estende con successo il supporto linguistico di Kieker

Lavori Correlati

Principali Direzioni di Ricerca

  1. Elaborazione dei Dati OpenTelemetry: Weber e altri hanno ricercato l'interoperabilità tra OpenTelemetry e Palladio per la previsione delle prestazioni
  2. Compressione dei Dati di Tracciamento: TraceZip propone uno schema di archiviazione compresso per i dati OpenTelemetry, riducendo il fabbisogno di memoria del 33,8%
  3. Trasformazione dei Modelli: Groner e altri hanno ricercato le opinioni degli sviluppatori sulla trasformazione dei modelli di dati

Vantaggi di Questo Articolo

  • Primo lavoro a implementare la conversione da OpenTelemetry a Kieker
  • Capace di eseguire il processo di analisi completo di Kieker
  • Mantiene i vantaggi a basso overhead di Kieker

Conclusioni e Discussione

Conclusioni Principali

  1. Implementazione con successo della conversione dei dati di tracciamento OpenTelemetry nel formato Kieker
  2. Risoluzione dei problemi di compatibilità tra i due modelli di tracciamento attraverso il meccanismo di marcatura asincrona
  3. Estensione delle capacità di supporto linguistico di Kieker, consentendogli di analizzare applicazioni di microservizi multilingue

Limitazioni

  1. Complessità dell'Elaborazione Asincrona: Richiede la specifica manuale della marcatura asincrona, aumentando la complessità d'uso
  2. Differenze Concettuali: Le differenze fondamentali tra i due modelli di tracciamento limitano la compatibilità completa
  3. Considerazioni sulle Prestazioni: L'articolo non analizza in profondità l'overhead di prestazioni del processo di conversione

Direzioni Future

  1. Supporto Nativo Completo: Supporto diretto del formato dati OpenTelemetry in Kieker
  2. Tracciamento Ibrido: Combinazione del basso overhead di Kieker con l'ampia applicabilità di OpenTelemetry
  3. Ottimizzazione delle Prestazioni: Ricerca delle prestazioni di diverse implementazioni di conversione

Valutazione Approfondita

Punti di Forza

  1. Alto Valore Pratico: Risolve il problema dell'interoperabilità tra due importanti framework di osservabilità
  2. Innovazione del Metodo: Il meccanismo di marcatura asincrona risolve innovativamente le differenze nei modelli di tracciamento
  3. Verifica Sufficiente: La fattibilità del metodo è verificata attraverso applicazioni multilingue effettive
  4. Compatibilità Architettonica: Realizza l'estensione senza compromettere l'architettura originale

Carenze

  1. Analisi Teorica Insufficiente: Mancanza di garanzie teoriche sulla correttezza e completezza della conversione
  2. Valutazione delle Prestazioni Mancante: Nessuna analisi dell'overhead di prestazioni del processo di conversione
  3. Gestione dei Casi Limite: Capacità limitata nel gestire scenari asincroni complessi
  4. Esperienza Utente: La necessità di marcatura manuale aumenta la complessità d'uso

Impatto

  1. Contributo Tecnico: Fornisce un importante riferimento per l'interoperabilità dei strumenti di osservabilità
  2. Valore Pratico: Applicabile direttamente agli scenari di monitoraggio dei microservizi esistenti
  3. Significato Ecosistemico: Promuove la collaborazione tra diversi strumenti di osservabilità

Scenari Applicabili

  • Monitoraggio delle prestazioni di architetture di microservizi multilingue
  • Scenari che richiedono la combinazione del supporto diffuso di OpenTelemetry e delle capacità analitiche di Kieker
  • Situazioni in cui gli utenti Kieker esistenti desiderano estendere il supporto linguistico
  • Scenari accademici di ricerca sull'interoperabilità dei strumenti di osservabilità

Riferimenti Bibliografici

L'articolo cita 9 lavori correlati, coprendo importanti ricerche nei campi dei framework di osservabilità, applicazioni di microservizi, trasformazione dei modelli e altri ambiti correlati, fornendo una solida base teorica per la ricerca.


Valutazione Complessiva: Questo è un articolo di software di sistema con forte praticità che risolve il problema dell'interoperabilità tra due importanti framework di osservabilità. Sebbene presenti carenze nell'analisi teorica e nella valutazione delle prestazioni, la soluzione proposta ha un importante valore pratico e fornisce strumenti e metodi preziosi per il campo del monitoraggio dei microservizi.