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

Method Write

tempodb/backend/local/local.go:51–74  ·  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

49
50// Write implements backend.Writer
51func (rw *Backend) Write(ctx context.Context, name string, keypath backend.KeyPath, data io.Reader, _ int64, _ *backend.CacheInfo) error {
52 if err := ctx.Err(); err != nil {
53 return err
54 }
55
56 blockFolder := rw.rootPath(keypath)
57 err := os.MkdirAll(blockFolder, 0o700)
58 if err != nil {
59 return err
60 }
61
62 tracesFileName := rw.objectFileName(keypath, name)
63 dst, err := os.Create(tracesFileName)
64 if err != nil {
65 return err
66 }
67 defer dst.Close()
68
69 _, err = io.Copy(dst, data)
70 if err != nil {
71 return err
72 }
73 return err
74}
75
76// Append implements backend.Writer
77func (rw *Backend) Append(ctx context.Context, name string, keypath backend.KeyPath, tracker backend.AppendTracker, buffer []byte) (backend.AppendTracker, error) {

Callers 1

Calls 3

rootPathMethod · 0.95
objectFileNameMethod · 0.95
CloseMethod · 0.65

Tested by 1