fuchsia.feedback

PROTOCOLS

CrashReporter

Defined in fuchsia.feedback/crash_reporter.fidl

Provides the ability to file crash reports.

File

Files a crash report.

This could mean generating a crash report in a local crash report database or uploading the crash report to a remote crash server depending on the FIDL server's configuration.

Request

NameType
report CrashReport

Response

NameType
result CrashReporter_File_Result

DataProvider

Defined in fuchsia.feedback/data_provider.fidl

Provides data useful to attach in feedback reports (crash or user feedback).

GetData

Returns all the feedback data except the screenshot, which is provided separately.

Request

NameType

Response

NameType
result DataProvider_GetData_Result

GetScreenshot

Returns an image of the current view encoded in the provided encoding.

screenshot may be null if the encoding is not supported, the device does not have a display, or there is not enough memory to allocate the screenshot image.

The screenshot is provided separately from the rest of the data as callers might want to block on it before changing the view.

Request

NameType
encoding ImageEncoding

Response

NameType
screenshot Screenshot?

STRUCTS

Annotation

Defined in fuchsia.feedback/annotation.fidl

An annotation and its plain ASCII string key. Annotations are short strings, e.g., the board name or the build version.

NameTypeDescriptionDefault
key string[128] No default
value string[1024] No default

Attachment

Defined in fuchsia.feedback/attachment.fidl

An attachment and its plain ASCII string key. Attachments are larger objects, e.g., log files. They may be binary or text data.

NameTypeDescriptionDefault
key string[128] No default
value fuchsia.mem/Buffer No default

CrashReporter_File_Response

generated

NameTypeDescriptionDefault

DataProvider_GetData_Response

generated

NameTypeDescriptionDefault
data Data No default

Screenshot

Defined in fuchsia.feedback/data_provider.fidl

An encoded image of the screen.

NameTypeDescriptionDefault
image fuchsia.mem/Buffer No default
dimensions_in_px fuchsia.math/Size No default

ENUMS

ImageEncoding

Type: uint32

Defined in fuchsia.feedback/data_provider.fidl

The encoding used for the image.

Today, only PNG is supported, but in the future the screenshot could be returned in other encodings if need arises.

NameValueDescription
PNG 0

TABLES

CrashReport

Defined in fuchsia.feedback/crash_reporter.fidl

Represents a crash report.

OrdinalNameTypeDescription
1 program_name string[1024] The name of the program that crashed, e.g., the process or component's name.
2 specific_report SpecificCrashReport The specific report that depends on the type of crashes.
3 annotations vector<Annotation>[32] A vector of key-value string pairs representing arbitrary data that should be attached to a crash report. Keys should be unique.
4 attachments vector<Attachment>[16] A vector of key-value string-to-VMO pairs representing arbitrary data that should be attached to a crash report. Keys should be unique.

GenericCrashReport

Defined in fuchsia.feedback/crash_reporter.fidl

Represents a generic crash report.

OrdinalNameTypeDescription
1 signature string[128] A text signature that the crash server can use to group similar crashes together, e.g., "kernel-panic" or "oom".

NativeCrashReport

Defined in fuchsia.feedback/crash_reporter.fidl

Represents a crash report for a native exception out of which the client has built a minidump.

OrdinalNameTypeDescription
1 minidump fuchsia.mem/Buffer The core dump in the Minidump format.

RuntimeCrashReport

Defined in fuchsia.feedback/crash_reporter.fidl

Represents a crash report for a runtime exception, applicable to most languages.

OrdinalNameTypeDescription
1 exception_type string[128] The exception type, e.g., "FileSystemException".
2 exception_message string[1024] The exception message, e.g., "cannot open file".
3 exception_stack_trace fuchsia.mem/Buffer The text representation of the exception stack trace.

Data

Defined in fuchsia.feedback/data_provider.fidl

Data to attach to feedback reports.

Clients typically upload the data straight to servers without expecting some particular fields. So the data comes in the form of arbitrary key-value pairs that clients can directly forward to the servers.

OrdinalNameTypeDescription
1 annotations vector<Annotation>[32] A vector of key-value string pairs. Keys are guaranteed to be unique.
2 attachments vector<Attachment>[16] A vector of key-value string-to-VMO pairs. Keys are guaranteed to be unique.

UNIONS

CrashReporter_File_Result

generated

NameTypeDescription
response CrashReporter_File_Response
err int32

DataProvider_GetData_Result

generated

NameTypeDescription
response DataProvider_GetData_Response
err int32

XUNIONS

SpecificCrashReport

Defined in fuchsia.feedback/crash_reporter.fidl

Represents a specific crash report.

Add a new member when the server needs to special case how it handles certain annotations and attachments for a given type of crashes, e.g., a RuntimeCrashReport for Javascript.

NameTypeDescription
generic GenericCrashReport Intended for arbitrary crashes, e.g., OOM, out-of-disk.
native NativeCrashReport Intended for a native exception.
dart RuntimeCrashReport Intended for a Dart exception.