Skip to content

Latest commit

 

History

History
112 lines (82 loc) · 3.78 KB

submitted_reports.md

File metadata and controls

112 lines (82 loc) · 3.78 KB

Common report styles

Rageshakes can come from a number of applications, and we provide some practical notes on the generated format.

At present these should not be considered absolute nor a structure to follow; but an attempt to document the currently visible formats as of January 2022.

Feedback

Log files are not transmitted; the main feedback is entirely within the user message body.

This occurs from all platforms.

Element Web / Element Desktop

Log files are transmitted in reverse order (0000 is the youngest)

Log line format:

2022-01-17T14:57:20.806Z I Using WebAssembly Olm
< ---- TIMESTAMP ------> L <-- Message ----

L = log level, (W=Warn, I=Info, etc)

New log files are started each restart of the app, but some log files may not contain all data from the start of the session.

Element iOS

Crash Log is special and is sent only once (and deleted on the device afterwards)

crash.log

Following logs are available, going back in time with ascending number. console.log with no number is the current log file.

console.log (newest)
console-1.log 
...
console-49.log (oldest)

console-nse.log (newest)
console-nse-1.log 
...
console-nse-49.log (oldest)

console-share.log (newest)
console-share-1.log
console-share-49.log (oldest)

Element Android

There is a historical issue with the naming of files, documented in issue #40.

Log file 0000 is odd, it contains the logcat data if sent.

Log line format:

01-17 14:59:30.657 14303 14303 W Activity: Slow Operation: 
<-- TIMESTAMP ---> <-P-> <-T-> L <-- Message --

L = Log Level (W=Warn, I=Info etc)
P = Process ID
T = Thread ID

Remaining log files are transmitted according to their position in the round-robin logging to file - there will be (up to) 7 files written to in a continious loop; one of the seven will be the oldest, the rest will be in order.

Log line format:

2022-01-17T13:06:36*838GMT+00:00Z 12226 D/ /Tag: Migration: Importing legacy session
< ---- TIMESTAMP ---------------> <-P-> L        <-- Message ----

L = log level, (W=Warn, I=Info, etc)
P = Process ID

Once the fix to #40 is in place, we will see the following files:

logcatError.log
logcat.log
crash.log
keyrequests.log
log-[1-7].log

Log 1-7 are logs from a round-robin buffer and are ordered but the start point is undefined

Third Room

Third Room submits logs as a single logs.json file.

logs.json file format:

{
  "formatVersion": 1,
  "appVersion": "0.0.0",
  "platform": "<UserAgent Info>",
  "items": [LogItem, LogItem, ...]
}

Each LogItem is an object with the following properties:

Name Type Description
s number Required: Start timestamp (in milliseconds since the unix epoch) on client when this log item is created.
d number Log item active duration (in milliseconds).
v object Required: Value of log item.
l number Required: Log level assigned to by the client.
f boolean Force flag.
c array An array containing child log items.
e object Error object with required name, message and optional stack properties of string type.