66 "context"
77 "fmt"
88 "io"
9+ "log/slog"
910 "maps"
1011 "os"
1112 "path/filepath"
@@ -19,9 +20,6 @@ import (
1920 "connectrpc.com/connect"
2021 debuginfov1alpha1 "github.com/grafana/pyroscope/api/gen/proto/go/debuginfo/v1alpha1"
2122
22- "github.com/go-kit/log"
23- "github.com/go-kit/log/level"
24-
2523 lru "github.com/elastic/go-freelru"
2624 "github.com/prometheus/client_golang/prometheus"
2725 "golang.org/x/sync/errgroup" //nolint:depguard
@@ -43,7 +41,7 @@ type uploadRequest struct {
4341}
4442
4543type PyroscopeSymbolUploader struct {
46- logger log .Logger
44+ logger * slog .Logger
4745
4846 retry * lru.SyncedLRU [libpf.FileID , struct {}]
4947
@@ -58,7 +56,7 @@ type PyroscopeSymbolUploader struct {
5856}
5957
6058func NewPyroscopeSymbolUploader (
61- logger log .Logger ,
59+ logger * slog .Logger ,
6260 cacheSize uint32 ,
6361 stripTextSection bool ,
6462 queueSize uint32 ,
@@ -74,28 +72,28 @@ func NewPyroscopeSymbolUploader(
7472
7573 cacheDirectory := filepath .Join (cacheDir , "symuploader" )
7674 if _ , err := os .Stat (cacheDirectory ); os .IsNotExist (err ) {
77- level .Debug (logger ). Log ( "msg" , "creating cache directory" , "path" , cacheDirectory )
75+ logger .Debug ("creating cache directory" , "path" , cacheDirectory )
7876 if err := os .MkdirAll (cacheDirectory , os .ModePerm ); err != nil {
7977 return nil , fmt .Errorf ("failed to create cache directory (%s): %s" , cacheDirectory , err )
8078 }
8179 }
8280
8381 if err := filepath .Walk (cacheDirectory , func (path string , info os.FileInfo , err error ) error {
8482 if err != nil {
85- level .Warn (logger ). Log ( "msg" , "failed to access cached file during walk" , "path" , path , "err" , err )
83+ logger .Warn ("failed to access cached file during walk" , "path" , path , "err" , err )
8684 return nil
8785 }
8886
8987 if info == nil {
90- level .Warn (logger ). Log ( "msg" , "filepath.Walk returned nil FileInfo" , "path" , path )
88+ logger .Warn ("filepath.Walk returned nil FileInfo" , "path" , path )
9189 return nil
9290 }
9391 if info .IsDir () {
9492 return nil
9593 }
9694
9795 if os .Remove (path ) != nil {
98- level .Warn (logger ). Log ( "msg" , "failed to remove cached file" , "path" , path )
96+ logger .Warn ("failed to remove cached file" , "path" , path )
9997 }
10098
10199 return nil
@@ -180,7 +178,7 @@ func (u *PyroscopeSymbolUploader) Run(ctx context.Context) error {
180178 return nil
181179 case req := <- u .queue :
182180 if err := u .attemptUpload (ctx , req .client , req .fileID , req .fileName , req .buildID , req .open ); err != nil {
183- level . Warn ( u .logger ). Log ( "msg" , "failed to upload" , "file_name" , req .fileName , "build_id" , req .buildID , "err" , err )
181+ u .logger . Warn ( "failed to upload" , "file_name" , req .fileName , "build_id" , req .buildID , "err" , err )
184182 }
185183 }
186184 }
@@ -220,7 +218,7 @@ func (u *PyroscopeSymbolUploader) Upload(ctx context.Context, client *debuginfoc
220218 default :
221219 // The queue is full, we can't enqueue the request.
222220 u .inProgressTracker .Remove (fileID )
223- level . Warn ( u .logger ). Log ( "msg" , "failed to enqueue upload request, queue is full" , "file_name" , fileName , "build_id" , buildID )
221+ u .logger . Warn ( "failed to enqueue upload request, queue is full" , "file_name" , fileName , "build_id" , buildID )
224222 }
225223}
226224
@@ -248,13 +246,13 @@ func (u *PyroscopeSymbolUploader) attemptUpload(ctx context.Context, client *deb
248246 return fmt .Errorf ("ShouldInitiateUpload: %w" , err )
249247 }
250248
251- l := log . With ( u .logger ,
249+ l := u .logger . With (
252250 "file_name" , fileName ,
253251 "otel_file_id" , fileID ,
254252 "gnu_build_id" , buildID ,
255253 )
256254
257- level .Debug (l ). Log ( "msg" , "ShouldInitiateUpload result" ,
255+ l .Debug ("ShouldInitiateUpload result" ,
258256 "should_initiate_upload" , resp .Msg .ShouldInitiateUpload ,
259257 "reason" , resp .Msg .Reason )
260258
@@ -353,7 +351,7 @@ func (u *PyroscopeSymbolUploader) attemptUpload(ctx context.Context, client *deb
353351 }
354352
355353 u .uploadRequestBytes .Add (float64 (fileSize ))
356- level .Debug (l ). Log ( "msg" , "upload succeeded" , "bytes" , fileSize )
354+ l .Debug ("upload succeeded" , "bytes" , fileSize )
357355 u .retry .Add (fileID , struct {}{})
358356 return nil
359357}
@@ -363,10 +361,10 @@ type Stater interface {
363361}
364362
365363// readAtCloserSize attempts to determine the size of the reader.
366- func readAtCloserSize (logger log .Logger , r process.ReadAtCloser ) (int64 , error ) {
364+ func readAtCloserSize (logger * slog .Logger , r process.ReadAtCloser ) (int64 , error ) {
367365 stater , ok := r .(Stater )
368366 if ! ok {
369- level .Debug (logger ). Log ( "msg" , "ReadAtCloser is not a Stater, can't determine size" )
367+ logger .Debug ("ReadAtCloser is not a Stater, can't determine size" )
370368 return 0 , nil
371369 }
372370
0 commit comments