()
| 277 | ) |
| 278 | |
| 279 | func Upload() { |
| 280 | wg := sync.WaitGroup{} //nolint:varnamelen |
| 281 | wg.Add(2) |
| 282 | go func() { |
| 283 | defer wg.Done() |
| 284 | |
| 285 | if !initSentryClient(appName) { |
| 286 | return |
| 287 | } |
| 288 | |
| 289 | events := restoreEvents[sentry.Event](sentryBufferDir) |
| 290 | for _, e := range events { |
| 291 | sentry.CaptureEvent(&e) |
| 292 | } |
| 293 | sentry.Flush(3 * time.Second) |
| 294 | }() |
| 295 | go func() { |
| 296 | defer wg.Done() |
| 297 | |
| 298 | if !initSegmentClient() { |
| 299 | return |
| 300 | } |
| 301 | events := restoreEvents[segment.Track](segmentBufferDir) |
| 302 | for _, e := range events { |
| 303 | segmentClient.Enqueue(e) //nolint:errcheck |
| 304 | } |
| 305 | segmentClient.Close() |
| 306 | }() |
| 307 | wg.Wait() |
| 308 | } |
| 309 | |
| 310 | func restoreEvents[E any](dir string) []E { |
| 311 | dirEntries, err := os.ReadDir(dir) |
no test coverage detected