File tree 4 files changed +27
-17
lines changed
4 files changed +27
-17
lines changed Original file line number Diff line number Diff line change 4
4
"bytes"
5
5
"context"
6
6
"fmt"
7
+ "io"
7
8
"os"
8
9
"slices"
9
10
"sort"
@@ -547,13 +548,16 @@ func newSymbolsRewriter() *symbolsRewriter {
547
548
buf : buf ,
548
549
rw : make (map [* Dataset ]* symdb.Rewriter ),
549
550
w : symdb .NewSymDB (& symdb.Config {
550
- Version : symdb .FormatV3 ,
551
- Writer : buf ,
552
- NoStatsUpdate : true ,
551
+ Version : symdb .FormatV3 ,
552
+ Writer : & nopWriteCloser {buf },
553
553
}),
554
554
}
555
555
}
556
556
557
+ type nopWriteCloser struct { io.Writer }
558
+
559
+ func (* nopWriteCloser ) Close () error { return nil }
560
+
557
561
func (s * symbolsRewriter ) rewriteRow (e ProfileEntry ) (err error ) {
558
562
rw := s .rewriterFor (e .Dataset )
559
563
e .Row .ForStacktraceIDsValues (func (values []parquet.Value ) {
Original file line number Diff line number Diff line change @@ -208,7 +208,7 @@ func (q *blockContext) lookupDatasets() error {
208
208
return q .obj .ReadMetadata (ctx )
209
209
})
210
210
g .Go (func () error {
211
- return ds .Open (q . ctx , block .SectionTSDB )
211
+ return ds .Open (ctx , block .SectionTSDB )
212
212
})
213
213
if err := g .Wait (); err != nil {
214
214
return err
Original file line number Diff line number Diff line change @@ -63,6 +63,9 @@ func newEncodersV3() encodersV3 {
63
63
64
64
func (w * writerV3 ) writePartitions (partitions []* PartitionWriter ) (err error ) {
65
65
if dst := w .config .Writer ; dst != nil {
66
+ defer func () {
67
+ _ = w .config .Writer .Close ()
68
+ }()
66
69
return w .writePartitionsWithWriter (withWriterOffset (dst ), partitions )
67
70
}
68
71
if err = os .MkdirAll (w .config .Dir , 0o755 ); err != nil {
@@ -74,7 +77,7 @@ func (w *writerV3) writePartitions(partitions []*PartitionWriter) (err error) {
74
77
return err
75
78
}
76
79
defer func () {
77
- err = f .Close ()
80
+ _ = f .Close ()
78
81
w .files = []block.File {f .meta ()}
79
82
}()
80
83
return w .writePartitionsWithWriter (f .w , partitions )
Original file line number Diff line number Diff line change @@ -97,17 +97,22 @@ type SymDB struct {
97
97
}
98
98
99
99
type Config struct {
100
- Dir string
101
- Version FormatVersion
102
- Stacktraces StacktracesConfig
103
- Parquet ParquetConfig
104
- NoStatsUpdate bool
105
- Writer io.Writer // V3 only.
106
- }
100
+ Version FormatVersion
101
+ // Output writer. Optional, V3 only.
102
+ Writer io.WriteCloser
107
103
108
- type StacktracesConfig struct {
109
104
// DEPRECATED: the parameter is not used and
110
105
// will be removed in the future versions.
106
+ Dir string
107
+ // DEPRECATED: the parameter is not used and
108
+ // will be removed in the future versions.
109
+ Stacktraces StacktracesConfig
110
+ // DEPRECATED: the parameter is not used and
111
+ // will be removed in the future versions.
112
+ Parquet ParquetConfig
113
+ }
114
+
115
+ type StacktracesConfig struct {
111
116
MaxNodesPerChunk uint32
112
117
}
113
118
@@ -169,10 +174,8 @@ func NewSymDB(c *Config) *SymDB {
169
174
db .config .Version = FormatV2
170
175
db .writer = newWriterV2 (c )
171
176
}
172
- if ! c .NoStatsUpdate {
173
- db .wg .Add (1 )
174
- go db .updateStatsLoop ()
175
- }
177
+ db .wg .Add (1 )
178
+ go db .updateStatsLoop ()
176
179
return db
177
180
}
178
181
You can’t perform that action at this time.
0 commit comments