시간 데이터 계산

This commit is contained in:
jmaniuvc
2025-05-23 10:47:00 +09:00
parent 2b4e5cdcb2
commit d258253cea
4 changed files with 37 additions and 14 deletions

View File

@@ -19,6 +19,10 @@ namespace Studio.Setting.Connect
private string? message; private string? message;
public string? Message { get => message; } public string? Message { get => message; }
public DateTime lastRequestTime;
public DateTime lastResponseTime;
public TimeSpan elapsedTime;
public StudioEntityWithState() public StudioEntityWithState()
{ {
} }

View File

@@ -67,6 +67,8 @@ namespace Studio
//Que에 담아둔다? //Que에 담아둔다?
private void OnTopicList(string type, Dictionary<string, Dictionary<string, string>> entities) private void OnTopicList(string type, Dictionary<string, Dictionary<string, string>> entities)
{ {
//데이터 시간 체크 , entity의 총 크기,type에 따라 각자 시간 계산
// entities가 type + rawdata {type : {entity}, {entity} ...}
foreach (var idKey in entities) foreach (var idKey in entities)
{ {
UpdateTopicData(type, idKey.Key, idKey.Value); UpdateTopicData(type, idKey.Key, idKey.Value);
@@ -77,7 +79,6 @@ namespace Studio
{ {
if (!updateTime.ContainsKey(type)) if (!updateTime.ContainsKey(type))
updateTime.Add(type, 0.5f); updateTime.Add(type, 0.5f);
var time = updateTime[type]; var time = updateTime[type];
var task = Task.Run(async () => var task = Task.Run(async () =>
@@ -130,19 +131,23 @@ namespace Studio
public async Task LoadBaseData(string url) public async Task LoadBaseData(string url)
{ {
DateTime startTime = DateTime.Now;
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start(); sw.Start();
StudioEntityWithState<object> data = await repository.BaseInfo(url); StudioEntityWithState<object> data = await repository.BaseInfo(url);
sw.Stop(); sw.Stop();
DateTime endTime = DateTime.Now;
var t = sw.ElapsedMilliseconds; var t = sw.ElapsedMilliseconds;
if (data.State.Equals(APIState.Loaded)) if (data.State.Equals(APIState.Loaded))
{ {
if (!baseData.ContainsKey(url)) if (!baseData.ContainsKey(url))
baseData.Add(url, new()); baseData.Add(url, new());
data.lastRequestTime = startTime;
data.lastResponseTime = endTime;
data.elapsedTime = sw.Elapsed;
baseData[url] = data; baseData[url] = data;
CheckAPIBoarder(data.Entity.ToString(), data.ReqSize, url, t); CheckAPIBoarder(data.Entity.ToString(), data.ReqSize, url, t);
UpdateEntity(url, data.Entity.ToString()); UpdateEntity(url, data.Entity.ToString());
@@ -165,7 +170,7 @@ namespace Studio
maxResponseTimeApi = url; maxResponseTimeApi = url;
} }
if (maxReponesSize > byteSize) if (maxReponesSize < byteSize)
{ {
maxReponesSize = byteSize; maxReponesSize = byteSize;
maxResponseApi = url; maxResponseApi = url;

View File

@@ -36,6 +36,10 @@ namespace XED.UI
float rawDataOriginHeight; float rawDataOriginHeight;
RectTransform RawDataFoldButton; RectTransform RawDataFoldButton;
bool isRawDataFoldOn; bool isRawDataFoldOn;
TextMeshProUGUI PacketSize;
TextMeshProUGUI LastRequestTime;
TextMeshProUGUI LastResponseTime;
TextMeshProUGUI ElapsedTime;
public override void AfterAwake() public override void AfterAwake()
{ {
@@ -91,15 +95,25 @@ namespace XED.UI
{ {
RawData.text = JsonConvert.SerializeObject(baseDataValue.Entity, Formatting.Indented); RawData.text = JsonConvert.SerializeObject(baseDataValue.Entity, Formatting.Indented);
rawDataRect = RawData.GetComponent<RectTransform>();
rawDataOriginHeight = RawData.preferredHeight; rawDataOriginHeight = RawData.preferredHeight;
rawDataOriginHeight = Mathf.Max(rawDataFoldHeight, rawDataOriginHeight); rawDataOriginHeight = Mathf.Max(rawDataFoldHeight, rawDataOriginHeight);
rawDataRect = RawData.GetComponent<RectTransform>();
Vector2 sizeDelta = rawDataRect.sizeDelta; Vector2 sizeDelta = rawDataRect.sizeDelta;
sizeDelta.y = rawDataOriginHeight; sizeDelta.y = rawDataOriginHeight;
rawDataRect.sizeDelta = sizeDelta; rawDataRect.sizeDelta = sizeDelta;
var byteSize = System.Text.Encoding.Default.GetBytes(baseDataValue.Entity.ToString()).Length;
PacketSize.text = byteSize.ToString();
LastRequestTime.text = baseDataValue.lastRequestTime.ToString();
LastResponseTime.text = baseDataValue.lastResponseTime.ToString();
var elapsed = baseDataValue.elapsedTime;
int minutes = elapsed.Minutes;
int seconds = elapsed.Seconds;
int milliseconds = elapsed.Milliseconds;
ElapsedTime.text = $"{minutes:D2}:{seconds:D2}.{milliseconds:D3}";
Info_API.gameObject.SetActive(false); Info_API.gameObject.SetActive(false);
Info_BaseInfo.gameObject.SetActive(true); Info_BaseInfo.gameObject.SetActive(true);
} }

View File

@@ -683,7 +683,7 @@ GameObject:
- component: {fileID: 34826934} - component: {fileID: 34826934}
- component: {fileID: 34826933} - component: {fileID: 34826933}
m_Layer: 0 m_Layer: 0
m_Name: 1 m_Name: ElapsedTime
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@@ -3165,7 +3165,7 @@ GameObject:
- component: {fileID: 217618654} - component: {fileID: 217618654}
- component: {fileID: 217618653} - component: {fileID: 217618653}
m_Layer: 0 m_Layer: 0
m_Name: 1 m_Name: LastRequestTime
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@@ -3253,7 +3253,7 @@ MonoBehaviour:
m_lineSpacingMax: 0 m_lineSpacingMax: 0
m_paragraphSpacing: 0 m_paragraphSpacing: 0
m_charWidthMaxAdj: 0 m_charWidthMaxAdj: 0
m_TextWrappingMode: 1 m_TextWrappingMode: 0
m_wordWrappingRatios: 0.4 m_wordWrappingRatios: 0.4
m_overflowMode: 0 m_overflowMode: 0
m_linkedTextComponent: {fileID: 0} m_linkedTextComponent: {fileID: 0}
@@ -26581,7 +26581,7 @@ GameObject:
- component: {fileID: 1480168123} - component: {fileID: 1480168123}
- component: {fileID: 1480168124} - component: {fileID: 1480168124}
m_Layer: 0 m_Layer: 0
m_Name: PacketSize (2) m_Name: LastResponseTime
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@@ -29557,7 +29557,7 @@ GameObject:
- component: {fileID: 1689654371} - component: {fileID: 1689654371}
- component: {fileID: 1689654372} - component: {fileID: 1689654372}
m_Layer: 0 m_Layer: 0
m_Name: PacketSize (3) m_Name: ElapsedTime
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@@ -30271,7 +30271,7 @@ GameObject:
- component: {fileID: 1746275389} - component: {fileID: 1746275389}
- component: {fileID: 1746275390} - component: {fileID: 1746275390}
m_Layer: 0 m_Layer: 0
m_Name: PacketSize (1) m_Name: LastRequestTime
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@@ -34181,7 +34181,7 @@ GameObject:
- component: {fileID: 2007676931} - component: {fileID: 2007676931}
- component: {fileID: 2007676930} - component: {fileID: 2007676930}
m_Layer: 0 m_Layer: 0
m_Name: 1 m_Name: LastResponseTime
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@@ -34269,7 +34269,7 @@ MonoBehaviour:
m_lineSpacingMax: 0 m_lineSpacingMax: 0
m_paragraphSpacing: 0 m_paragraphSpacing: 0
m_charWidthMaxAdj: 0 m_charWidthMaxAdj: 0
m_TextWrappingMode: 1 m_TextWrappingMode: 0
m_wordWrappingRatios: 0.4 m_wordWrappingRatios: 0.4
m_overflowMode: 0 m_overflowMode: 0
m_linkedTextComponent: {fileID: 0} m_linkedTextComponent: {fileID: 0}
@@ -35391,7 +35391,7 @@ GameObject:
- component: {fileID: 2091839433} - component: {fileID: 2091839433}
- component: {fileID: 2091839432} - component: {fileID: 2091839432}
m_Layer: 0 m_Layer: 0
m_Name: 1 m_Name: PacketSize
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0