Add support for displaying all active Network Peer stats in Editor Profiler tab
This commit is contained in:
@@ -65,13 +65,14 @@ namespace FlaxEditor.Windows.Profiler
|
||||
/// <inheritdoc />
|
||||
public override void Update(ref SharedUpdateData sharedData)
|
||||
{
|
||||
var peer = FlaxEngine.Networking.NetworkManager.Peer;
|
||||
if (peer == null)
|
||||
var peers = FlaxEngine.Networking.NetworkPeer.Peers;
|
||||
var stats = new FlaxEngine.Networking.NetworkDriverStats();
|
||||
foreach (var peer in peers)
|
||||
{
|
||||
_prevStats = new FlaxEngine.Networking.NetworkDriverStats();
|
||||
return;
|
||||
var peerStats = peer.NetworkDriver.GetStats();
|
||||
stats.TotalDataSent += peerStats.TotalDataSent;
|
||||
stats.TotalDataReceived += peerStats.TotalDataReceived;
|
||||
}
|
||||
var stats = peer.NetworkDriver.GetStats();
|
||||
_dataSentChart.AddSample(Mathf.Max((long)stats.TotalDataSent - (long)_prevStats.TotalDataSent, 0));
|
||||
_dataReceivedChart.AddSample(Mathf.Max((long)stats.TotalDataReceived - (long)_prevStats.TotalDataReceived, 0));
|
||||
_prevStats = stats;
|
||||
|
||||
@@ -8,9 +8,10 @@
|
||||
#include "Engine/Platform/CPUInfo.h"
|
||||
#include "Engine/Profiler/ProfilerCPU.h"
|
||||
|
||||
Array<NetworkPeer*> NetworkPeer::Peers;
|
||||
|
||||
namespace
|
||||
{
|
||||
Array<NetworkPeer*, HeapAllocation> Peers;
|
||||
uint32 LastHostId = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,9 @@ API_CLASS(sealed, NoSpawn, Namespace = "FlaxEngine.Networking") class FLAXENGINE
|
||||
{
|
||||
DECLARE_SCRIPTING_TYPE_WITH_CONSTRUCTOR_IMPL(NetworkPeer, ScriptingObject);
|
||||
|
||||
// List with all active peers.
|
||||
API_FIELD(ReadOnly) static Array<NetworkPeer*> Peers;
|
||||
|
||||
public:
|
||||
int HostId = -1;
|
||||
NetworkConfig Config;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
/// <summary>
|
||||
/// The network transport driver statistics container. Contains information about INetworkDriver usage and performance.
|
||||
/// </summary>
|
||||
API_STRUCT(Namespace="FlaxEngine.Networking") struct FLAXENGINE_API NetworkDriverStats
|
||||
API_STRUCT(Namespace="FlaxEngine.Networking", NoDefault) struct FLAXENGINE_API NetworkDriverStats
|
||||
{
|
||||
DECLARE_SCRIPTING_TYPE_MINIMAL(NetworkDriverStats);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user