xref: /aosp_15_r20/external/bcc/examples/cpp/pyperf/PyPerfDefaultPrinter.h (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1 /*
2  * Copyright (c) Facebook, Inc.
3  * Licensed under the Apache License, Version 2.0 (the "License")
4  */
5 
6 #pragma once
7 
8 #include "PyPerfSampleProcessor.h"
9 
10 namespace ebpf {
11 namespace pyperf {
12 
13 class PyPerfDefaultPrinter : public PyPerfSampleProcessor {
14  public:
PyPerfDefaultPrinter(bool showGILState,bool showThreadState,bool showPthreadIDState)15   PyPerfDefaultPrinter(bool showGILState, bool showThreadState,
16                        bool showPthreadIDState)
17       : showGILState_(showGILState),
18         showThreadState_(showThreadState),
19         showPthreadIDState_(showPthreadIDState) {}
20 
21   void processSamples(const std::vector<PyPerfSample>& samples,
22                       PyPerfUtil* util) override;
23 
24  private:
25   bool showGILState_;
26   bool showThreadState_;
27   bool showPthreadIDState_;
28 };
29 
30 }  // namespace pyperf
31 }  // namespace ebpf
32