From e0bed3a329d1f3d7cea7415efb63469bce4f6241 Mon Sep 17 00:00:00 2001 From: Till Faelligen Date: Thu, 7 Apr 2022 15:12:36 +0200 Subject: [PATCH] Add Windows stats --- userapi/util/stats.go | 3 ++- userapi/util/stats_windows.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 userapi/util/stats_windows.go diff --git a/userapi/util/stats.go b/userapi/util/stats.go index 8db01679e..686e5f354 100644 --- a/userapi/util/stats.go +++ b/userapi/util/stats.go @@ -39,7 +39,8 @@ func getMemoryStats(p *phoneHomeStats) error { if usedCPUTime == 0 || newData.timestamp == oldUsage.timestamp { p.stats["cpu_average"] = 0 } else { - p.stats["cpu_average"] = usedCPUTime / (newData.timestamp - oldUsage.timestamp) * 100 + // conversion to int64 required for GOARCH=386 + p.stats["cpu_average"] = int64(usedCPUTime) / (newData.timestamp - oldUsage.timestamp) * 100 } p.stats["memory_rss"] = newUsage.Maxrss return nil diff --git a/userapi/util/stats_windows.go b/userapi/util/stats_windows.go new file mode 100644 index 000000000..0b3f8d013 --- /dev/null +++ b/userapi/util/stats_windows.go @@ -0,0 +1,29 @@ +// Copyright 2022 The Matrix.org Foundation C.I.C. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !wasm +// +build !wasm + +package util + +import ( + "runtime" +) + +func getMemoryStats(p *phoneHomeStats) error { + var memStats runtime.MemStats + runtime.ReadMemStats(&memStats) + p.stats["memory_rss"] = memStats.Alloc + return nil +}