com.webos.rdxd

API Summary

Remote diagnostics daemon to accept/generate crash, analytic and overview reports.

Overview of the API

(click to expand)

rdxd is a daemon that gathers and passes analytics and crash information to processing services. Processing services can be configured via JSON configuration files (in /etc/rdxd.d directory) to be called when appropriate report type arrived. Remote diagnostics daemon either accepts reports from external sources (crashd, PmLogDaemon) or generates reports internally (overview report on daemon start).

Note: This API should be used solely by developers and testing components for development/testing purposes.


Open All


getLogSettings

Description

Gets the current settings for crash and analytic reports upload.

Note: No pre-post requirements for calling this method.

Parameters

None

Call Returns

Name

Required

Type

Description

returnValueRequiredBoolean

Indicates the status of operation. Always returns true.

analyticsLogRequiredBoolean

Indicates whether the analytics report is uploaded to processing services. Possible values are:

  • true - upload analytics report.
  • false - do not upload the analytics report.
crashLogRequiredBoolean

Indicates whether the crash report is uploaded to processing services. Possible values are:

  • true - upload crash report.
  • false - do not upload the crash report.

Example

# luna-send -n 1 -f luna://com.webos.rdxd/getLogSettings '{}'

Sample response:

{

    "returnValue": "true",

    "analyticsLog": "true",

    "crashLog": "false"

}


setLogSettings

Description

Specifies whether the analytics and crash reports are to be uploaded to processing services.

Note: No pre-post requirements for calling this method.

Parameters

Name

Required

Type

Description

analyticsLogRequiredBoolean

Indicates whether the analytics report is to be uploaded to processing services. Possible values are:

  • true - upload analytics report.
  • false - do not upload the analytics report.
crashLogRequiredBoolean

Indicates whether the crash report is to be uploaded to processing services. Possible values are:

  • true - upload crash report.
  • false - do not upload the crash report.

Call Returns

Name

Required

Type

Description

returnValueRequiredBoolean

Indicates the status of operation. Possible values are:

  • true - Indicates that the operation was successful.
  • false - Indicates that the operation failed. Check the "errorCode" and "errorText" fields for details.
errorCodeOptionalNumber

The error code for the failed operation.

errorTextOptionalString

Indicates the reason for the failure of the operation. See the "Error Codes Reference" section of this method for details.

analyticsLogOptionalBoolean

Indicates whether the analytics report is to be uploaded to processing services. Possible values are:

  • true - upload analytic report.
  • false - do not upload the analytics report.
crashLogOptionalBoolean

Indicates whether the crash report is to be uploaded to processing services. Possible values are:

  • true - upload crash report.
  • false - do not upload the crash report.

Error References

Error Code

Error Text

Error Description

-1parameter not found

Schema validation failed - call does not contain all required parameters or some parameters of invalid type.

Example

Sample code to upload the analytics log...

# luna-send -n 1 -f luna://com.webos.rdxd/setLogSettings

'{

    "analyticsLog": true,

    "crashLog": false

}'


makeReport

Description

Generate a crash report for the given report parameters and pass it for further processing to all services registered to crash report processing.

Use this method to generate crash report using custom parameters and optional crash dump file (for testing/development purposes)

Pre-post requirements - specified crash dump file should exist and allow read access to it contents.

Parameters

Name

Required

Type

Description

detail Required String

Details of the crash to be added in the summary of the report.

(Example: crash location, backtrace information)

cause Optional String

Event that triggers the crash report. This usually provides information on which component crashed and at what location this crash happened. The default value is "manual report".
(Example: QtWebPluginProcess crashes at location /usr/lib/libumedia_api.so.1)

component Optional String

Component originating the crash. The default value is empty string.

(Example: QtWebPluginProcess.)

reportPath Optional String

Full path to file to be used as crash dump for generated crash report.

reportName Optional String

Original file name for passed crash dump file, usually in format ProcessName.PID.

(Example: QtWebProcessEngine.1234)

Call Returns

Name

Required

Type

Description

returnValue Required Boolean

Indicates the status of operation. Possible values are:

  • true - Indicates that the operation was successful.
  • false - Indicates that the operation failed. Check the "errorCode" and "errorText" fields for details.
errorCode Optional Number

The error code for the failed operation.

errorText Optional String

Indicates the reason for the failure of the operation. See the "Error Codes Reference" section of this method for details.

Error References

Error Code

Error Text

Error Description

None no detail in payload

No crash detail specified in method call.

2 Upload switch is disabled for crash reports

Upload option is disabled for crash reports.

3 EULA is not accepted

EULA is not accepted or disallowed sending of additional data.

2 Crash report does not exist

Passed custom crash dump file does not exist.

2 Could not copy crash report into temporary location

Failed to copy passed crash dump file into temporary directory.

2 Could not make unique temporary file

Failed to make unique temporary file for crash report.

2 Could not make sysinfo dump

Failed to generate dump of dynamic system state.

None unknown error

Unknown error occured while executing method.

Example

Sample code to make a report...

# luna-send -n 1 -f luna://com.webos.rdxd/makeReport

'{

    "detail": "report"

}'


makeLogReport

Description

Generate an analytic report for the given report file and pass it for further processing to all services registered to analytic report processing.

Use this method to generate analytic report using custom report file (for testing/development purposes)

Pre-post requirements - report file should exist and allow read access to it contents.

Parameters

Name

Required

Type

Description

filepath Required String

Filename (with the entire path) of the custom analytic log file. This file is used to generate analytics report.

Call Returns

Name

Required

Type

Description

returnValue Required Boolean

Indicates the status of operation. Possible values are:

  • true - Indicates that the operation was successful.
  • false - Indicates that the operation failed. Check the "errorCode" and "errorText" fields for details.
errorText Optional String

Indicates the reason for the failure of the operation. See the "Error Codes Reference" section of this method for details.

Error References

Error Code

Error Text

Error Description

None Could not extract filepath

File path not specified in method call.

None EULA has not accepted yet, analytics reports will not be created

EULA is not accepted or disallowed sending of additional data.

None Devmode is enabled, analytics reports will not be generated

Developers mode is enabled.

None Upload switch is disabled for analytic reports

Upload option is disabled for analytic reports.

None Specified file does not exist

Passed file path does not exist.

None Could not copy report into temporary location

Service could not copy passed file into temporary location.

None unknown error

Unknown error occured while executing method.

Example

Sample code to make log report with defined filepath

# luna-send -n 1 -f luna://com.webos.rdxd/makeLogReport

'{

    "filepath": "/path/to/file"

}'


Except as noted, this content is licensed under Creative Commons Attribution 4.0 and sample code is licensed under Apache License 2.0.