Optimiser les performances d’un système ou d’un objet connecté n’est pas chose aisée surtout lorsqu’il s’agit d’un équipement qui ne dispose pas forcément d’une interface utilisateur. Jusqu’alors, les développeurs devaient ...généralement instrumenter manuellement leur application afin de détecter, lors de l'exécution, les threads qui consomment le plus de ressources au niveau du processeur et de la mémoire, de repérer ceux qui, au contraire, sont bridés faute de ressources disponibles, et de vérifier le débit effectif sur le réseau, la quantité de paquets émis/reçus/réémis et l’usage de la zone mémoire réservée au stockage temporaire des paquets. « Cette tâche fastidieuse peut nécessiter des mois de travail, note William Lamie, président d’Express Logic. Avec ViewX, nous mettons un terme à cet état de fait. Cet outil d’analyse des performances en temps réel est particulièrement bien adapté aux besoins des systèmes de l’Internet des objets où l’optimisation des fortes activités réseau est critique pour la réussite d’un projet. »
Dévoilé à l’occasion d’Embedded World 2015, ViewX est utilisable sur des environnements 32 bits basés sur l’OS temps réel libre de redevances ThreadX et la pile de protocoles TCP/IP NetX de l’éditeur américain. Tournant sur un PC, l’outil offre une visibilité sur les événements système en affichant, sous la forme de graphiques ou de tableaux (voir illustration ci-dessous), les données récupérées sur la cible par un agent logiciel (un simple thread en code Ansi C en l’occurrence).
Spécifiées par l’utilisateur et récupérées de façon périodique ou à la demande, trois types de données (utilisation du CPU, utilisation de la mémoire et métriques réseau) sont rapatriées vers le PC hôte via une liaison Wi-Fi, Ethernet, USB, UART ou JTAG. Ces données peuvent également y être stockées pour une analyse ultérieure. Avec les résultats obtenus, le développeur a alors la possibilité d’optimiser en toute connaissance de cause les priorités des threads les plus consommateurs de ressources et d’allouer les zones mémoire au plus juste.
ViewX, qui peut également récupérer les fichiers de trace afin de travailler de concert avec l’outil d’analyse TraceX de l’éditeur, supporte plus d’une vingtaine d’architectures de processeur 32 bits (ARM, Mips, Tensilica, ARC, etc.). Sa disponibilité est prévue dans le courant du second trimestre.