概要
Percepio Tracealyzer は、RTOS や Linux のランタイム挙動を可視化するトレース解析ツールです。ターゲットに軽量な計測ライブラリ(TraceRecorder)を組み込み、タスク切替・カーネルAPI呼出・ブロッキング・タイムアウト等のイベントを記録します。
30以上のグラフィカルビューで、CPU負荷、スタック/ヒープ使用量、タスク間の依存関係(通信フロー)などを多角的に解析できます。デバッグを最大10倍高速化した事例があり、BMW・ABB・Endress+Hauser 等が採用しています。
スナップショット(RAMバッファ)とストリーミング(長時間記録)の両モードに対応し、J-Link RTT・ITM・TCP/IP・USB CDC 等で転送できます。
主要仕様
| 可視化 | 30+ ビュー(トレース/CPU負荷/スタック/通信フロー 他) |
|---|---|
| 対応OS | FreeRTOS / Zephyr / ThreadX / µC/OS-III / PX5 / VxWorks / Linux 他 |
| 取得方式 | スナップショット/ストリーミング |
| 転送 | J-Link RTT / ITM / SWO / TCP/IP / UDP / USB CDC |
| ホスト | Windows / Linux(x86-64) |
| 拡張 | Tracealyzer SDK で任意のC/C++・RTOSに統合可能 |
主要機能
Tracealyzer の主要な可視化機能を、実際の解析画面とともにご紹介します。各機能がどんな不具合の発見に役立つかまでを明記しています。これらのビューは全ての対応OSで共通です。

タスク実行トレース
タスク/スレッド・割込み・カーネルAPI呼出・ユーザイベントを時系列のタイムラインで可視化。スケジューリングが意図通りかを一目で確認でき、優先度逆転・想定外のプリエンプション・タスクの取りこぼしを発見できます。

CPU負荷グラフ
タスク/割込みごとのCPU使用率と総負荷を時系列で表示。負荷の高いホットスポットを特定して最適化の的を絞れるほか、負荷スパイクから処理の詰まり・ビジーループ・割込み過多を突き止められます。

カーネル・アウェアネス
セマフォ・ミューテックス・メッセージキュー・イベントフラグなどRTOSオブジェクトの状態遷移(Running/Ready/Blocked/Waiting)を可視化。どのタスクがどの資源で待たされているかが分かり、デッドロック・長時間ブロック・優先度逆転の原因特定に直結します。

ヒープ/スタック解析
動的メモリ確保(malloc/free)とタスク別スタック使用量の推移を表示。右肩上がりのヒープ推移からメモリリークを、スタックの余裕不足からスタックオーバーフローの予兆を早期に発見でき、断片化の傾向も掴めます。

通信フロー/シーケンス
スレッド間のIPC・同期イベントの相互作用をシーケンス図で集約表示。どのタスクが特定のキューやセマフォを介してやり取りしているかを俯瞰でき、想定外の依存関係・過剰なメッセージ往復・同期の取りこぼしを可視化します。

トレース統計・タイミング
実行時間・応答時間・周期などのタイミング指標を統計化し、性能グラフとともに表示。最大・最小の外れ値をクリックすると該当ジョブへドリルダウンでき、ワーストケースのレイテンシやジッタ、周期の乱れといった問題箇所へ即座に到達できます。

システム構成
アプリケーション・カーネル・ドライバ・ハードウェアの階層構造を俯瞰。システム全体の見通しを得られ、各層の関係を把握することで、問題がどの層で起きているかの切り分けを助けます。

