xref: /aosp_15_r20/external/bcc/examples/cpp/pyperf/PyPerfLoggingHelper.cc (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard Worker /*
2*387f9dfdSAndroid Build Coastguard Worker  * Copyright (c) Facebook, Inc.
3*387f9dfdSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License")
4*387f9dfdSAndroid Build Coastguard Worker  */
5*387f9dfdSAndroid Build Coastguard Worker 
6*387f9dfdSAndroid Build Coastguard Worker #include <cstdarg>
7*387f9dfdSAndroid Build Coastguard Worker #include <cstdio>
8*387f9dfdSAndroid Build Coastguard Worker 
9*387f9dfdSAndroid Build Coastguard Worker #include "PyPerfLoggingHelper.h"
10*387f9dfdSAndroid Build Coastguard Worker 
11*387f9dfdSAndroid Build Coastguard Worker namespace ebpf {
12*387f9dfdSAndroid Build Coastguard Worker namespace pyperf {
13*387f9dfdSAndroid Build Coastguard Worker 
14*387f9dfdSAndroid Build Coastguard Worker static uint64_t setVerbosityLevel = 0;
15*387f9dfdSAndroid Build Coastguard Worker 
setVerbosity(uint64_t verbosityLevel)16*387f9dfdSAndroid Build Coastguard Worker void setVerbosity(uint64_t verbosityLevel) {
17*387f9dfdSAndroid Build Coastguard Worker   setVerbosityLevel = verbosityLevel;
18*387f9dfdSAndroid Build Coastguard Worker }
19*387f9dfdSAndroid Build Coastguard Worker 
logInfo(uint64_t logLevel,const char * fmt,...)20*387f9dfdSAndroid Build Coastguard Worker void logInfo(uint64_t logLevel, const char* fmt, ...) {
21*387f9dfdSAndroid Build Coastguard Worker   if (logLevel > setVerbosityLevel) {
22*387f9dfdSAndroid Build Coastguard Worker     return;
23*387f9dfdSAndroid Build Coastguard Worker   }
24*387f9dfdSAndroid Build Coastguard Worker 
25*387f9dfdSAndroid Build Coastguard Worker   va_list va;
26*387f9dfdSAndroid Build Coastguard Worker   va_start(va, fmt);
27*387f9dfdSAndroid Build Coastguard Worker   std::vfprintf(stderr, fmt, va);
28*387f9dfdSAndroid Build Coastguard Worker   va_end(va);
29*387f9dfdSAndroid Build Coastguard Worker }
30*387f9dfdSAndroid Build Coastguard Worker 
31*387f9dfdSAndroid Build Coastguard Worker }  // namespace pyperf
32*387f9dfdSAndroid Build Coastguard Worker }  // namespace ebpf
33