Skip to content

Commit bc8f477

Browse files
committed
Add bench for List and FileStat for S3 & Minio
1 parent 1a13d0f commit bc8f477

File tree

2 files changed

+121
-0
lines changed

2 files changed

+121
-0
lines changed

pbm/storage/mio/minio_test.go

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,3 +360,66 @@ func BenchmarkMinioStorageSave(b *testing.B) {
360360
}
361361
}
362362
}
363+
364+
func BenchmarkMinioStorageList(b *testing.B) {
365+
cfg := &Config{
366+
Endpoint: "s3.amazonaws.com",
367+
Region: "eu-central-1",
368+
Bucket: "",
369+
Prefix: "",
370+
Credentials: Credentials{
371+
AccessKeyID: "",
372+
SecretAccessKey: "",
373+
},
374+
}
375+
376+
s, err := New(cfg, "", log.DiscardEvent)
377+
if err != nil {
378+
b.Fatalf("minio storage creation: %v", err)
379+
}
380+
381+
b.ResetTimer()
382+
383+
for b.Loop() {
384+
fis, err := s.List("", "")
385+
if err != nil {
386+
b.Fatalf("list: %v", err)
387+
}
388+
b.Logf("got %d files", len(fis))
389+
390+
fname := time.Now().Format("2006-01-02T15:04:05")
391+
b.Logf("saving file: %s ....", fname)
392+
}
393+
}
394+
395+
func BenchmarkMinioStorageFileStat(b *testing.B) {
396+
cfg := &Config{
397+
Endpoint: "s3.amazonaws.com",
398+
Region: "eu-central-1",
399+
Bucket: "",
400+
Prefix: "",
401+
Credentials: Credentials{
402+
AccessKeyID: "",
403+
SecretAccessKey: "",
404+
},
405+
}
406+
407+
s, err := New(cfg, "", log.DiscardEvent)
408+
if err != nil {
409+
b.Fatalf("minio storage creation: %v", err)
410+
}
411+
412+
b.ResetTimer()
413+
414+
for b.Loop() {
415+
fi, err := s.FileStat("2025-10-17T17:13:31")
416+
if err != nil {
417+
b.Fatalf("file stat: %v", err)
418+
}
419+
b.Logf("file stat: %s, %d", fi.Name, fi.Size)
420+
fi, err = s.FileStat("abc")
421+
if err != storage.ErrNotExist {
422+
b.Fatal("files should not exist")
423+
}
424+
}
425+
}

pbm/storage/s3/s3_test.go

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,64 @@ func BenchmarkS3StorageSave(b *testing.B) {
350350
}
351351
}
352352

353+
func BenchmarkS3StorageList(b *testing.B) {
354+
cfg := &Config{
355+
Region: "eu-central-1",
356+
Bucket: "",
357+
Prefix: "",
358+
Credentials: Credentials{
359+
AccessKeyID: "",
360+
SecretAccessKey: "",
361+
},
362+
}
363+
364+
s, err := New(cfg, "", log.DiscardEvent)
365+
if err != nil {
366+
b.Fatalf("s3 storage creation: %v", err)
367+
}
368+
369+
b.ResetTimer()
370+
371+
for b.Loop() {
372+
fis, err := s.List("", "")
373+
if err != nil {
374+
b.Fatalf("list: %v", err)
375+
}
376+
b.Logf("got %d files", len(fis))
377+
}
378+
}
379+
380+
func BenchmarkS3StorageFileStat(b *testing.B) {
381+
cfg := &Config{
382+
Region: "eu-central-1",
383+
Bucket: "",
384+
Prefix: "",
385+
Credentials: Credentials{
386+
AccessKeyID: "",
387+
SecretAccessKey: "",
388+
},
389+
}
390+
391+
s, err := New(cfg, "", log.DiscardEvent)
392+
if err != nil {
393+
b.Fatalf("s3 storage creation: %v", err)
394+
}
395+
396+
b.ResetTimer()
397+
398+
for b.Loop() {
399+
fi, err := s.FileStat("2025-10-17T17:05:18")
400+
if err != nil {
401+
b.Fatalf("file stat: %v", err)
402+
}
403+
b.Logf("file stat: %s, %d", fi.Name, fi.Size)
404+
fi, err = s.FileStat("abc")
405+
if err != storage.ErrNotExist {
406+
b.Fatal("files should not exist")
407+
}
408+
}
409+
}
410+
353411
type InfiniteCustomReader struct {
354412
pattern []byte
355413
patternIndex int

0 commit comments

Comments
 (0)