commit d7ae7f02906798702f4e85f7aa83b2dd6947d8c5
parent 1ac17f16f70c36a248015b3cfe20169bd7b0359b
Author: Marc Stibane <marc@taler.net>
Date: Tue, 10 Mar 2026 15:03:22 +0100
getPerformanceStats, cleanup
Diffstat:
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/TalerWallet1/Controllers/TalerWallet1App.swift b/TalerWallet1/Controllers/TalerWallet1App.swift
@@ -48,7 +48,12 @@ struct TalerWallet1App: App {
/// we handle them in .onOpenURL in MainView.swift
.handlesExternalEvents(preferring: ["*"], allowing: ["*"])
.task {
- try! await controller.initWalletCore(model, setTesting: false) // will (and should) crash on failure
+#if DEBUG
+ let testing = true
+#else
+ let testing = false
+#endif
+ try! await controller.initWalletCore(model, setTesting: testing) // will (and should) crash on failure
}
}
.onChange(of: phase) { newPhase in
diff --git a/TalerWallet1/Model/WalletModel.swift b/TalerWallet1/Model/WalletModel.swift
@@ -258,7 +258,7 @@ fileprivate struct Testing: Encodable {
self.insecureTrustExchange = false
self.preventThrottling = false
self.skipDefaults = false
- self.emitObservabilityEvents = true
+ self.emitObservabilityEvents = devModeActive
}
}
@@ -482,6 +482,13 @@ fileprivate struct GetDiagnostics: WalletBackendFormattedRequest {
typealias Response = String
}
+fileprivate struct GetPerformanceStats: WalletBackendFormattedRequest {
+ func operation() -> String { "testingGetPerformanceStats" }
+ func args() -> Args { Args() }
+ struct Args: Encodable {} // no arguments needed
+ typealias Response = String
+}
+
extension WalletModel {
/// export, import DB, get diagnostics
nonisolated func exportDbToFile(stem: String, viewHandles: Bool = false)
@@ -507,6 +514,12 @@ extension WalletModel {
let response = try await sendRequest(request, viewHandles: viewHandles, asJSON: true)
return response
}
+ nonisolated func getPerformanceStats(viewHandles: Bool = false)
+ async throws -> String {
+ let request = GetPerformanceStats()
+ let response = try await sendRequest(request, viewHandles: viewHandles, asJSON: true)
+ return response
+ }
}
// MARK: -
fileprivate struct DevExperimentRequest: WalletBackendFormattedRequest {