MCPcopy Create free account
hub / github.com/dagger/dagger / Export

Method Export

engine/server/telemetry.go:450–476  ·  view source on GitHub ↗
(ctx context.Context, logs []sdklog.Record)

Source from the content-addressed store, hash-verified

448var _ sdklog.Exporter = clientLogs{}
449
450func (ps clientLogs) Export(ctx context.Context, logs []sdklog.Record) error {
451 slog.ExtraDebug("pubsub exporting logs", "client", ps.client.clientID, "count", len(logs))
452
453 var inserts []*clientdb.InsertLogParams
454 for _, rec := range logs {
455 insert, err := insertLogRecordParam(&rec)
456 if err != nil {
457 return fmt.Errorf("prepare log record %v: %w", rec, err)
458 }
459 inserts = append(inserts, insert)
460 }
461
462 db, err := ps.client.TelemetryDB(ctx)
463 if err != nil {
464 return fmt.Errorf("get telemetry db: %w", err)
465 }
466 defer db.Close()
467
468 for _, insert := range inserts {
469 if _, err := db.InsertLog(ctx, *insert); err != nil {
470 slog.Warn("failed to insert log record", "error", err)
471 continue
472 }
473 }
474
475 return nil
476}
477
478func (ps clientLogs) Enabled(context.Context, sdklog.EnabledParameters) bool { return true }
479func (ps clientLogs) ForceFlush(ctx context.Context) error { return nil }

Callers

nothing calls this directly

Calls 6

ExtraDebugFunction · 0.92
WarnFunction · 0.92
insertLogRecordParamFunction · 0.85
TelemetryDBMethod · 0.80
InsertLogMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected