@@ -11,9 +11,7 @@ import (
1111
1212 "go.uber.org/zap"
1313
14- "github.com/jaegertracing/jaeger-idl/model/v1"
1514 "github.com/jaegertracing/jaeger/internal/cache"
16- "github.com/jaegertracing/jaeger/internal/storage/v1/api/spanstore/spanstoremetrics"
1715 "github.com/jaegertracing/jaeger/internal/storage/v1/elasticsearch/spanstore/internal/dbmodel"
1816 "github.com/jaegertracing/jaeger/pkg/es"
1917 cfg "github.com/jaegertracing/jaeger/pkg/es/config"
@@ -27,25 +25,25 @@ const (
2725 indexCacheTTLDefault = 48 * time .Hour
2826)
2927
30- type spanWriterMetrics struct {
31- indexCreate * spanstoremetrics.WriteMetrics
32- }
33-
3428type serviceWriter func (string , * dbmodel.Span )
3529
3630// SpanWriter is a wrapper around elastic.Client
3731type SpanWriter struct {
38- client func () es.Client
39- logger * zap.Logger
40- writerMetrics spanWriterMetrics // TODO: build functions to wrap around each Do fn
32+ client func () es.Client
33+ logger * zap.Logger
4134 // indexCache cache.Cache
4235 serviceWriter serviceWriter
43- spanConverter dbmodel.FromDomain
4436 spanServiceIndex spanAndServiceIndexFn
4537}
4638
47- type SpanWriterV1 struct {
48- spanWriter * SpanWriter
39+ // CoreSpanWriter is a DB-Level abstraction which directly deals with database level operations
40+ type CoreSpanWriter interface {
41+ // CreateTemplates creates index templates.
42+ CreateTemplates (spanTemplate , serviceTemplate string , indexPrefix cfg.IndexPrefix ) error
43+ // WriteSpan writes a span and its corresponding service:operation in ElasticSearch
44+ WriteSpan (spanStartTime time.Time , span * dbmodel.Span )
45+ // Close closes CoreSpanWriter
46+ Close () error
4947}
5048
5149// SpanWriterParams holds constructor parameters for NewSpanWriter
@@ -64,13 +62,6 @@ type SpanWriterParams struct {
6462 ServiceCacheTTL time.Duration
6563}
6664
67- // NewSpanWriterV1 returns the SpanWriterV1 for use
68- func NewSpanWriterV1 (p SpanWriterParams ) * SpanWriterV1 {
69- return & SpanWriterV1 {
70- spanWriter : NewSpanWriter (p ),
71- }
72- }
73-
7465// NewSpanWriter creates a new SpanWriter for use
7566func NewSpanWriter (p SpanWriterParams ) * SpanWriter {
7667 serviceCacheTTL := p .ServiceCacheTTL
@@ -89,22 +80,13 @@ func NewSpanWriter(p SpanWriterParams) *SpanWriter {
8980
9081 serviceOperationStorage := NewServiceOperationStorage (p .Client , p .Logger , serviceCacheTTL )
9182 return & SpanWriter {
92- client : p .Client ,
93- logger : p .Logger ,
94- writerMetrics : spanWriterMetrics {
95- indexCreate : spanstoremetrics .NewWriter (p .MetricsFactory , "index_create" ),
96- },
83+ client : p .Client ,
84+ logger : p .Logger ,
9785 serviceWriter : serviceOperationStorage .Write ,
98- spanConverter : dbmodel .NewFromDomain (p .AllTagsAsFields , p .TagKeysAsFields , p .TagDotReplacement ),
9986 spanServiceIndex : getSpanAndServiceIndexFn (p , writeAliasSuffix ),
10087 }
10188}
10289
103- // CreateTemplates creates index templates.
104- func (s * SpanWriterV1 ) CreateTemplates (spanTemplate , serviceTemplate string , indexPrefix cfg.IndexPrefix ) error {
105- return s .spanWriter .CreateTemplates (spanTemplate , serviceTemplate , indexPrefix )
106- }
107-
10890// CreateTemplates creates index templates.
10991func (s * SpanWriter ) CreateTemplates (spanTemplate , serviceTemplate string , indexPrefix cfg.IndexPrefix ) error {
11092 jaegerSpanIdx := indexPrefix .Apply ("jaeger-span" )
@@ -146,23 +128,11 @@ func (s *SpanWriter) WriteSpan(spanStartTime time.Time, span *dbmodel.Span) {
146128 s .logger .Debug ("Wrote span to ES index" , zap .String ("index" , spanIndexName ))
147129}
148130
149- // WriteSpan writes a span and its corresponding service:operation in ElasticSearch
150- func (s * SpanWriterV1 ) WriteSpan (_ context.Context , span * model.Span ) error {
151- jsonSpan := s .spanWriter .spanConverter .FromDomainEmbedProcess (span )
152- s .spanWriter .WriteSpan (span .StartTime , jsonSpan )
153- return nil
154- }
155-
156131// Close closes SpanWriter
157132func (s * SpanWriter ) Close () error {
158133 return s .client ().Close ()
159134}
160135
161- // Close closes SpanWriter
162- func (s * SpanWriterV1 ) Close () error {
163- return s .spanWriter .Close ()
164- }
165-
166136func keyInCache (key string , c cache.Cache ) bool {
167137 return c .Get (key ) != nil
168138}
0 commit comments