diff options
Diffstat (limited to 'src/profiling/memory/java_hprof_producer.h')
-rw-r--r-- | src/profiling/memory/java_hprof_producer.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/profiling/memory/java_hprof_producer.h b/src/profiling/memory/java_hprof_producer.h index 97ac07d23..4355d9686 100644 --- a/src/profiling/memory/java_hprof_producer.h +++ b/src/profiling/memory/java_hprof_producer.h @@ -69,11 +69,23 @@ class JavaHprofProducer : public Producer { kConnected, }; - struct DataSource { - DataSourceInstanceID id; - std::set<pid_t> pids; - JavaHprofConfig config; - DataSourceConfig ds_config; + class DataSource { + public: + DataSource(DataSourceConfig ds_config, + JavaHprofConfig config, + std::vector<std::string> target_cmdlines); + void CollectPids(); + void SendSignal() const; + + const JavaHprofConfig& config() const { return config_; } + const DataSourceConfig& ds_config() const { return ds_config_; } + + private: + DataSourceConfig ds_config_; + JavaHprofConfig config_; + std::vector<std::string> target_cmdlines_; + + std::set<pid_t> pids_; }; void ConnectService(); @@ -82,7 +94,6 @@ class JavaHprofProducer : public Producer { void IncreaseConnectionBackoff(); void DoContinuousDump(DataSourceInstanceID id, uint32_t dump_interval); - static void SignalDataSource(const DataSource& ds); // State of connection to the tracing service. State state_ = kNotStarted; |