For general ArcDPS-related discussions and troubleshooting, including ArcDPS, ArcDPS addons, or EVTC log parsing, please join our Discord server.
The key for verifying the release's signature can be found on openpgp.
We suggest following this guide written by Snow Crows on how to setup your ArcDPS installation and generate logs.
- .NET10.0
You will be prompted to install .NET on Windows if you don't already have it, on Linux and MacOS please follow the instructions here you only need the ASP.NET Core Runtime.
- Download the appropriate version zip file for your OS and architecture from the latest release. Don't forget to check regularly to stay updated or simply click
Check EI Updates(we have a channel that notifies new releases on our discord). - Extract all files anywhere you like.
- Launch
GuildWars2EliteInsights.exe.
Note
ArcDPS EVTC log files are located by default at "C:\Users\<USERNAME>\Documents\Guild Wars 2\addons\arcdps\arcdps.cbtlogs".
There are .deb and .rpm packages available for Debian and Fedora based distros, .NET10.0 will be installed automatically, simply download the package of your choice and double click it to install.
For Arch users updates must be done via your AUR package manager:
- Desktop:
elite-insights-binrun it withelite-insights - CLI:
elite-insights-cli-binrun it withei
These are instructions for the .zip:
- Follow steps 1 & 2 from above
- Open the folder in the terminal.
- Run
chmod +x ./GuildWars2EliteInsightsto mark it as an executable. - You can now double click the file to launch it or simply start it with
./GuildWars2EliteInsights.
- Follow all the Linux .zip steps.
- After trying to open
GuildWars2EliteInsightsand Apple will issue a warning. - Click
Doneand navigate to Privacy & Security scroll to the bottom. - Click
Open AnywayforGuildWars2EliteInsights. - Try to Open
GuildWars2EliteInsightsagain Apple will issue another warning. - In Privacy & Security click on
Allow AnywayforlibAvaloniaNative.dylib. - Launch
GuildWars2EliteInsightsand click onOpen Anywaywhen prompted.
- Download
GW2EICLI.zipfrom the latest release. - Extract all files anywhere you like.
- Optionally add it to the PATH of your OS.
-
Use either
Add FilesorPopulate from directorybuttons or drag and drop anywhere on the window one or multiple .evtc, .evtc.zip, or .zevtc files onto the program. -
Click
Parse. -
Click
Openwhen parsing done.
You can use the Settings window to modify the parser output. The settings changes will not be applied to logs already parsing.
You can pass a configuration file with -c [config path].
-p disable windows specific functions.
The inspect arguments will launch an inspector window on the first given log file, if no log files are provided, the default app will launch instead. If the parsing is faulty, application will close. Log files after the first are ignored.
With -inspect_raw content will be the raw data as present in the evtc.
With -inspect_ei_partial will launch an inspector window on the first given log file, content will be pre-processed by ei (gadget identifications, buff formula deduction, etc).
With -inspect_ei_full will launch an inspector window on the first given log file, content will be fully processed by ei (partial + custom events and agents).
Use -h to display the help message.
If trying to parse the requested log ends in failure, the application will return with error code 2.
.\GuildWars2EliteInsights.exe -c [config path] [logs]
dotnet ./GuildWars2EliteInsights.dll -c [config path] [logs]
Settings can be configured using .conf files (see Settings/sample.conf for an example). You can then use it with -c.
The -populate_from option will automatically fetch files from that path.
Using -discord_batch, you can send dps.report links to a valid discord webhook.
With the -watch option, the application will watch given path in order to parse logs files added under it.
You can refresh the API caches using the -cache option.
You can generate the JSON schema using the -schema option.
You can update EI to its latest version using the -update option.
Use -h to display the help message.
.\GuildWars2EliteInsights-CLI.exe -c [config path] [logs]
dotnet ./GuildWars2EliteInsights-CLI.dll -c [config path] [logs]
For every input, CLI will consistently output a JSON like object, preceded by "Processed - ". The object will contain the following attributes:
-fileName: string, name of the file that was parsed.
-parsed: boolean, set to true if parsing was successful.
-reason: string, only relevant when "parsed" is false. Indicates the reason why the parsing has failed. In "Setting", "User", "FileContent" and "Fatal".
-status: string, as displayed on the application on UI mode once processing is done.
-generatedFiles: array of string, full name of all created files.
-dpsReportUploadTentative: boolean, if true, the application tried to upload to dps.report.
-dpsReportUploadFailed: boolean, if true, the application could not upload to dps.report.
-dpsReportLink: string, dps.report URL of the log, if applicable.
-wingmanUploadTentative: boolean, if true, the application tried to upload to wingman.
-wingmanUploadRefused: boolean, if true, wingman refused to accept the file.
-wingmanUploadFailed: boolean, if true, wingman accepted the file but the upload failed.
-elapsed: integer, time spent processing in milliseconds.
Note
It may take some time for each file to parse and they will not be ready to open the moment they are created.
-SaveAtOut: if true, the generated files will be in the same location as the source file.
-OutLocation: secondary output path, will be used if SaveAtOut is false.
-SaveOutTrace: if true, log files will be generated.
-Anonymous: if true, player character and account names will be obfuscated.
-AddPoVProf: if true, the profession of the pov will be added to the generated files' name.
-AddDuration: if true, the duration (truncated to seconds) will be added to the generated files' name.
-SingleThreaded: if true, only a single thread will be used for parsing a single log.
-ParseMultipleLogs: if true, multiple logs will be parsed in parallel.
-SkipFailedTries: if true, failed logs will not be parsed.
-CustomTooShort: Customize log duration in ms below which logs will not be parsed.
-AutoAdd: if true, EI will automatically add logs that appear in AutoAddPath.
-AutoAddPath: the path to listen to for automatic additions.
-AutoParse: if true, every added log file will be automatically processed.
-ParsePhases: if true, phases will be parsed.
-ParseCombatReplay: if true, combat replay will be computed.
-ComputeBuff: if true, buff related stats will be computed.
-ComputeDamage: if true, damage related stats will be computed.
-ComputeCast: if true, skill cast related stats will be computed.
-ComputeMechanics: if true,mechanics will be computed.
-ComputeDamageModifiers: if true, damage modifiers will be computed. This also requires all three ComputeBuff, ComputeDamage and ComputeCast to be true.
-ParseExtensions: if true, extension events present in the evtc will be processed.
-DetailledWvW: if true, enemy players will not be merged into one in WvW logs and they'll appear as standard targets. Warning: the generated files and the generation time will grow exponentially, use it only on organized sorties (Guild zergs, GvG, ...).
-SaveOutHTML: if true, html logs will be generated.
-HtmlExternalScripts: if true, css and js files will be separated from the html.
-HtmlExternalScriptsPath: Available if HtmlExternalScripts is enabled. Fill in an absolute path to place the external script files at a different location than the report file. If you use this tool on a server and wish to populate reports directly remember to set valid path in HtmlExternalScriptsCdn. Otherwise users might not be able to open the external scripts within your report.
-HtmlExternalScriptsCdn: Available if HtmlExternalScripts is enabled. Will use an url for the external script files. Generate once, use multiple times. Will reduce needed webspace a bit. If this option is set the settings of HtmlExternalScriptsPath will not be used to include external sources. Think about CORS if you use a separate server for static source files.
-LightTheme: if true, the html will use a light theme by default. Please note that the theme can be dynamically changed on the html post generation.
-HtmlCompressJson: if true, the input json of the html will be compressed (roughly %60 gain in size).
-SaveOutCSV: if true, csv logs will be generated.
-SaveOutJSON: if true, json logs will be generated.
-IndentJSON: if true, generated json logs will be indented instead of being on a single line.
-CompressRaw: if true, xml and json logs will be compressed.
-RawTimelineArrays: if true, xml and json logs will contain graph related data.
-UploadToDPSReports: if true, the log will be uploaded to dps.reports using EI as generator.
-DPSReportUserToken: dps.report user token.
-UploadToWingman: if true, the log will be uploaded to Wingman via the "uploadProcessed" endpoint.
-WebhookURL: Webhook URL to send an embed or simple message to.
-SendEmbedToWebhook: if true, the Webhook URL will receive a small embed containing meta data + dps.reports link.
-SendSimpleMessageToWebhook: if true, only the dps.reports link will be sent to the webhook.
-MemoryLimit: In MB. If the application uses more RAM than provided number, the application will exit with code 2. 0 to disable the feature. When enabled, the maximum between given number and 100 MB will be used.
For a more detailed look, please check this guide written by Snow Crows.
The header shows you the status of the fight and lets you swap themes and modules. There are three modules available: Statistics, Combat Replay and Healing Statistics.
On the footer you'll find meta data regarding the log and the parser.
This panel is where the main navigation of the Statistics module will happen, you can select targets, players, phases and components.
The target selection will impact what you'll observe on every panel that has a "Target" section.
On players, you can observe gear related scores (between 0 and 10, please check "question mark" for a detailed explanation on how this value is computed), used weapons and the commander tag (if applicable).
On general stats you can see macro statistics regarding incoming/outgoing damage and player behavior:
- "Damage Stats" contains outgoing damage related information.
- "Gameplay Stats" contains generic information like time spent casting or not casting skills, average distance to the commander player, etc...
- "Offensive Stats" contains secondary player information like critical hit rates, flaking rates, number of time one's attack was blocked/absorbed, etc...
- "Defensive Stats" contains incoming damage related information.
- "Support Stats" contains boon strips, conditions removal, resurrection and related information.
This component will show you buff uptimes, ordered by categories, and generation information for each player.
On generation tables, please check the "question mark" above for a detailed explanation of the meaning of the tooltips.
This component contains damage modifiers, ordered by categories.
The modifiers are categorised by outgoing and incoming, then further split into gear based, shared and class based modifiers.
Damage modifiers with a positive value indicate that the player dealt or taken increased damage, negative value means the opposite.
Please note that it is not possible to check traits or gear which means that Elite Insights will assume that every gear and trait based damage modifiers are present. Buff based damage modifiers are only shown if present.
A very straightforward component that contains a summary of important fight specific mechanics.
Depending on the nature of the mechanic, the column can be considered just as informative, a success or a failure.
Damage graph that also contains enemy health, enemy breakbar and fight mechanics information. The graph is fully interactive and can be exported. Shown damage can also be customized:
- The time interval in between the information is computed
- The nature of the information:
- DPS in [x - interval, x].
- DPS in [x - interval / 2, x + interval / 2].
- Cumulative damage in [x - interval, x].
This component displays each players rotation based on the timeline of the fight, it also highlights the different phases of the encounter and you can zoom in on a specific section simply by left clicking and dragging to either side.
Hovering over any of the skills will display:
- Name
- Timestamp
- Duration
This component focuses on the selected target:
- Outgoing damage distribution per skill for the target and its minions.
- Incoming damage distribution per skill.
- Graph that contains outgoing damage, health, breakbar, rotation and buff presences. The graph is fully interactive and can be exported. Damage related customizations on the main graph are also applicable here.
- The same graph as above but filtered to a specific player
- Customizable simple rotation component for a tidier look on skill ordering.
- Buff status contains condition and boon uptimes on the boss. For conditions, it is also possible to see generation done by each player.
This component focuses on the selected target in the selected phase:
- Outgoing damage distribution per skill for the player and their minions.
- Incoming damage distribution per skill for the player and their minions.
- Graph that contains outgoing damage, health, rotation and buff presences. Information related to targets' health and breakbar can also be displayed. The graph is fully interactive and can be exported. Damage related customizations on the main graph are also applicable here.
- Boon uptimes and volumes for the player.
- Customizable simple rotation component for a tidier look on skill ordering.
- Advanced rotation for the player, you can zoom in on a specific 60 second section simply by left clicking and dragging to either side.
- Information on the consumables used by the player.
- A succession of small graphs that details incoming damage before each death.
The main display is where the animation happens.
It is possible to control the animation speed and jump to specific fight phases.
The display supports two manipulations: Pan and Zoom.
Displays damage/DPS in real time. The picture says it all.
Allows to display or remove specific information from the Combat Replay such as:
- Follow selected player
- Group highlights
- Secondary NPCs
- Mechanics
- Markers
- Player Skills
- Use in-game hitbox sizes
- Show all minions
- Show selected's minions
Player skills displayed are categorised in the following groups:
- Show on select: displays only when the player is selected
- Important buffs: skill that applies an important buff such as Stability
- Projectile Management: skill that can reflect or destroy projectiles
- Heal: healing skill
- Cleanse: condition removal skill
- Strip: boon removal skill
- Portal: a portal skill such as Mesmer's Open Portal, Scourge's Sand Swell, Thief's Shadow Portal, etc...
- CC: crowd control Skill
With this panel you can customize the display further by adding range indicators and cone indicators on the selected player.
This component lets you interact with Players and Targets.
Once a player or target is selected, they will appear with a green square around on the main display.
When selecting a player if "Highlight Selected Group" is checked, players on the same group will have a blue square around them.
For players we can observe:
- Health and Barrier
- Present buff/debuffs
- Skill casts
For targets we can observe:
- Health and Barrier
- Breakbar state and select a breakbar phase
- Present buff/debuffs
- Skill casts
With this table, you can directly jump on the timestamp of a specific mechanic.
It is possible to filter the table by:
- The type of the mechanic
- The actor involved
Elite Insights fully supports healing statistics through the ArcDPS Healing Stats Extension.
Download and install this extenstion to gain access to healing statistics. Read their README for further information.
The JSON documentation can be found here.
The EVTC Inspector allows you to inspect metadata and events that occurred during the encounter.
Selecting any entry from the tables in Events, Agents Data or Skills Data will display the detailed information about it.
The table columns can be sorted and resized and selecting a row and using Ctrl + c will copy all of the columns for the row.
Contains every event that occured during the encounter, can be filtered by a specific Skill, content GUID or Agent and you can select which event types you would like to include/exclude from the table with the event tree. You can click an event in the list to inspect its content.
Contains information about every agent in the encounter: players, minions, npcs, mobs, etc..., can be filtered by ID, Name, Type, Spec and Base Spec.
Contains metadata information about every skill that was used in the encounter, can be filtered by Name.
Contains their ContentID and GUID for different types of events, can be filtered by either ID to find the corresponding ID.
Table containing detailed information about every combat event that happened in the encounter, can be filtered by State Change.
Thank you to all our contributors.
Special thanks to Linus and TBTerra for creating images for the Combat Replay arenas.




























