|
15 | 15 | package esmodeltranslator
|
16 | 16 |
|
17 | 17 | import (
|
| 18 | + "encoding/hex" |
18 | 19 | "errors"
|
19 | 20 | "fmt"
|
20 | 21 | "strconv"
|
@@ -222,26 +223,23 @@ func references(links pdata.SpanLinkSlice, parentSpanID pdata.SpanID, traceID db
|
222 | 223 | }
|
223 | 224 |
|
224 | 225 | func convertSpanID(spanID pdata.SpanID) (dbmodel.SpanID, error) {
|
225 |
| - spanIDInt := tracetranslator.BytesToUInt64SpanID(spanID.Bytes()) |
226 |
| - if spanIDInt == 0 { |
| 226 | + if !spanID.IsValid() { |
227 | 227 | return "", errZeroSpanID
|
228 | 228 | }
|
229 |
| - return dbmodel.SpanID(fmt.Sprintf("%016x", spanIDInt)), nil |
| 229 | + src := spanID.Bytes() |
| 230 | + dst := make([]byte, hex.EncodedLen(len(src))) |
| 231 | + hex.Encode(dst, src[:]) |
| 232 | + return dbmodel.SpanID(dst), nil |
230 | 233 | }
|
231 | 234 |
|
232 | 235 | func convertTraceID(traceID pdata.TraceID) (dbmodel.TraceID, error) {
|
233 |
| - high, low := tracetranslator.BytesToUInt64TraceID(traceID.Bytes()) |
234 |
| - if low == 0 && high == 0 { |
| 236 | + if !traceID.IsValid() { |
235 | 237 | return "", errZeroTraceID
|
236 | 238 | }
|
237 |
| - return dbmodel.TraceID(traceIDToString(high, low)), nil |
238 |
| -} |
239 |
| - |
240 |
| -func traceIDToString(high, low uint64) string { |
241 |
| - if high == 0 { |
242 |
| - return fmt.Sprintf("%016x", low) |
243 |
| - } |
244 |
| - return fmt.Sprintf("%016x%016x", high, low) |
| 239 | + src := traceID.Bytes() |
| 240 | + dst := make([]byte, hex.EncodedLen(len(src))) |
| 241 | + hex.Encode(dst, src[:]) |
| 242 | + return dbmodel.TraceID(dst), nil |
245 | 243 | }
|
246 | 244 |
|
247 | 245 | func (c *Translator) process(resource pdata.Resource) *dbmodel.Process {
|
|
0 commit comments