Stats
Stats is a service that provides real-time performance information about the current running game instance. Its primary purpose is to provide an end point to measure where resources are being consumed, as well as how much memory is being consumed overall.
The service also stores a tree of StatsItem objects which can have their values read by plugins.
Summary
Properties
A measurement of how many parts are currently in contact with one another.
In a networked game, this describes roughly how many kilobytes of data are being received by the current instance, per second.
In a networked game, this describes roughly how many kilobytes of data are being sent by the current instance, per second.
A measurement of how long it takes for the engine to process all tasks required to render a frame.
A measurement of the total amount of time it takes for the server to update its Task Scheduler jobs in seconds.
A measurement of how many Instance are currently in memory.
A measurement of how many physically simulated components are currently moving in the game world.
In a networked game, this describes roughly how many kilobytes of physics data are being received by the current instance, per second.
In a networked game, this describes roughly how many kilobytes of physics data are being sent by the current instance, per second.
A measurement of how long it takes for the physics engine to update its current state.
A measurement of how many physically simulated components currently exist in the game world.
A measurement of how long it takes for the CPU to process all of its rendering tasks for a frame.
A measurement of how long it takes for the GPU to process all of its tasks required to render a frame.
A measurement of the number of draw calls made by the game's current scene.
A measurement of the number of triangles rendered by the game's current scene.
A measurement of the number of draw calls being made for shadows by the game's current scene.
A measurement of the number of triangles rendered as shadows in the game's current scene.
A measurement of the number of 2D draw calls made for UI elements in the game's current scene.
A measurement of the number of triangles that are being rendered for 2D UI elements in the game's current scene.
A measurement of the number of 3D draw calls made for UI elements in the game's current scene.
A measurement of the number of triangles being rendered for 3D UI elements in the game's current scene.
Methods
Returns the number of megabytes that are being consumed in the specified Enum.DeveloperMemoryTag category.
Returns the total amount of memory being consumed by the current game session, in megabytes.
Properties
ContactsCount
This property describes how many parts are currently in contact with each other, such that one of the two parts are being physically simulated, and thus can be recognized by the BasePart:GetTouchingParts() method.
DataReceiveKbps
In a networked game, this property describes roughly how many kilobytes of data are being received by the current instance, per second. If from the server's perspective, this represents the total amount of data being received from the clients connected to the server. If from a client's perspective, this represents the total amount of data being received from the server.
DataSendKbps
In a networked game, this property describes roughly how many kilobytes of data are being sent by the current instance, per second. If from the server's perspective, this represents the total amount of data being sent to the clients connected to the server. If from a client's perspective, this represents the total amount of data being sent to the server.
FrameTime
This property is only available in client scripts and is a measurement of how long it took to render the most-recent frame in seconds. Divide 1 by this value to calculate an FPS value for the frame time. High frame times are indicative of performance problems on the device. Consider using the MicroProfiler to troubleshoot.
HeartbeatTime
This property is a measurement of the total amount of time it takes for the server to update its Task Scheduler jobs in seconds. If this value is high, examine server compute.
InstanceCount
InstanceCount is a read-only measurement of how many Instance are currently in memory. This includes the DataModel, its descendants, as well as any object created with Instance.new() which is still present in memory.
MovingPrimitivesCount
A measurement of how many physically simulated components are currently moving in the game world.
PhysicsReceiveKbps
PhysicsReceiveKbps is a measurement of roughly how many kilobytes of physics data are being received by the current instance, per second.If from the server's perspective, this represents the total amount of physics data being received from the clients connected to the server.If from a client's perspective, this represents the total amount of physics data being received from the server.
PhysicsSendKbps
PhysicsSendKbps describes roughly how many kilobytes of physics data are being sent by the current instance, per second.If from the server's perspective, this represents the total amount of physics data being sent to the clients connected to the server.If from a client's perspective, this represents the total amount of physics data being sent to the server.
PhysicsStepTime
This property is a measurement of how long it takes for the physics engine to update its current state. If this value is high, it means the game instance is under stress from the physics simulations taking place.
PrimitivesCount
A measurement of how many physically simulated components currently exist in the game world.
RenderCPUFrameTime
This property is a measurement of how long it takes for the CPU to process all of its rendering tasks for a frame.
RenderGPUFrameTime
This property is a measurement of how long it takes for the GPU to process all of its tasks required to render a frame.
SceneDrawcallCount
This property is a measurement of the number of draw calls made by the game's current scene. A draw call is a single rendering operation, such as drawing a mesh. A high draw call count could mean a scene is too complex or unoptimized, which can lead to performance issues.
SceneTriangleCount
This property is a measurement of the number of triangles rendered by the game's current scene. A count of triangles rendered is useful when trying to estimate the complexity and performance of a scene.
ShadowsDrawcallCount
This property is a measurement of the number of draw calls being made for shadows by the game's current scene. A high count means more shadows are being created by the amount of rendered objects in a scene.
ShadowsTriangleCount
This property is a measurement of the number of triangles rendered as shadows in the game's current scene. A high count means there are a lot of triangles used to cast shadows, which can hinder performance.
UI2DDrawcallCount
This property is a measurement of the number of 2D draw calls made for UI elements in the game's current scene. A high count can mean there are a lot of 2D UI elements being used.
UI2DTriangleCount
This property is a measurement of the number of triangles that are being rendered for 2D UI elements in the game's current scene. A high count can mean there are many or complex 2D UI elements used, which can contribute to performance loss in regards to rendering.
UI3DDrawcallCount
This property is a measurement of the number of 3D draw calls made for UI elements in the game's current scene. A high count could indicate a high amount of 3D objects being used within UI, potentially hurting performance; however, it is very unlikely you would see a significant count since UI elements are typically 2D.
UI3DTriangleCount
This property is a measurement of the number of triangles being rendered for 3D UI elements in the game's current scene; however, it is very unlikely you would see a significant count since UI elements are typically 2D.
Methods
GetMemoryUsageMbForTag
Returns the number of megabytes that are being consumed in the specified Enum.DeveloperMemoryTag category.