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