@@ -117,15 +117,12 @@ func getSpanAndServiceIndexFn(p SpanWriterParams, writeAlias string) spanAndServ
117
117
// WriteSpan writes a span and its corresponding service:operation in ElasticSearch
118
118
func (s * SpanWriter ) WriteSpan (spanStartTime time.Time , span * dbmodel.Span ) {
119
119
s .writerMetrics .Attempts .Inc (1 )
120
-
121
- spanCopy := s .copySpanForConversion (span )
122
- s .convertNestedTagsToFieldTags (spanCopy )
123
-
120
+ s .convertNestedTagsToFieldTags (span )
124
121
spanIndexName , serviceIndexName := s .spanServiceIndex (spanStartTime )
125
122
if serviceIndexName != "" {
126
- s .writeService (serviceIndexName , spanCopy )
123
+ s .writeService (serviceIndexName , span )
127
124
}
128
- s .writeSpan (spanIndexName , spanCopy )
125
+ s .writeSpan (spanIndexName , span )
129
126
s .logger .Debug ("Wrote span to ES index" , zap .String ("index" , spanIndexName ))
130
127
}
131
128
@@ -138,25 +135,6 @@ func (s *SpanWriter) convertNestedTagsToFieldTags(span *dbmodel.Span) {
138
135
span .Tag = fieldTags
139
136
}
140
137
141
- // Helper method to create a safe copy for conversion
142
- func (s * SpanWriter ) copySpanForConversion (span * dbmodel.Span ) * dbmodel.Span {
143
- spanCopy := * span
144
-
145
- spanCopy .Process = span .Process
146
-
147
- if span .Process .Tags != nil {
148
- spanCopy .Process .Tags = make ([]dbmodel.KeyValue , len (span .Process .Tags ))
149
- copy (spanCopy .Process .Tags , span .Process .Tags )
150
- }
151
-
152
- if span .Tags != nil {
153
- spanCopy .Tags = make ([]dbmodel.KeyValue , len (span .Tags ))
154
- copy (spanCopy .Tags , span .Tags )
155
- }
156
-
157
- return & spanCopy
158
- }
159
-
160
138
// Close closes SpanWriter
161
139
func (s * SpanWriter ) Close () error {
162
140
return s .client ().Close ()
0 commit comments