You can run the measurement analysis sample to monitor latency measurements collected from a real-time application, and print only the measurements that exceed the deadline. The real-time application must be instrumented with measurement library APIs.
In this mode, the analysis sample runs the instrumented application, attaches to the shared memory buffer, and starts reading the latency data that the instrumented application placed there. The analysis sample compares the data to the deadline and prints the measurements that exceeded the deadline. After the application is finished, the analysis sample also stops. This type of analysis is called “online” monitoring. This means that the results are constantly read from the shared memory buffer where they are placed by the instrumented application.
The analysis sample monitors the specified measurement instances from the real-time application. A
refers to the measurement library APIs that you have added to your application to measure the latency of the real-time cycle or any part of it. For more information about instrumenting your code with measurement library APIs, see Instrument the Code
From your host system, connect to the target system:
In the SSH session
, run the sample:
tcc_measurement_analysis_sample monitor "Multiplication:10:3500" -deadline-only -time-units us -- tcc_multiple_measurements_sample --approximation 10000 --multiplication 100 --iterations 5
This argument specifies the measurement instance to collect:
“Multiplication” is the measurement name defined in the
call in the
“10” is the maximum number of measurements that can be stored for this measurement instance.
“3500” is the deadline in the time unit specified in
This argument has the same format as the
environment variable. See Control Data Collection
The output will display results in microseconds, and the deadline is specified in microseconds
Print only measurements that exceed the deadline
Separates the measurement analysis sample command from the real-time application command. For more information about the command-line options of
, see Command-Line Options
Feel free to edit the deadline value to see more or fewer deadline violations. For example, if the previous step did not generate any deadline violations, you can lower the deadline to try to generate deadline violations.
The sample prints the output of the profiled application and the
The profiling output includes the following:
Table of measurement results that exceeded the deadline. Each row represents one measured value. Of the 5 measurements in this example, 1 exceeded the deadline.
Summary for each measurement instance:
Count of read data: Number of measurements that the analysis sample read from the shared memory buffer
Deadline violations: Number of measurements that exceeded the deadline
Monitoring "Multiplication" with deadline 3500 us.
Multiplication 3799 Latency exceeding deadline
[Multiplication] Count of read data: 5 (deadline violations: 1)
Running with arguments:
approximation = 10000,
multiplication = 100,
iterations = 5
Running workloads. This may take a while, depending on iteration values.
Workloads were run successfully.