Parsertime v1.3 - Faster than the Speed of Light πŸš€

by Lucas Doell, Founder / Lead Developer

Welcome to Season 13! We've been focusing on making Parsertime better and have some updates to share. A major focus has been on increasing performance, with a major refactoring across the codebase. As a result, page load times have decreased significantly. Additionally, actions such as creating maps and scrims process quicker than before. We're faster than ever before!

Additionally, the refactors have allowed us to decrease the number of bugs and increase developer velocity. We've improved our code linting to make sure our code is robust and follows best practices. There's still work to be done, but our codebase is looking better than ever and we're ready to build out some new features quickly.

Workshop Inspector Log File Workaround

We've been tracking an issue for a while now with Blizzard having removed the Enable Workshop Inspector Log File setting from the UI. If the setting was previously enabled, users would be able to generate log files without any issue, but new users could not toggle on the setting to generate files.

Thankfully, a community member named Braiden shared a workaround that can be used to collect logs and does not require this setting to be enabled. Check out this video tutorial to see how it's done:

New Features

One of our newest features is a debugging assistant designed to help analyze log files for malformed data. If you're a frequent user, it's more likely than not that you've experienced uploading a log file that returns a 500 Invalid Log Format error. We're taking steps to mitigate this problem, and the most recent addition is the debug assistant!

A screenshot of the debug assistant.

The debug assistant gives a visual representation of the data in your log file. Internally, our platform converts the log files to a JSON object, which is then processed by the parser and uploaded to our database. This tool allows you to see the parsed object once it has been uploaded.

A screenshot of the deub assistant with an error.

After uploading your data, the debug assistant will show you an interactive view of the parsed JSON. It will display a list of errors that have been detected, or will show a green box with the text No errors detected.

Using the list of errors output by the debug assistant, we can see that there was an invalid mercy_rez event. We can see that the error lies at index 3 of the array at index 3 of the mercy_rez array. There is a missing field with no data.

A screenshot of the debug assistant's JSON view.

To see which value this is, we can consult the schema documentation.

A screenshot of the schema docs with the Resurrecter Player field highlighted.

The first step is to identify the event type that we are debugging. After finding mercy_rez in the table, we can then find index 3 by looking at the top column. Finally, we can see that the missing field is Resurrecter Player. We can now edit the log file to include the missing data, and our log file will have no errors.

What's next?

We are working to build a tournament client for Parsertime. This is a feature that will be custom designed for tracking players' stats during events. More details will be coming soon.

Additionally, Parsertime is almost 1 year old! Development began on November 8, 2023. We'll be announcing more to come once the 1 year anniversary gets closer.

Known Issues

  • Same issues as documented in v1.2.1 - please consult our known issues page within our documentation to stay updated.

Patch Notes

  • Improve performance across the app
    • By avoiding long chains of asynchronous function calls and instead making calls concurrently, the app can perform the same operations significantly quicker. This allows for shorter initial page load time across many of the app's pages.
    • Significant hot code paths that received performance updates include map uploading, player analytics, map overview, and more
  • Fix average time to use ultimate calculation for player statistic
  • Refactor much of the codebase to increase robustness, allowing for faster iteration
    • This is a significant change for developer efficiency, which contributes to updating faster and more frequently.
    • Unnecessary complexity has been removed, such as old unused code
    • Code linting has been updated, leading to consistent usage of best practices and improving robustness
  • Add a debugging assistant page to check for errors within log files
  • Update app dependencies

Contributors

More articles

Parsertime v1.2.1 - Replay code support, design changes, and more!

We're updating Parsertime to support replay codes, add a new design, and fix some bugs.

Read more

Parsertime v1.2 - Now with support for Juno! πŸ‘©β€πŸš€

We're updating Parsertime to support the newest support hero, Juno. This update includes some minor bug fixes and performance improvements.

Read more

Tell us about your idea

Points of contact