ユーザイベント/ライブ
ユーザイベントで記録した任意データを時系列で表示し、J-Link RTT・ITM・TCP/IP・UDP等で長時間トレースをリアルタイム表示(printfの数百倍高速)。スナップショット方式にも対応し、再現性の低い間欠不具合を長時間ストリーミングで捕捉できます。
全機能一覧(可視化ビュー・一般機能)
Tracealyzer は RTOS対応のイベントトレースを提供し、トレース可視化のリーダーとして知られています。多数のビジュアル概観がシステム挙動の全体像を示し、異常が一目で分かります。ビューは相互にリンクされ、ダブルクリックで詳細へドリルダウンできます(ホストは Windows / Linux x86-64 対応)。代表的なビューの実画面は上の「画面で見る」でご確認いただけます。
スレッド実行・割込みハンドラ・カーネルAPI呼出・ユーザイベントをタイムラインで表示。スレッドが期待通り動作し、優先度が適切かを確認できます。
各タスク/スレッド・割込みハンドラのCPU使用時間と総使用率を表示。最適化効果が最も大きいホットスポットを特定できます。
記録されたカーネルイベント・ユーザイベントの一覧。検索・フィルタが容易で、ダブルクリックでトレースビュー上の該当箇所を強調表示。
スレッド間のIPC・同期イベントの相互作用を集約表示。特定のRTOSオブジェクト(mutex・セマフォ・キュー)を使うスレッドを把握できます。
ユーザイベントで記録したデータを時系列プロットで可視化。ユーザイベントによるログはprintfの数百倍高速で、低オーバーヘッドの大量ログが可能です。
動的メモリ確保(malloc/free)の推移を表示。ヒープサイズの最適化やメモリリークの確認に。ダブルクリックで該当確保箇所へ。
各スレッドの未使用スタック量を時系列プロット。スタックオーバーフローを避けつつ、RAMの無駄も抑える安全マージンを確認できます。
スレッドのジョブ単位で最大実行時間・応答時間などを表示。極値をダブルクリックすると該当ジョブへ移動し、レイテンシのボトルネックを特定。
ジョブ単位で実行時間・応答時間・周期などをプロット。信頼性とテスト容易性に重要なタイミング変動を俯瞰できます。
コード中の2イベント間の時間を、スレッドや割込みをまたいで計測・可視化。統計レポートと変動プロットを生成。
記録した状態遷移をトレースビューと状態遷移図で可視化。状態はインターバルと同様にプロファイル可能。
単一スレッド内のコード区間(重要関数・switch分岐等)をプロファイル。プリエンプションを除いたスレッド内の実行時間を把握。
スレッドタイミング・カスタムインターバル・状態・ランナブルのレポートを生成・出力。Min/Max値クリックで該当インスタンスを表示。
IPCメッセージ遅延・IPCブロッキング時間・動的優先度変更・キュー使用率・サービスコール頻度など各種指標をプロット。
イベントログフィルタや Ctrl-F の自動補完で高速検索。FinderウィンドウではSQL風クエリで全一致を列挙し、ダブルクリックで強調表示。
対応OS・プラットフォーム
| あらかじめ同梱される対応OS | FreeRTOS / Zephyr / ThreadX(Eclipse ThreadX)/ PX5 RTOS / SafeRTOS / LynxOS-178 / VxWorks / Linux |
|---|---|
| ベアメタル | RTOS不使用のC/C++プロジェクトでも計測可能(Bare-Metal オプション) |
| その他OSの拡張 | Tracealyzer SDK により他OS統合やフルスタック可観測性の拡張が可能 |
| 計測ライブラリ | Percepio TraceRecorder(GitHub・Apache 2.0)。カーネル改変不要、再ビルドのみ |
| 対応プロセッサ | STM32 / NXP i.MX RT / Xilinx Zynq / その他 Arm デバイス / ESP32 ほか。32bit MCU〜64bitマルチコアSoC |
| コンパイラ | GCC / Clang / IAR Embedded Workbench など任意のC/C++コンパイラ |
| ツール連携 | Arm Keil µVision / IAR / Segger J-Link / STM32CubeIDE / Espressif ESP-IDF / Lauterbach |
| SMP | マルチコアSMP(単一カーネルが複数コア管理)の統合トレースに対応 |
導入ガイド(プラットフォーム別)
Tracealyzer をインストール後、ターゲットに計測を追加します。多くは Percepio TraceRecorder ベースで、数分で統合できます。ご利用のプラットフォームに合わせて、以下のガイドが用意されています。
| Bare Metal | RTOS不使用のC/C++プロジェクト向け |
|---|---|
| FreeRTOS(標準) | 標準的なFreeRTOS統合 |
| FreeRTOS ESP-IDF(ESP32) | Espressif ESP32/ESP-IDF 向け |
| Linux(LTTng) | Linuxシステムのトレース |
| ThreadX | Eclipse ThreadX 向け |
| PX5 RTOS | PX5 RTOS 向け |
| Wind River VxWorks(wvLib) | VxWorks 向け |
| Zephyr | Zephyr RTOS 向け |
| ホスト環境 | Windows / Linux 対応(macOS は未対応)。インストール後、ライセンスキーで有効化 |
| 統合方式 | スナップショット(ターゲットRAMのリングバッファ)/ ライブストリーミング(連続転送) |
データ取得・ストリーミング
| モード | スナップショット(RAMバッファ)/継続ストリーミング |
|---|---|
| 転送IF | J-Link RTT / ITM / SWO / TCP/IP / UDP / USB CDC |
| 高速化 | UDPストリーミング(TCP比 高スループット・低負荷、v4.7〜) |
| コンパクトログ | 文字列をアドレス参照で記録しELFで解決(低オーバヘッド) |
| デバッガ | SEGGER J-Link / IAR I-jet / Keil ULINK |
計測API(使い方)
| カーネル計測 | 既存フックへ軽量計装を追加(タスク切替・API・ブロッキング) |
|---|---|
| ユーザイベント | C APIで変数値・状態・区間を記録(printf比 数百倍高速) |
| runnable | AUTOSAR runnable トレースでECUプロファイリング(v4.7〜) |
| 状態機械 | ステートマシン・カスタム区間をTraceRecorder APIで明示計測 |
製品エディション
| Percepio View | 基本トレースビュー(無償エントリ) |
|---|---|
| Percepio Profile | View+J-Link RTTストリーミング+プロファイリング |
| Tracealyzer | 全機能(長時間トレース・全ストリーミング方式・全解析) |
ライセンスモデル
Tracealyzer は年間サブスクリプションで提供されます。いずれのサブスクリプションにも、テクニカルサポート・保守更新・メジャーバージョンアップグレードが期間中無償で含まれます。
| シングルユーザー | 1開発ワークステーションにロックされるノードロック・ライセンス。個人・小規模チームに最適。1年間有効で、サポート・ソフトウェア更新を含む。 |
|---|---|
| フローティング・サーバー | チームで共有するライセンス(同時利用者数の上限あり)。ローカルのライセンスサーバー(PercepioLM/Windows・Linux)またはクラウドの Percepio License Service(PLS)で管理。 |
| アカデミック | 教育・学術研究向けの非商用ライセンス(要問い合わせ)。フル機能・更新無制限。 |
| 評価版 | フル機能の期間限定評価が可能。評価期間終了後は機能限定の Free Edition(Percepio View 相当)が自動で有効化。 |
| Detect のライセンス | Percepio Detect は年間フローティング・サーバー・サブスクリプション。接続テストターゲット数に応じた容量ティアを用意。 |
開発ツール連携
| IDE | Eclipse/GDB・STM32CubeIDE・Keil MDK・IAR EWARM・Lauterbach |
|---|---|
| VS Code | Percepio TraceExporter for VS Code(スナップショット出力) |
| ホストOS | Windows / Linux(x86-64) |
| 採用例 | BMW / ABB / Endress+Hauser / WITTENSTEIN 他 |
主な用途
- RTOS / Linux 上のタスク切り替え・割込みの実行順序と所要時間を可視化する
- RTOS / Linux を用いた機器で、優先度逆転・デッドロック・応答遅れの原因を特定する
- まれにしか再現しない不具合を、記録から追跡する
導入メリット
- RTOS / Linux 向けに用意されており、計装の実装工数が小さい
- ソースコードを読むだけでは分からない実行時の挙動が見える
- 止めると消えるタイミング不具合を、動かしたまま追える
よくある質問
Tracealyzer の見積もり・技術相談はできますか?
この製品が含まれるソリューション
この製品は、複数製品を組み合わせた次の構成の要素です。構成全体での位置づけは各ソリューションページをご覧ください。
- RTOS 可観測性・ランタイム解析 — この製品の役割: 中核ランタイム可視化 × トレース取得 × 出荷後の異常検知
関連製品
お問い合わせ
対象MCU・数量・安全要件などをお聞かせください。最適な構成と概算をご提案します。
Tracealyzer — ランタイム可視化のリーダー
Percepio の全製品を見る →