@@ -278,6 +278,7 @@ int main(int argc, char * argv[])
278
278
cerr << " \n " ;
279
279
280
280
double delay = -1.0 ;
281
+ int pid{ -1 };
281
282
char * sysCmd = NULL ;
282
283
char ** sysArgv = NULL ;
283
284
int cur_event;
@@ -286,6 +287,8 @@ int main(int argc, char * argv[])
286
287
MainLoop mainLoop;
287
288
string program = string (argv[0 ]);
288
289
290
+ parsePID (argc, argv, pid);
291
+
289
292
PCM * m = PCM::getInstance ();
290
293
const size_t numCtrSupported = m->getMaxCustomCoreEvents ();
291
294
switch (m->getCPUModel ())
@@ -313,6 +316,12 @@ int main(int argc, char * argv[])
313
316
print_usage (program);
314
317
exit (EXIT_FAILURE);
315
318
}
319
+ else if (isPIDOption (argv))
320
+ {
321
+ argv++;
322
+ argc--;
323
+ continue ;
324
+ }
316
325
else if (strncmp (*argv, " -csv" , 4 ) == 0 ||
317
326
strncmp (*argv, " /csv" , 4 ) == 0 )
318
327
{
@@ -442,7 +451,9 @@ int main(int argc, char * argv[])
442
451
cerr << " No RTM support detected, but -F found as argument, running anyway.\n " ;
443
452
}
444
453
445
- PCM::ErrorCode status = m->program (PCM::EXT_CUSTOM_CORE_EVENTS, &conf);
454
+ print_pid_collection_message (pid);
455
+
456
+ PCM::ErrorCode status = m->program (PCM::EXT_CUSTOM_CORE_EVENTS, &conf, false , pid);
446
457
m->checkError (status);
447
458
448
459
print_cpu_details ();
0 commit comments