L’outil Tracealyzer SDK du suédois Percepio, éditeur d’outils de visualisation et d'analyse d’exécution du code (dont les technologies sont distribuées en France par NeoMore), procure désormais aux développeurs la possibilité de créer des extensions personnalisées pour obtenir une observabilité complète des traces pour tous les systèmes C/C++ sur lesquels ils travaillent.
Pour rappel le logiciel Tracealyzer permet une observabilité des traces pour le débogage, la vérification et le profilage des systèmes embarqués. Ses fonctionnalités avancées de visualisation et d'analyse permettent aux développeurs de raccourcir les temps de débogage et de vérifier et optimiser le code embarqué pour garantir un fonctionnement fiable des produits. Tracealyzer est disponible pour plusieurs systèmes d'exploitation temps réel, notamment FreeRTOS, Zephyr et Azure RTOS ThreadX, pour lesquels Percepio fournit et prend en charge le code d'intégration.
A ce niveau, le SDK Tracealyzer de nouvelle génération fournit une solution plus large pour tous les logiciel écrits en C/C++, ce qui permet à davantage de développeurs de profiter des capacités de l’outil, quel que soit le RTOS utilisé. Par exemple, le SDK Tracealyzer a permis d'intégrer récemment le système d’exploitation RTOS PX5 dans la dernière version de Tracealyzer.
Adapté aussi bien aux développeurs d'applications qu'aux développeurs de plateformes sur silicium, de RTOS et de middleware, l’outil autorise notamment une observabilité détaillée non seulement au niveau RTOS et application, mais également pour les packages logiciels de support de carte (BSP, Board Support Package), les pilotes de périphériques et les couches d'abstraction matérielle, facilitant de fait le travail des ingénieurs d'application.
Le SDK Tracealyzer apporte également de la documentation et des exemples de code pour aider les utilisateurs et partenaires de Percepio à créer des intégrations personnalisées pour l’outil TraceRecorder de la société, une bibliothèque de traçage d'événements open source en code source C. Grâce à des appels de fonctions, TraceRecorder assure le profilage et l'optimisation de la charge du processeur, la synchronisation du logiciel et l'allocation dynamique de la mémoire, y compris la prise en charge de l'identification des fuites de mémoire. Des instruments supplémentaires peuvent en outre être ajoutés à n'importe quelle API C/C++ pour la vérification et le débogage de piles de communication, de pilotes et de couches d'abstraction matérielle.
Enfin, le SDK Tracealyzer facilite également l'intégration dans les logiciels automobiles reposant sur Autosar, la prise en charge des exécutables Autosar étant déjà incluse.
A noter que la bibliothèque TraceRecorder n'est pas uniquement destinée à une utilisation en développement mais peut rester active dans les logiciels de production pour analyser les anomalies en fonctionnement sur des équipements déployés sur le terrain. Ce cas d'utilisation est pris en charge par le logiciel DevAlert, la solution connectée au cloud de Percepio pour l'observabilité périphérique à distance. L’idée étant ici de fournir aux développeurs les alertes des appareils sur les anomalies du système, avec des informations de diagnostic détaillées, notamment les traces, les "core dumps" et autres types de données.
« Nos efforts visent avec SDK Tracealyzer à permettre à davantage de développeurs de bénéficier de l'observabilité des traces, commente Johan Kraft, le CTO et fondateur de Percepio. La première étape de cette stratégie a été l'ajout du support "bare metal" indépendant du RTOS dans Tracealyzer v4.7, qui a permis le traçage au niveau de l'application pour n'importe quelle application C/C++. Désormais, le SDK Tracealyzer permet aux développeurs de créer des extensions personnalisées pour une observabilité complète, y compris la prise en compte du RTOS et le traçage des API pour un aperçu approfondi de l'univers d'exécution. »
La bibliothèque TraceRecorder est disponible sur GitHub sous licence Apache 2.0, et le SDK Tracealyzer est disponible sur le site de Percepio et peut être utilisé par tout client Percepio disposant d'un abonnement Tracealyzer actif.