Package com.ultikits.ultitools.manager
Class ErrorReportCollector.ErrorReport
java.lang.Object
com.ultikits.ultitools.manager.ErrorReportCollector.ErrorReport
- Enclosing class:
ErrorReportCollector
Error report data structure.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) String(package private) AtomicInteger(package private) String(package private) StringThe exception's binary class name, for the v2 report.(package private) String(package private) longWhen the group was first seen, in milliseconds.(package private) boolean(package private) longWhen the group was last counted, in milliseconds.(package private) longMaximum heap in megabytes, or -1 when unknown.(package private) longUsed heap in megabytes when the report was created, or -1.(package private) String(package private) String(package private) StringThe module's UltiCloud identifier for the v2 report, ornull; seeErrorReportCollector.moduleIdentifierOf(java.lang.String).(package private) String(package private) int(package private) String(package private) String(package private) double(package private) double(package private) String(package private) long(package private) String(package private) String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) intgetCount()(package private) String(package private) void(package private) voidMerge another report into this one (sum counts, keep latest context).(package private) com.google.gson.JsonObjecttoJson()Serialises the report for UltiCloud.(package private) AgentEventEncoders.ErrorReportViewview()The report's values for the v2error.reportencoder, field by field (plan 22-22): the raw group key as fingerprint (the encoder pads it), the exception class, the redacted message, stack trace and trigger detail, the module's UltiCloud identifier (nullwhen the report names no loaded module), the trigger type name, the player name,className.methodNameof the top frame as location, and the server snapshot with every unknown value (-1) asnull.
-
Field Details
-
fingerprint
String fingerprint -
errorCode
String errorCode -
message
String message -
stackTrace
String stackTrace -
moduleName
String moduleName -
moduleId
String moduleIdThe module's UltiCloud identifier for the v2 report, ornull; seeErrorReportCollector.moduleIdentifierOf(java.lang.String). -
className
String className -
methodName
String methodName -
triggerType
String triggerType -
triggerDetail
String triggerDetail -
playerName
String playerName -
playerUUID
String playerUUID -
serverTPS
double serverTPS -
serverMemoryPct
double serverMemoryPct -
playerCount
int playerCount -
timestamp
long timestamp -
count
AtomicInteger count -
isFramework
boolean isFramework -
exceptionType
String exceptionTypeThe exception's binary class name, for the v2 report. -
memUsedMb
long memUsedMbUsed heap in megabytes when the report was created, or -1. -
memMaxMb
long memMaxMbMaximum heap in megabytes, or -1 when unknown. -
firstSeenAt
volatile long firstSeenAtWhen the group was first seen, in milliseconds. -
lastSeenAt
volatile long lastSeenAtWhen the group was last counted, in milliseconds.
-
-
Constructor Details
-
ErrorReport
ErrorReport()
-
-
Method Details
-
getFingerprint
String getFingerprint() -
getCount
int getCount() -
incrementCount
void incrementCount() -
mergeFrom
Merge another report into this one (sum counts, keep latest context). -
view
The report's values for the v2error.reportencoder, field by field (plan 22-22): the raw group key as fingerprint (the encoder pads it), the exception class, the redacted message, stack trace and trigger detail, the module's UltiCloud identifier (nullwhen the report names no loaded module), the trigger type name, the player name,className.methodNameof the top frame as location, and the server snapshot with every unknown value (-1) asnull.- Returns:
- a view over this report
-
toJson
com.google.gson.JsonObject toJson()Serialises the report for UltiCloud.message,stackTraceandtriggerDetailpass throughSensitiveCommandRegistry.redactText(java.lang.String)here, at serialisation time only: this report and its fingerprint keep the original text, so de-duplication groups exactly as before and nothing local changes. A trigger detail may carry a whole command line (TriggerContext.command(org.bukkit.command.CommandSender, java.lang.String)), and an exception message or stack trace may quote one.
-