Files
SessionGoldTracker/docs/blizzard-api/Blizzard_APIDocumentationGenerated/AddOnProfilerDocumentation.lua
T
2026-10-15 14:27:00 +11:00

208 lines
6.4 KiB
Lua

local AddOnProfiler =
{
Name = "AddOnProfiler",
Type = "System",
Namespace = "C_AddOnProfiler",
Environment = "All",
Functions =
{
{
Name = "AddMeasuredCallEvent",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Adds a measured event to any ongoing measured calls. If no such calls are currently taking place, this function does nothing." },
Arguments =
{
{ Name = "name", Type = "stringView", Nilable = false, Documentation = { "User-defined string describing the measured event. This should be kept under 48 bytes to avoid memory allocations." } },
},
},
{
Name = "AddPerformanceMessageShown",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Internal API for telemetry." },
Arguments =
{
{ Name = "msg", Type = "AddOnPerformanceMessage", Nilable = false },
},
},
{
Name = "CheckForPerformanceMessage",
Type = "Function",
MayReturnNothing = true,
Documentation = { "Optimized check for determining if AddOns are severely impacting UI performance." },
Returns =
{
{ Name = "msg", Type = "AddOnPerformanceMessage", Nilable = false },
},
},
{
Name = "GetAddOnMetric",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Gets an AddOn profiler value - all times returned are in milliseconds." },
Arguments =
{
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "number", Nilable = false },
},
},
{
Name = "GetApplicationMetric",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Overall profiling data for the entire application (not just the UI)" },
Arguments =
{
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "number", Nilable = false },
},
},
{
Name = "GetOverallMetric",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Overall profiling data for all addons" },
Arguments =
{
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
},
Returns =
{
{ Name = "result", Type = "number", Nilable = false },
},
},
{
Name = "GetTicksPerSecond",
Type = "Function",
Documentation = { "Returns the number of profiling clock ticks that occur within a single real-time second." },
Returns =
{
{ Name = "frequency", Type = "BigInteger", Nilable = false },
},
},
{
Name = "GetTopKAddOnsForMetric",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Gets top K AddOns for a given metric." },
Arguments =
{
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
{ Name = "k", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "results", Type = "table", InnerType = "AddOnProfilerResult", Nilable = false },
},
},
{
Name = "IsEnabled",
Type = "Function",
Documentation = { "AddOn profiler will be enabled for all users, but this will return false if it ever isn't" },
Returns =
{
{ Name = "enabled", Type = "bool", Nilable = false },
},
},
{
Name = "MeasureCall",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Performs a profiled measurement of a single function call with any supplied arguments." },
Arguments =
{
{ Name = "func", Type = "LuaValueVariant", Nilable = false },
{ Name = "arguments", Type = "LuaValueVariant", Nilable = false, NilableContents = true, StrideIndex = 1 },
},
Returns =
{
{ Name = "results", Type = "AddOnProfilerCallResults", Nilable = false },
{ Name = "returns", Type = "LuaValueVariant", Nilable = false, NilableContents = true, StrideIndex = 1 },
},
},
},
Events =
{
},
Tables =
{
{
Name = "AddOnPerformanceMessage",
Type = "Structure",
Fields =
{
{ Name = "type", Type = "AddOnPerformanceMessageType", Nilable = false },
{ Name = "metric", Type = "AddOnProfilerMetric", Nilable = false },
{ Name = "addOnName", Type = "string", Nilable = true },
{ Name = "metricValue", Type = "number", Nilable = false },
{ Name = "thresholdValue", Type = "number", Nilable = false },
},
},
{
Name = "AddOnProfilerCallEvent",
Type = "Structure",
Fields =
{
{ Name = "name", Type = "string", Nilable = false, Documentation = { "User-defined string describing the measured event." } },
{ Name = "allocatedBytes", Type = "BigUInteger", Nilable = false, Documentation = { "Snapshot of the allocated byte count when this event was recorded." } },
{ Name = "deallocatedBytes", Type = "BigUInteger", Nilable = false, Documentation = { "Snapshot of the deallocated byte count when this event was recorded." } },
{ Name = "elapsedMilliseconds", Type = "number", Nilable = false, Documentation = { "Snapshot of the elapsed milliseconds when this event was recorded." } },
{ Name = "elapsedTicks", Type = "BigInteger", Nilable = false, Documentation = { "Snapshot of the elapsed tick count when this event was recorded." } },
},
},
{
Name = "AddOnProfilerCallResults",
Type = "Structure",
Fields =
{
{ Name = "elapsedMilliseconds", Type = "number", Nilable = false, Documentation = { "Total number of milliseconds spent executing the function." } },
{ Name = "elapsedTicks", Type = "BigInteger", Nilable = false, Documentation = { "Total number of profiling clock ticks spent executing the function." } },
{ Name = "allocatedBytes", Type = "BigUInteger", Nilable = false, Documentation = { "Total number of bytes allocated during call execution." } },
{ Name = "deallocatedBytes", Type = "BigUInteger", Nilable = false, Documentation = { "Total number of bytes deallocated during call execution." } },
{ Name = "events", Type = "table", InnerType = "AddOnProfilerCallEvent", Nilable = false, Documentation = { "Events recorded by any AddMeasuredCallEvent calls that took place during function execution." } },
},
},
{
Name = "AddOnProfilerResult",
Type = "Structure",
Fields =
{
{ Name = "addOnName", Type = "cstring", Nilable = false },
{ Name = "metricValue", Type = "number", Nilable = false },
},
},
},
Predicates =
{
},
};
APIDocumentation:AddDocumentationTable(AddOnProfiler);