class SnapshotCollector
Defined at line 36 of file ../../src/developer/forensics/crash_reports/snapshot_collector.h
Manages the collection of snapshots.
To limit memory usage, SnapshotCollector will return the same Uuid to all calls to GetUuid that
occur within |shared_request_window_| of a fuchsia.feedback.DataProvider/GetSnapshot request.
Public Methods
void SnapshotCollector (async_dispatcher_t * dispatcher, timekeeper::Clock * clock, feedback_data::DataProviderInternal * data_provider, SnapshotStore * snapshot_store, Queue * queue, zx::duration shared_request_window)
Defined at line 45 of file ../../src/developer/forensics/crash_reports/snapshot_collector.cc
::fpromise::promise<Report> GetReport (zx::duration timeout, fuchsia::feedback::CrashReport fidl_report, ReportId report_id, std::optional<timekeeper::time_utc> current_utc_time, const Product & product, bool is_hourly_snapshot, ReportingPolicy reporting_policy)
Returns a promise of a report. The report may have a snapshot uuid, with that snapshot
containing the most up-to-date system data (a new snapshot will be created if all existing
snapshots contain data that is out-of-date). No snapshot will be saved if |timeout| expires.
Defined at line 67 of file ../../src/developer/forensics/crash_reports/snapshot_collector.cc
void Shutdown ()
Shuts down the snapshot manager by cancelling any pending FIDL calls and provides waiting
clients with a UUID for a generic "shutdown" snapshot.
Defined at line 136 of file ../../src/developer/forensics/crash_reports/snapshot_collector.cc