MCPcopy
hub / github.com/grafana/tempo / Write

Method Write

tempodb/backend/gcs/gcs.go:117–141  ·  view source on GitHub ↗

Write implements backend.Writer

(ctx context.Context, name string, keypath backend.KeyPath, data io.Reader, _ int64, _ *backend.CacheInfo)

Source from the content-addressed store, hash-verified

115
116// Write implements backend.Writer
117func (rw *readerWriter) Write(ctx context.Context, name string, keypath backend.KeyPath, data io.Reader, _ int64, _ *backend.CacheInfo) error {
118 keypath = backend.KeyPathWithPrefix(keypath, rw.cfg.Prefix)
119 derivedCtx, span := tracer.Start(ctx, "gcs.Write")
120 defer span.End()
121
122 span.SetAttributes(attribute.String("object", name))
123
124 w := rw.writer(derivedCtx, backend.ObjectFileName(keypath, name), nil)
125
126 written, err := io.Copy(w, data)
127 if err != nil {
128 w.Close()
129 span.RecordError(err)
130 return fmt.Errorf("failed to write: %w", err)
131 }
132
133 err = w.Close()
134 if err != nil {
135 return fmt.Errorf("failed to close: %w", err)
136 }
137
138 level.Debug(rw.logger).Log("msg", "object uploaded to gcs", "objectName", backend.ObjectFileName(keypath, name), "size", written)
139
140 return nil
141}
142
143// Append implements backend.Writer
144func (rw *readerWriter) Append(ctx context.Context, name string, keypath backend.KeyPath, tracker backend.AppendTracker, buffer []byte) (backend.AppendTracker, error) {

Callers

nothing calls this directly

Calls 7

writerMethod · 0.95
KeyPathWithPrefixFunction · 0.92
ObjectFileNameFunction · 0.92
StartMethod · 0.65
CloseMethod · 0.65
LogMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected