Skip to content

Commit c32a0ea

Browse files
committed
Add config to add source dirs
1 parent 0573e04 commit c32a0ea

6 files changed

+28
-19
lines changed

config.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1-
package opentelemetry_stacktrace_processor
1+
package opentelemetry_stacktrace_processor // import "github.com/joostlek/opentelemetry-stacktrace-processor"
22

3-
type Config struct{}
3+
type Config struct {
4+
SourceMapDirs []string `mapstructure:"source_map_dirs"`
5+
}

config_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package opentelemetry_stacktrace_processor
1+
package opentelemetry_stacktrace_processor // import "github.com/joostlek/opentelemetry-stacktrace-processor"
22

33
import (
44
"github.com/stretchr/testify/assert"

factory.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ func NewFactory() processor.Factory {
1717
}
1818

1919
func createDefaultConfig() component.Config {
20-
return &Config{}
20+
return &Config{
21+
SourceMapDirs: make([]string, 0),
22+
}
2123
}
2224

2325
func createTraces(

factory_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package opentelemetry_stacktrace_processor
1+
package opentelemetry_stacktrace_processor // import "github.com/joostlek/opentelemetry-stacktrace-processor"
22

33
import (
44
"context"

stacktrace_processor.go

+16-13
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package opentelemetry_stacktrace_processor
1+
package opentelemetry_stacktrace_processor // import "github.com/joostlek/opentelemetry-stacktrace-processor"
22

33
import (
44
"context"
@@ -15,21 +15,24 @@ import (
1515
)
1616

1717
type stackTraceProcessor struct {
18-
nextConsumer consumer.Traces
19-
sourceMaps map[string][]byte
18+
nextConsumer consumer.Traces
19+
sourceMaps map[string][]byte
20+
sourceMapDirs []string
2021
}
2122

2223
func (s *stackTraceProcessor) Start(ctx context.Context, host component.Host) error {
2324
s.sourceMaps = make(map[string][]byte)
24-
files, err := os.ReadDir("testdata")
25-
if err != nil {
26-
return err
27-
}
28-
for _, file := range files {
29-
if strings.HasSuffix(file.Name(), ".map") {
30-
err := s.ReadSourceMap("testdata", file.Name())
31-
if err != nil {
32-
return err
25+
for _, dir := range s.sourceMapDirs {
26+
files, err := os.ReadDir(dir)
27+
if err != nil {
28+
return err
29+
}
30+
for _, file := range files {
31+
if strings.HasSuffix(file.Name(), ".map") {
32+
err := s.ReadSourceMap(dir, file.Name())
33+
if err != nil {
34+
return err
35+
}
3336
}
3437
}
3538
}
@@ -145,5 +148,5 @@ func (s *stackTraceProcessor) ConsumeException(event ptrace.SpanEvent) {
145148
var _ consumer.Traces = (*stackTraceProcessor)(nil)
146149

147150
func newStackTraceProcessor(set processor.CreateSettings, next consumer.Traces, config *Config) (processor.Traces, error) {
148-
return &stackTraceProcessor{nextConsumer: next}, nil
151+
return &stackTraceProcessor{nextConsumer: next, sourceMapDirs: config.SourceMapDirs}, nil
149152
}

stacktrace_processor_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package opentelemetry_stacktrace_processor
1+
package opentelemetry_stacktrace_processor // import "github.com/joostlek/opentelemetry-stacktrace-processor"
22

33
import (
44
"context"
@@ -17,6 +17,8 @@ import (
1717
func TestBatchProcessorSpansDeliveredEnforceBatchSize(t *testing.T) {
1818
sink := new(consumertest.TracesSink)
1919
cfg := createDefaultConfig().(*Config)
20+
cfg.SourceMapDirs = make([]string, 0)
21+
cfg.SourceMapDirs = append(cfg.SourceMapDirs, "testdata")
2022
creationSet := processortest.NewNopCreateSettings()
2123
processor, err := newStackTraceProcessor(creationSet, sink, cfg)
2224
require.NoError(t, err)

0 commit comments

Comments
 (0)