How to plot performance data based on process ID?

2 Ansichten (letzte 30 Tage)
Igenyar
Igenyar am 4 Apr. 2023
Kommentiert: Igenyar am 4 Apr. 2023
I have the following performance data. Column 1 is time, Column 2 is the process ID and Column 3 is CPU usage. First, I want to plot by each process ID but I don't want to hard code the process ID because I like to run it over multiple machines. Second, I want to plot a total usage. That is, at each time, add all the CPU together across all process ID's. Thank you for the help.
1680569427 83321 73.3
1680569427 83325 0.0
1680569427 83326 0.0
1680569427 83327 0.0
1680569427 83328 0.0
1680569427 83329 0.0
1680569427 83331 0.0
1680569427 83332 0.0
1680569427 83333 0.0
1680569427 83334 0.0
1680569427 83335 0.0
1680569427 83336 0.0
1680569429 83321 40.0
1680569429 83325 0.0
1680569429 83326 0.0
1680569429 83327 0.0
1680569429 83328 0.0
1680569429 83329 0.0
1680569429 83331 0.0
1680569429 83332 0.0
1680569429 83333 0.0
1680569429 83334 0.0
1680569429 83335 0.0
1680569429 83336 0.0
1680569431 83321 86.7
1680569431 83326 6.7
1680569431 83327 6.7
1680569431 83325 0.0
1680569431 83328 0.0
1680569431 83329 0.0
1680569431 83331 0.0
1680569431 83332 0.0
1680569431 83333 0.0
1680569431 83334 0.0
1680569431 83335 0.0
1680569431 83336 0.0

Akzeptierte Antwort

VBBV
VBBV am 4 Apr. 2023
Bearbeitet: VBBV am 4 Apr. 2023
Data = [1680569427 83321 73.3
1680569427 83325 0.0
1680569427 83326 0.0
1680569427 83327 0.0
1680569427 83328 0.0
1680569427 83329 0.0
1680569427 83331 0.0
1680569427 83332 0.0
1680569427 83333 0.0
1680569427 83334 0.0
1680569427 83335 0.0
1680569427 83336 0.0
1680569429 83321 40.0
1680569429 83325 0.0
1680569429 83326 0.0
1680569429 83327 0.0
1680569429 83328 0.0
1680569429 83329 0.0
1680569429 83331 0.0
1680569429 83332 0.0
1680569429 83333 0.0
1680569429 83334 0.0
1680569429 83335 0.0
1680569429 83336 0.0
1680569431 83321 86.7
1680569431 83326 6.7
1680569431 83327 6.7
1680569431 83325 0.0
1680569431 83328 0.0
1680569431 83329 0.0
1680569431 83331 0.0
1680569431 83332 0.0
1680569431 83333 0.0
1680569431 83334 0.0
1680569431 83335 0.0
1680569431 83336 0.0];
PID = Data(:,2);
Usage_CPU = Data(:,3);
Time = datetime(Data(:,1),'ConvertFrom','posix')
Time = 36×1 datetime array
04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:27 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:29 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31 04-Apr-2023 00:50:31
subplot(211)
plot(Time, PID); title('Process ID')
subplot(212)
plot(Time, cumsum(Usage_CPU)); title('Total CPU usage')
  4 Kommentare
VBBV
VBBV am 4 Apr. 2023
Bearbeitet: VBBV am 4 Apr. 2023
Since there are only three process ID (PID) with finite CPU usage time in the given data, the % data appears highly skewed. PID 26 & 27 have same usage time hence, the lines overlap in the graph, while PID 21 is somewhat different. If all the PIDs have finite and different usage times, then it would produce graph similar to what you have shown.
Igenyar
Igenyar am 4 Apr. 2023
Exactly what I want, thank you so much for the help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by