Add Agrarian performance profiling markers
This commit is contained in:
@@ -2,11 +2,13 @@
|
||||
|
||||
#include "AgrarianWeatherProviderSubsystem.h"
|
||||
#include "AgrarianGameState.h"
|
||||
#include "AgrarianPerformanceStats.h"
|
||||
#include "Dom/JsonObject.h"
|
||||
#include "Engine/World.h"
|
||||
#include "HttpModule.h"
|
||||
#include "Interfaces/IHttpResponse.h"
|
||||
#include "Kismet/GameplayStatics.h"
|
||||
#include "ProfilingDebugging/CpuProfilerTrace.h"
|
||||
#include "Serialization/JsonReader.h"
|
||||
#include "Serialization/JsonSerializer.h"
|
||||
|
||||
@@ -24,6 +26,9 @@ bool UAgrarianWeatherProviderSubsystem::RequestWeatherForActiveGameState()
|
||||
|
||||
bool UAgrarianWeatherProviderSubsystem::RequestWeatherForTile(FName TileId, float Latitude, float Longitude)
|
||||
{
|
||||
SCOPE_CYCLE_COUNTER(STAT_AgrarianWeatherProviderRequest);
|
||||
TRACE_CPUPROFILER_EVENT_SCOPE(AgrarianWeatherProviderRequest);
|
||||
|
||||
if (TileId == NAME_None)
|
||||
{
|
||||
return false;
|
||||
@@ -172,6 +177,9 @@ void UAgrarianWeatherProviderSubsystem::ClearWeatherSnapshotCache()
|
||||
|
||||
bool UAgrarianWeatherProviderSubsystem::ApplyDeterministicFallbackWeather(FName TileId, float Latitude, float Longitude, AAgrarianGameState* GameState)
|
||||
{
|
||||
SCOPE_CYCLE_COUNTER(STAT_AgrarianWeatherProviderParse);
|
||||
TRACE_CPUPROFILER_EVENT_SCOPE(AgrarianWeatherProviderFallback);
|
||||
|
||||
if (!bEnableDeterministicFallbackWeather || !GameState || !GameState->HasAuthority() || TileId == NAME_None)
|
||||
{
|
||||
return false;
|
||||
@@ -356,6 +364,9 @@ void UAgrarianWeatherProviderSubsystem::OnNoaaNwsGridDataResponse(FHttpRequestPt
|
||||
|
||||
bool UAgrarianWeatherProviderSubsystem::ParseOpenMeteoForecast(const FString& ResponseContent, FName TileId, float Latitude, float Longitude, FAgrarianWeatherProviderSnapshot& OutSnapshot) const
|
||||
{
|
||||
SCOPE_CYCLE_COUNTER(STAT_AgrarianWeatherProviderParse);
|
||||
TRACE_CPUPROFILER_EVENT_SCOPE(AgrarianWeatherProviderParseOpenMeteo);
|
||||
|
||||
TSharedPtr<FJsonObject> RootObject;
|
||||
const TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(ResponseContent);
|
||||
if (!FJsonSerializer::Deserialize(Reader, RootObject) || !RootObject.IsValid())
|
||||
@@ -427,6 +438,9 @@ bool UAgrarianWeatherProviderSubsystem::ParseOpenMeteoForecast(const FString& Re
|
||||
|
||||
bool UAgrarianWeatherProviderSubsystem::ParseNoaaNwsGridData(const FString& ResponseContent, FName TileId, float Latitude, float Longitude, FAgrarianWeatherProviderSnapshot& OutSnapshot) const
|
||||
{
|
||||
SCOPE_CYCLE_COUNTER(STAT_AgrarianWeatherProviderParse);
|
||||
TRACE_CPUPROFILER_EVENT_SCOPE(AgrarianWeatherProviderParseNoaaNws);
|
||||
|
||||
TSharedPtr<FJsonObject> RootObject;
|
||||
const TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(ResponseContent);
|
||||
if (!FJsonSerializer::Deserialize(Reader, RootObject) || !RootObject.IsValid())
|
||||
|
||||
Reference in New Issue
Block a user