Skip to content

Commit b3a901c

Browse files
committed
end
Signed-off-by: Manik2708 <mehtamanik96@gmail.com>
1 parent 9d64828 commit b3a901c

File tree

3 files changed

+69
-73
lines changed

3 files changed

+69
-73
lines changed

internal/storage/v2/elasticsearch/tracestore/tag_appender_test.go

Lines changed: 50 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ import (
77
"testing"
88

99
"github.com/stretchr/testify/assert"
10+
"go.opentelemetry.io/collector/pdata/pcommon"
1011
"go.opentelemetry.io/collector/pdata/ptrace"
1112
conventions "go.opentelemetry.io/collector/semconv/v1.16.0"
1213

1314
"github.com/jaegertracing/jaeger-idl/model/v1"
1415
"github.com/jaegertracing/jaeger/internal/storage/elasticsearch/dbmodel"
1516
)
1617

17-
func TestGetTagFromStatusCode(t *testing.T) {
18+
func TestAppendStatusCodeTag(t *testing.T) {
1819
tests := []struct {
1920
name string
2021
code ptrace.StatusCode
@@ -53,7 +54,7 @@ func TestGetTagFromStatusCode(t *testing.T) {
5354
}
5455
}
5556

56-
func TestGetTagFromStatusMsg(t *testing.T) {
57+
func TestAppendStatusMsgTag(t *testing.T) {
5758
tagAppender := newTagAppender(true, nil, ".")
5859
tagAppender.appendStatusMsgTag("")
5960
got, tagMap := tagAppender.getTags()
@@ -66,87 +67,82 @@ func TestGetTagFromStatusMsg(t *testing.T) {
6667
assert.EqualValues(t, "test-error", tag)
6768
}
6869

69-
func TestGetTagFromSpanKind(t *testing.T) {
70+
func TestAppendSpanKindTag(t *testing.T) {
7071
tests := []struct {
71-
name string
72-
kind ptrace.SpanKind
73-
tag dbmodel.KeyValue
74-
ok bool
72+
name string
73+
kind ptrace.SpanKind
74+
value string
75+
ok bool
7576
}{
7677
{
77-
name: "unspecified",
78-
kind: ptrace.SpanKindUnspecified,
79-
tag: dbmodel.KeyValue{},
80-
ok: false,
78+
name: "unspecified",
79+
kind: ptrace.SpanKindUnspecified,
80+
value: "",
81+
ok: false,
8182
},
8283

8384
{
84-
name: "client",
85-
kind: ptrace.SpanKindClient,
86-
tag: dbmodel.KeyValue{
87-
Key: model.SpanKindKey,
88-
Type: dbmodel.StringType,
89-
Value: string(model.SpanKindClient),
90-
},
91-
ok: true,
85+
name: "client",
86+
kind: ptrace.SpanKindClient,
87+
value: string(model.SpanKindClient),
88+
ok: true,
9289
},
9390

9491
{
95-
name: "server",
96-
kind: ptrace.SpanKindServer,
97-
tag: dbmodel.KeyValue{
98-
Key: model.SpanKindKey,
99-
Type: dbmodel.StringType,
100-
Value: string(model.SpanKindServer),
101-
},
102-
ok: true,
92+
name: "server",
93+
kind: ptrace.SpanKindServer,
94+
value: string(model.SpanKindServer),
95+
ok: true,
10396
},
10497

10598
{
106-
name: "producer",
107-
kind: ptrace.SpanKindProducer,
108-
tag: dbmodel.KeyValue{
109-
Key: model.SpanKindKey,
110-
Type: dbmodel.StringType,
111-
Value: string(model.SpanKindProducer),
112-
},
113-
ok: true,
99+
name: "producer",
100+
kind: ptrace.SpanKindProducer,
101+
value: string(model.SpanKindProducer),
102+
ok: true,
114103
},
115104

116105
{
117-
name: "consumer",
118-
kind: ptrace.SpanKindConsumer,
119-
tag: dbmodel.KeyValue{
120-
Key: model.SpanKindKey,
121-
Type: dbmodel.StringType,
122-
Value: string(model.SpanKindConsumer),
123-
},
124-
ok: true,
106+
name: "consumer",
107+
kind: ptrace.SpanKindConsumer,
108+
value: string(model.SpanKindConsumer),
109+
ok: true,
125110
},
126111

127112
{
128-
name: "internal",
129-
kind: ptrace.SpanKindInternal,
130-
tag: dbmodel.KeyValue{
131-
Key: model.SpanKindKey,
132-
Type: dbmodel.StringType,
133-
Value: string(model.SpanKindInternal),
134-
},
135-
ok: true,
113+
name: "internal",
114+
kind: ptrace.SpanKindInternal,
115+
value: string(model.SpanKindInternal),
116+
ok: true,
136117
},
137118
}
138119

139120
for _, test := range tests {
140121
t.Run(test.name, func(t *testing.T) {
141-
tagAppender := newTagAppender(true, nil, ".")
122+
tagAppender := newTagAppender(true, nil, "#")
142123
tagAppender.appendSpanKindTag(test.kind)
143124
tags, tagMap := tagAppender.getTags()
144125
assert.Empty(t, tags)
145-
tag, ok := tagMap[test.tag.Key]
126+
tag, ok := tagMap["span#kind"]
146127
assert.Equal(t, test.ok, ok)
147128
if test.ok {
148-
assert.EqualValues(t, test.tag.Value, tag)
129+
assert.EqualValues(t, test.value, tag)
149130
}
150131
})
151132
}
152133
}
134+
135+
func TestAppendTagWhenTagKeysAsField(t *testing.T) {
136+
tagKeysAsFields := map[string]bool{
137+
"testing.key.1": true,
138+
}
139+
tagAppender := newTagAppender(false, tagKeysAsFields, "#")
140+
tagAppender.appendTag("testing.key.1", pcommon.NewValueInt(1))
141+
tagAppender.appendTag("testing.key.2", pcommon.NewValueInt(2))
142+
tags, tagMap := tagAppender.getTags()
143+
assert.Len(t, tags, 1)
144+
assert.Len(t, tagMap, 1)
145+
assert.Equal(t, int64(1), tagMap["testing#key#1"])
146+
expected := dbmodel.KeyValue{Key: "testing.key.2", Type: "int64", Value: "2"}
147+
assert.Equal(t, expected, tags[0])
148+
}

internal/storage/v2/elasticsearch/tracestore/to_dbmodel.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,25 @@ const (
2424
tagHTTPStatusMsg = "http.status_message"
2525
)
2626

27-
// NewToDB creates FromDomain used to convert model span to db span
28-
func NewToDB(allTagsAsObject bool, tagKeysAsFields []string, tagDotReplacement string) ToDB {
27+
// NewToDBModel creates FromDomain used to convert model span to db span
28+
func NewToDBModel(allTagsAsObject bool, tagKeysAsFields []string, tagDotReplacement string) ToDBModel {
2929
tags := map[string]bool{}
3030
for _, k := range tagKeysAsFields {
3131
tags[k] = true
3232
}
33-
return ToDB{allTagsAsFields: allTagsAsObject, tagKeysAsFields: tags, tagDotReplacement: tagDotReplacement}
33+
return ToDBModel{allTagsAsFields: allTagsAsObject, tagKeysAsFields: tags, tagDotReplacement: tagDotReplacement}
3434
}
3535

36-
// ToDB is used to convert model span to db span
37-
type ToDB struct {
36+
// ToDBModel is used to convert model span to db span
37+
type ToDBModel struct {
3838
allTagsAsFields bool
3939
tagKeysAsFields map[string]bool
4040
tagDotReplacement string
4141
}
4242

43-
// ToDBModel translates internal trace data into the DB Spans.
43+
// ConvertToDBModel translates internal trace data into the DB Spans.
4444
// Returns slice of translated DB Spans and error if translation failed.
45-
func (t ToDB) ToDBModel(td ptrace.Traces) []dbmodel.Span {
45+
func (t ToDBModel) ConvertToDBModel(td ptrace.Traces) []dbmodel.Span {
4646
resourceSpans := td.ResourceSpans()
4747

4848
if resourceSpans.Len() == 0 {
@@ -61,7 +61,7 @@ func (t ToDB) ToDBModel(td ptrace.Traces) []dbmodel.Span {
6161
return batches
6262
}
6363

64-
func (t ToDB) resourceSpansToDbSpans(resourceSpans ptrace.ResourceSpans) []dbmodel.Span {
64+
func (t ToDBModel) resourceSpansToDbSpans(resourceSpans ptrace.ResourceSpans) []dbmodel.Span {
6565
resource := resourceSpans.Resource()
6666
scopeSpans := resourceSpans.ScopeSpans()
6767

@@ -85,7 +85,7 @@ func (t ToDB) resourceSpansToDbSpans(resourceSpans ptrace.ResourceSpans) []dbmod
8585
return dbSpans
8686
}
8787

88-
func (t ToDB) resourceToDbProcess(resource pcommon.Resource) dbmodel.Process {
88+
func (t ToDBModel) resourceToDbProcess(resource pcommon.Resource) dbmodel.Process {
8989
process := dbmodel.Process{}
9090
attrs := resource.Attributes()
9191
if attrs.Len() == 0 {
@@ -117,7 +117,7 @@ func appendTagsFromAttributes(dest []dbmodel.KeyValue, attrs pcommon.Map) []dbmo
117117
return dest
118118
}
119119

120-
func (t ToDB) spanToDbSpan(span ptrace.Span, libraryTags pcommon.InstrumentationScope, process dbmodel.Process) dbmodel.Span {
120+
func (t ToDBModel) spanToDbSpan(span ptrace.Span, libraryTags pcommon.InstrumentationScope, process dbmodel.Process) dbmodel.Span {
121121
traceID := dbmodel.TraceID(span.TraceID().String())
122122
parentSpanID := dbmodel.SpanID(span.ParentSpanID().String())
123123
startTime := span.StartTimestamp().AsTime()
@@ -136,7 +136,7 @@ func (t ToDB) spanToDbSpan(span ptrace.Span, libraryTags pcommon.Instrumentation
136136
}
137137
}
138138

139-
func (t ToDB) getDbSpanTags(span ptrace.Span, scope pcommon.InstrumentationScope) ([]dbmodel.KeyValue, map[string]any) {
139+
func (t ToDBModel) getDbSpanTags(span ptrace.Span, scope pcommon.InstrumentationScope) ([]dbmodel.KeyValue, map[string]any) {
140140
tagAppender := newTagAppender(t.allTagsAsFields, t.tagKeysAsFields, t.tagDotReplacement)
141141
tagAppender.appendInstrumentationLibraryTags(scope)
142142
tagAppender.appendSpanKindTag(span.Kind())

internal/storage/v2/elasticsearch/tracestore/to_dbmodel_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func TestEmptyAttributes(t *testing.T) {
2424
scopeSpans := spans.ScopeSpans().AppendEmpty()
2525
spanScope := scopeSpans.Scope()
2626
span := scopeSpans.Spans().AppendEmpty()
27-
toDb := NewToDB(false, nil, ".")
27+
toDb := NewToDBModel(false, nil, ".")
2828
modelSpan := toDb.spanToDbSpan(span, spanScope, dbmodel.Process{})
2929
assert.Empty(t, modelSpan.Tags)
3030
}
@@ -37,7 +37,7 @@ func TestEmptyLinkRefs(t *testing.T) {
3737
span := scopeSpans.Spans().AppendEmpty()
3838
spanLink := span.Links().AppendEmpty()
3939
spanLink.Attributes().PutStr("testing-key", "testing-inputValue")
40-
toDb := NewToDB(false, nil, ".")
40+
toDb := NewToDBModel(false, nil, ".")
4141
modelSpan := toDb.spanToDbSpan(span, spanScope, dbmodel.Process{})
4242
assert.Len(t, modelSpan.References, 1)
4343
assert.Equal(t, dbmodel.FollowsFrom, modelSpan.References[0].RefType)
@@ -49,7 +49,7 @@ func Test_resourceToDbProcess(t *testing.T) {
4949
resource := resourceSpans.Resource()
5050
resource.Attributes().PutStr(conventions.AttributeServiceName, "service")
5151
resource.Attributes().PutStr("foo", "bar")
52-
toDb := NewToDB(false, nil, ".")
52+
toDb := NewToDBModel(false, nil, ".")
5353
process := toDb.resourceToDbProcess(resource)
5454
assert.Equal(t, "service", process.ServiceName)
5555
expected := []dbmodel.KeyValue{
@@ -66,7 +66,7 @@ func Test_resourceToDbProcess_WhenOnlyServiceNameIsPresent(t *testing.T) {
6666
traces := ptrace.NewTraces()
6767
spans := traces.ResourceSpans().AppendEmpty()
6868
spans.Resource().Attributes().PutStr(conventions.AttributeServiceName, "service")
69-
toDb := NewToDB(false, nil, "")
69+
toDb := NewToDBModel(false, nil, "")
7070
process := toDb.resourceToDbProcess(spans.Resource())
7171
assert.Equal(t, "service", process.ServiceName)
7272
}
@@ -200,8 +200,8 @@ func TestToDBModel(t *testing.T) {
200200

201201
for _, test := range tests {
202202
t.Run(test.name, func(t *testing.T) {
203-
toDb := NewToDB(false, nil, "")
204-
jbs := toDb.ToDBModel(test.td)
203+
toDb := NewToDBModel(false, nil, "")
204+
jbs := toDb.ConvertToDBModel(test.td)
205205
if test.db == nil {
206206
assert.Empty(t, jbs)
207207
} else {
@@ -244,8 +244,8 @@ func BenchmarkInternalTracesToDbSpans(b *testing.B) {
244244

245245
b.ResetTimer()
246246
for n := 0; n < b.N; n++ {
247-
toDb := NewToDB(false, nil, "")
248-
batches := toDb.ToDBModel(td)
247+
toDb := NewToDBModel(false, nil, "")
248+
batches := toDb.ConvertToDBModel(td)
249249
assert.NotEmpty(b, batches)
250250
}
251251
}

0 commit comments

Comments
 (0)