class FinalShutdownInfo

Defined at line 66 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.h

Encapsulates the final information about why a device shutdown regardless of its source, e.g.

Zircon's shutdown information or shutdown information from userspace.

Public Methods

FinalShutdownInfo MakeFinalShutdownInfo (const HwShutdownReason hw_reason, const ZirconShutdownReason zircon_reason, std::optional<GracefulShutdownInfo> graceful_shutdown_info, const bool not_a_fdr, bool supports_user_initiated_poweroffs, std::optional<zx::duration> uptime, std::optional<zx::duration> runtime, const std::optional<std::string> & critical_process)

static

Defined at line 568 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

void FinalShutdownInfo (FinalShutdownReason reason)

For testing purposes.

Defined at line 46 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

void FinalShutdownInfo (FinalShutdownReason reason, std::optional<GracefulShutdownAction> graceful_shutdown_action)

For testing purposes.

Defined at line 53 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

void FinalShutdownInfo (FinalShutdownReason reason, std::optional<GracefulShutdownAction> graceful_shutdown_action, std::optional<zx::duration> uptime, std::optional<zx::duration> runtime)

A graceful shutdown.

Defined at line 61 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

void FinalShutdownInfo (FinalShutdownReason reason, std::optional<zx::duration> uptime, std::optional<zx::duration> runtime)

An ungraceful shutdown that shouldn't have a critical process.

Defined at line 71 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

void FinalShutdownInfo (FinalShutdownReason reason, std::optional<zx::duration> uptime, std::optional<zx::duration> runtime, std::optional<std::string> critical_process)

A root job termination shutdown that should have a critical process, barring parsing failures.

Defined at line 79 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

bool IsOom ()

Whether the reason is "out of memory."

Defined at line 92 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

bool IsCrash ()

Whether the reason justifies a crash report.

Defined at line 94 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

const std::optional<zx::duration> & Uptime ()

Defined at line 127 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.h

const std::optional<zx::duration> & Runtime ()

Defined at line 128 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.h

std::optional<bool> OptionallyGraceful ()

Whether the reboot is graceful, ungraceful or undetermined.

Defined at line 130 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

std::optional<bool> OptionallyPlanned ()

Whether the reboot is planned, unplanned or undetermined.

Defined at line 167 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

std::optional<GracefulShutdownAction> ToGracefulShutdownAction ()

Returns the graceful shutdown action, if the action was available and deemed relevant.

Defined at line 204 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

std::string ToRebootReasonString ()

Returns the string representation of the reboot reason.

Defined at line 208 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

std::optional<fuchsia::feedback::RebootReason> ToFidlRebootReason ()

Returns the reboot reason, translated into fuchsia::feedback::RebootReason. Returns

std::nullopt if an appropriate translation isn't possible.

TODO(https://fxbug.dev/441569016): Spontaneous reasons shouldn't all map to brief power loss.

Defined at line 271 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

cobalt::LastRebootReason ToCobaltLastRebootReason ()

Returns the reboot reason, translated into cobalt::LastRebootReason.

Defined at line 332 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

std::string ToCrashProgramName ()

Returns the program name that should be used for the crash.

Defined at line 395 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

std::string ToCrashSignature (SpontaneousRebootReason spontaneous_reboot_reason)

Creates a crash signature for the underlying shutdown reason and action, if applicable.

Defined at line 437 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

std::string ToSnapshotAnnotationReason (SpontaneousRebootReason spontaneous_reboot_reason)

Defined at line 647 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

ErrorOrString ToSnapshotAnnotationUptime ()

Defined at line 710 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

ErrorOrString ToSnapshotAnnotationRuntime ()

Defined at line 721 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

ErrorOrString ToSnapshotAnnotationTotalSuspendedTime ()

Defined at line 732 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc

ErrorOrString ToSnapshotAnnotationGracefulAction ()

Defined at line 743 of file ../../src/developer/forensics/feedback/reboot_log/final_shutdown_info.cc