closeTelemetry flushes the pending telemetry events, giving up after a short timeout so an unreachable telemetry endpoint never delays exit.
(ctx context.Context)
| 324 | // closeTelemetry flushes the pending telemetry events, giving up after a |
| 325 | // short timeout so an unreachable telemetry endpoint never delays exit. |
| 326 | func closeTelemetry(ctx context.Context) { |
| 327 | client := telemetry.GetTelemetryClient(ctx) |
| 328 | if client == nil { |
| 329 | return |
| 330 | } |
| 331 | done := make(chan struct{}) |
| 332 | go func() { |
| 333 | client.Close() |
| 334 | close(done) |
| 335 | }() |
| 336 | select { |
| 337 | case <-done: |
| 338 | case <-time.After(500 * time.Millisecond): |
| 339 | } |
| 340 | } |
| 341 | |
| 342 | // createContext creates a context with telemetry. |
| 343 | func createContext( |
no test coverage detected