aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/memory/java_hprof_producer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/profiling/memory/java_hprof_producer.h')
-rw-r--r--src/profiling/memory/java_hprof_producer.h23
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;