Component Performance Monitoring
Overview
This component demonstrates how to integrate the PERFORM Library into an IguanaX component for real-time performance tracking. It showcases CPU load, wall execution time, and memory footprint monitoring for simulated workloads.
Scenario Examples
-
CPU-bound computation (busy loop)
-
Memory allocation and garbage collection tracking
-
Sleep/IO wait simulation
-
Mixed workloads with combined CPU, sleep, and memory usage
-
Real-time performance report on the component card
Expected Output (Component Card)
cpu.busy~300ms exeTime: 0s cpu~: 7.5% mem:0.26MB (mem Δ+ 0.09MB)
mem.grow~1.5MB exeTime: 0s cpu~: 0.2% mem:0.35MB (mem Δ+ 0.09MB)
sleep~1200ms exeTime: 1s cpu~: 0.1% mem:0.35MB (mem Δ+ 0.00MB)
mem.churn~2MB.free exeTime: 0s cpu~: 0.8% mem:0.29MB (mem Δ+ 0.00MB)
mixed.small exeTime: 0s cpu~: 2.0% mem:0.24MB (mem Δ+ 0.00MB)
![]()
How to Use
-
Import PERFORM library
-
Adjust GC and core count with
PERset{}to match your environment. -
Trace code sections with
PERbegin(<process name>)andPERend(<process name>). -
Call
PERreport("status")to display metrics on the component card,PERreport("status")to log metrics in the component logs, orPERreport()to see the results in the Translator annotations as a well-formatted string.
Tips
-
For
PERreport():-
Use the
"status"output type in production to visualize real-time component performance. -
Use
"log"output mode for detailed logging during QA or load testing.
-
-
For long-running operations, add multiple
PERbegin/PERendsections to isolate slow areas. -
Combine with Iguana's built-in logs for deeper insight into throughput and resource usage.