Get mod performance API

From Warzone Wiki
Revision as of 07:40, 4 February 2023 by Fizzer (talk | contribs) (Created page with "The '''get mod performance API''' can be used by mod creators to see how well their mod is performing. Mod creators should strive to make these numbers as low as possible...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The get mod performance API can be used by mod creators to see how well their mod is performing. Mod creators should strive to make these numbers as low as possible.

This only returns data from the last 30 days, and only returns server-side hooks (client side hooks are executed on the client and do not keep track of their performance).

Usage

Issue a GET request to https://www.warzone.com/API/GetModPerformance?ModID=XXX&APIToken=YYY

Where XXX is the ID of your mod, which can be found in your mod developers console. APIToken can be retrieved using the Get API Token API. You may only enter the ID of a mod you own. The API token is optional if you're executing this via a browser where you're already signed in to Warzone.com, but it's required if you execute this in any other context.

Results

You will see JSON returned like the following:

 {
   "PerfData" : [ {
     "Date" : 1675214052163,
     "MessageType" : "SendOrders",
     "GameID" : 32892576,
     "Messages" : {"Server_AdvanceTurn_Order": {"spent": 5, "times": 189}}
   } ]
 }

Each object in PerfData represents one performance event.

Date tells you when the event took place. It's encoded as the number of milliseconds since Jan 1st 1970.

MessageType is the type of message from the client that resulted in your mod being invoked.

GameID is the ID of the multi-player game that is assocated with this event. You can view it by opening your browser to https://www.warzone.com/MultiPlayer?GameID=XXX

Messages lists out all functions of your mod that were invoked. times tells you how many times this message was invoked, and spent tells you how many total milliseconds were spent over all these invocations. To get the average time per call, you can divide spent by times.