Skip to content

Commit 69c4de6

Browse files
committed
Add debug logging
1 parent 0ec7f3c commit 69c4de6

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

Tests/AppTests/Helpers/DatabasePool.swift

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ actor DatabasePool {
4040
var availableDatabases: Set<Database> = .init()
4141

4242
func setUp() async throws {
43+
let start = Date()
44+
print("ℹ️ \(#function) start")
45+
defer { print("ℹ️ \(#function) end", Date().timeIntervalSince(start)) }
4346
// Call DotEnvFile.load once to ensure env variables are set
4447
await DotEnvFile.load(for: .testing, fileio: .init(threadPool: .singleton))
4548

@@ -100,6 +103,9 @@ actor DatabasePool {
100103
}
101104

102105
func withDatabase(_ operation: @Sendable (Database) async throws -> Void) async throws {
106+
let start = Date()
107+
print("ℹ️ \(#function) start")
108+
defer { print("ℹ️ \(#function) end", Date().timeIntervalSince(start)) }
103109
let db = try await retainDatabase()
104110
do {
105111
try await operation(db)
@@ -121,6 +127,10 @@ actor DatabasePool {
121127
}
122128

123129
private func setupDatabases(_ databases: any Collection<Database>) async throws -> [Database] {
130+
let start = Date()
131+
print("ℹ️ \(#function) start")
132+
defer { print("ℹ️ \(#function) end", Date().timeIntervalSince(start)) }
133+
return
124134
try await withThrowingTaskGroup(of: Database.self) { group in
125135
for db in databases {
126136
group.addTask {
@@ -137,8 +147,16 @@ actor DatabasePool {
137147
}
138148

139149
private func retainDatabase() async throws -> Database {
150+
let start = Date()
151+
print("ℹ️ \(#function) start")
152+
defer { print("ℹ️ \(#function) end", Date().timeIntervalSince(start)) }
140153
var database = availableDatabases.randomElement()
154+
var retry = 0
141155
while database == nil {
156+
defer { retry += 1 }
157+
if retry > 0 && retry % 50 == 0 {
158+
print("ℹ️ \(#function) available databases: \(availableDatabases.count) retry \(retry)")
159+
}
142160
try await Task.sleep(for: .milliseconds(100))
143161
database = availableDatabases.randomElement()
144162
}

0 commit comments

Comments
 (0)