Percepio® DevAlert® 2.0 sorgt mit Core Dumps, individuellen Diagnosefunktionen und der Integration von Third-Party-Tools für uneingeschränkte Edge-Observability
Am 14. und 15. Dezember 2022 findet die IoT Online Conference erneut statt. Percepio wird dort einen interessanten Vortrag halten: "Device Observability and Anomaly Detection"
Eine Geräte-Feedback-Schleife kann ein unschätzbares Werkzeug für die Überwachung der Sicherheit von verteilten Geräten im industriellen Internet der Dinge sein. Sie hilft Entwicklern von Embedded-Systemen, Softwarequalität und Produktleistung zu verbessern.
In der Markt & Technik Heft 41/2022 ist ein interessanter Artikel von Mohammed Billo (MAB Labs embedded solutions) erschienen der einen Weg aufzeigt wie sich Software trotz der aktuellen Lieferkettenprobleme komfortabel entwicklen lässt.
Eine große Hilfestellung dabei ist das Tool devAlert von Percepio.
Der einfache Weg, mit dem sich Anomalien in RTOS-Gerätesoftware umgehend erkennen, Probleme 100-mal schneller beheben und der Einsatz ganzer Geräteflotten effektiv schützen lassen.
Auf dem Portal elektroniknet.de haben Dr. Johan Kraft und Tobias Schlichtmeierl einen interessanten Artikel im Bereich Software-Entwicklung veröffentlicht.
Cloud-basierte Fehlerberichterstattung & Ferndiagnose für IoT-Systeme
Der brandneue Percepio DevAlert™ ein Werkzeug zur einfachen Qualitätssicherung von IoT-Software - hat auf der Embedded World 2019 den "Best in Show Award in der Kategorie Development Tools and Operating Systems des Embedded Computing Design Magazins gewonnen.
Fehlerfreie Software - eine Wunschvorstellung
Seien wir ehrlich - wir können nie sicher sein, dass jede Software frei von Fehlern ist. Im Durchschnitt verbleiben trotz aller Verifikationsaufwände 5% aller bei der Entwicklung von Embedded-Software eingeführten Fehler tatsächlich in der Produktionsfirmware. Für die meisten Produkte ist es praktisch unmöglich, alle möglichen Anwendungsszenarien und Codepfade zu testen - es sind einfach viel zu viele. Sie können immer mehr Zeit und Geld für die Verifikation ausgeben, aber der Aufwand, der erforderlich ist, um die letzten verbleibenden Fehler zu finden, steigt tendenziell exponentiell an und Entwicklungsprojekte haben Zeit- und Budgetbeschränkungen zu erfüllen.
Ein weiteres Problem ist die Validierung. Selbst wenn Sie den gesamten Code nach den besten Methoden testen und alles perfekt zu funktionieren scheint, spiegeln die Anforderungen und Testfälle möglicherweise nicht da Scenario wider, wie Ihre Kunden das Produkt in der Praxis einsetzen werden.
Der eigentliche Test kommt, wenn Tausende von Menschen anfangen, Ihr Produkt zu benutzen, in einer Weise, die Sie nie erwartet haben. Wird es den Test der Praxis bestehen?
Noch vorhandene Bugs können Ihre Kunden zumindest irritieren, Ihren Ruf schädigen aber auch den Umsatz beeinträchtigen. In einigen Fällen können Fehler sogar zu Unfällen, Produktrückrufen und rechtlichen Schritten führen. Der Aufstieg des Internet of Things (IoT) macht die Qualitätssicherung der Firmware noch schwieriger, aber IoT bietet auch ein neues Mittel - Over-the-Air (OTA) Software-Updates.
Wenn Sie das Problem beheben und die ausgelieferten Geräte schnell aktualisieren, sind Ihre Kunden zufriedener und bemerken das Problem möglicherweise nicht einmal. Sie können jedoch keine Fehler beheben, die Ihnen nicht bekannt sind. Automatisches Feedback ist erforderlich, um die Entwickler auf Firmware-Probleme in den eingesetzten Produkten aufmerksam zu machen
Automatische Fehlerreports innerhalb von Sekunden
Der Percepio DevAlert™ (früher Device Firmware Monitor™(DFM)) - ein Werkzeug zur einfachen Qualitätssicherung von IoT-Software - hat auf der Embedded World 2019 den "Best in Show Award in der Kategorie Development Tools and Operating Systems des Embedded Computing Design Magazins gewonnen.), ein bahnbrechender neuer Cloud-Service für IoT Produkte, der Sichtbarkeit für Firmware-Probleme bei Geräten im Feld erzeugt und die Fehlerbehebung beschleunigt. Wenn ein Firmware-Problem erkannt wurde, benachrichtigt DevAlert die Entwickler innerhalb von Sekunden und stellt Diagnoseinformationen über das Problem zur Verfügung, einschließlich eines Traces für den Percepio Tracealyzer. Dies zeigt, was im Code vor sich ging, als der Fehler auftrat und was davor ausgeführt wurde. Das macht es wesentlich einfacher, das Problem zu verstehen und schnell eine Lösung zu finden.
Ohne automatisches Feedback verlassen Sie sich darauf, dass Ihre Kunden alle Probleme melden, eine Aufgabe der sie nicht zugestimmt haben. Dann hören Sie vielleicht erst dann von den Problemen, wenn es zu spät ist, wenn viele Kunden bereits betroffen sind. Darüber hinaus kann von Ihren Endbenutzern nicht erwartet werden, dass sie ausreichend detaillierte Informationen liefern, damit Sie das Problem schnell identifizieren und lösen können. Ein vager Fehlerbericht wie "der Bildschirm wurde schwarz" kann wochenlanges Rätseln erfordern, bis Sie eine mögliche Ursache finden, und selbst dann wissen Sie immer noch nicht, ob Sie wirklich das richtige Problem gelöst haben. Stellen Sie sich vor, wie viel Zeit bei der Fehlersuche eingespart werden könnte, wenn Sie stattdessen Zugriff auf detaillierte Diagnoseinformationen zu jedem Problem in der Produktionssoftware hätten.
DevAlert™ wurde entwickelt, um bestehende sichere Lösungen für Cloud-Konnektivität, Storage und OTA-Updates zu nutzen. DevAlert unterstützt zunächst Amazon Web Services (AWS IoT Core) und Amazon FreeRTOS, aber die Unterstützung weiterer Plattformen ist geplant und kann auf Anfrage bereitgestellt werden.
Informationsfluß Percepio DevAlert™
Die Warnung enthält auch eine Aufzeichnung der letzten Softwareereignisse vor dem Problem, die automatisch vom DevAlert-Agenten aufgezeichnet wird. Diese Tracing-Technologie basiert auf 15 Jahren Erfahrung im RTOS-Tracing und ist 4-8x speichereffizienter als herkömmliche RTOS-Tracer - nur 4 KB werden benötigt, um einen Trace mit bis zu 1000 Ereignissen zu speichern. Die effiziente Trace-Codierung ist aus zwei Gründen sehr wichtig - sie ermöglicht das Sammeln von ausreichend langen Traces auch aus speicherbegrenzten IoT-Systemen und minimiert die Cloud-Side-Betriebskosten von DevAlert-Messaging und -Speicherung.
Die Benachrichtigungen des DevAlert-Firmwareagenten werden in den Cloud-Service des Kunden (AWS IoT Core) hochgeladen, der so konfiguriert ist, dass er die Benachrichtigungen speichert (Amazon S3) und auch die Percepio DevAlert Classification Engine benachrichtigt. Dieser Service ist das Herzstück der DevAlert-Lösung und läuft im AWS-Konto von Percepio. Es ist verantwortlich für die Klassifizierung, Statistiken und Benachrichtigungen an die Entwickler. Außerdem bietet es Konfigurationsoptionen für DevAlert, z.B. unter welchen Bedingungen Benachrichtigungen gesendet werden sollen und wohin sie gesendet werden sollen.
Der Software-Trace verlässt nie das Cloud-Konto des Kunden. Nur eine anonymisierte Signatur des Problems wird der DevAlert Classification Engine zur Verfügung gestellt und diese Informationen sind für den Kunden völlig transparent und konfigurierbar.
Wenn die Entwickler eine Benachrichtigung über einen neuen DevAlert-Alarm erhalten, können sie direkt aus Tracealyzer auf die Alarme und Traces zugreifen. Das DevAlert Dashboard in Tracealyzer zeigt die letzten Warnungen an und ermöglicht eine High-Level-Analyse, z.B. wenn ein bestimmtes Problem durch Ihre neueste Firmware-Version behoben wurde. Darüber hinaus können die Traces dank der integrierten Integration von Tracealyzer mit Amazon S3 direkt aus dem DevAlert Dashboard geöffnet werden.
Cloudseitige Betriebskosten
DevAlert™ erzeugt keinen Datenverkehr, es sei denn, es wird ein Problem erkannt. Wenn Sie also keine unerkannten Fehler in Ihrem Code haben, gibt es keine kostenintensive DevAlert-Aktivität. Sie müssen die Benachrichtigungen für einige Zeit speichern, aber aufgrund der geringen Datenmenge pro Benachrichtigung (typischerweise 5 KB) und des günstigen Cloud-Speichers ist dies ein vernachlässigbarer Kostenfaktor. Insbesondere im Vergleich zum Wert der bereitgestellten Informationen. Angenommen, Sie haben eine große Flotte von einer Million Geräten mit vielen Firmware-Problemen - sagen wir 1 Alarm pro Gerät und Woche im Durchschnitt, und jeder Alarm ist 5 KB groß. Dies würde etwa 260 GB pro Jahr ergeben. Die Speicherung dieser Daten für ein Jahr würde bei einem Amazon S3-Standardspeicher etwa 72 US-Dollar kosten. Da aber die meisten Daten nach kurzer Zeit gelöscht werden können, z.B. Duplikate desselben Problems von verschiedenen Geräten, kann der Speicherbedarf auf einen Bruchteil dieses Niveaus reduziert werden.
Die Versendung von OTA-Updates als Reaktion auf DevAlert-Warnungen kann erhebliche Kosten verursachen, aber dies muss mit den alternativen Kosten verglichen werden, die entstehen, wenn der Fehler nicht behoben wird, z.B. durch beschädigte Kundenerfahrung, reduzierte Produktverkäufe oder sogar Unfälle und rechtliche Schritte. Wie viel würde das kosten? Und bei kleineren Problemen können Sie abwarten, ob weitere Probleme gemeldet werden, und dann ein einziges Update mit allen Korrekturen durchführen.
“Percepio’s DevAlert™ is a game-changer in that it enables instant feedback from systems deployed in the field, to ensure your firmware quality is constantly improving.” Jack Ganssle, Principal Consultant, TGG
“Percepio’s DevAlert™ is early to the market and original. IoT developers need this sort of direct feedback from their deployed systems.” William E. Lamie, President, Express Logic
Unterstützen Sie Ihre Softwareentwicklung mit visueller Trace-Diagnose!
Tracealyzer bietet eine neue intuitive Möglichkeit für den Softwareentwickler das Echtzeitverhalten von embedded Echtzeit-Software-Systeme zu analysieren. Sie finden damit Probleme schneller, vermeiden diese und optimieren die Performance Ihres System schnell und einfach.
Tracealyzer unterstützt das kontinuierliche Trace Streaming und ermöglicht so ein praktisch unbegrenztes Tracing von Task-Scheduling-Abläufen, Interrupts und Applikations-Logging. Das Trace Streaming wird durch Debugg Probes (SEGGER J-Link, KEIL ULINK) ermöglicht, was auf ARM Cortex-M- und Renesas RX-Mikrocontrollern ein hohes Performance-Niveau ermöglicht. Unterstützt wird das Trace Streaming auch über Netzwerkverbindungen, USB und an die Dateisysteme von Geräten mit beliebigen, vom RTOS unterstützten Prozessoren.
Unterstützt werden FreeRTOS + Amazon FreeRTOS + SAFERTOS, Micrium µC/OS-III, On Time RTOS-32, ARM KEIL RTX5, Microsoft Azure RTOSThreadX, Synopsys EV6x OpenVX, Zephyr, PX5
Unterstützen Sie Ihre Softwareentwicklung mit visueller Trace-Diagnose!
Tracealyzer von Percepio bietet eine neue intuitive Möglichkeit das Verhalten von Linux basierten Systemen im Detail zu analysieren. Sie finden damit Probleme schneller, vermeiden diese und optimieren die Performance Ihres Systems schnell und einfach.
Unterstützen Sie Ihre Softwareentwicklung mit visueller Trace-Diagnose!
Tracealyzer von Percepio bietet eine neue intuitive Möglichkeit das Echtzeitverhalten von Wind River VxWorks (ab 5.5) basierten Systemen zu analysieren. Sie finden damit Probleme schneller, vermeiden Probleme und optimieren die Performance Ihres Systems schnell und einfach.