Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit f322f40

Browse files
committedAug 30, 2020
Context
Signed-off-by: yoave23 <Yoav.eyal@logz.io>
1 parent af985ae commit f322f40

File tree

23 files changed

+56
-46
lines changed

23 files changed

+56
-46
lines changed
 

‎cmd/opentelemetry/app/internal/reader/es/esdependencyreader/dependency_store.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,11 @@ func (r *DependencyStore) WriteDependencies(ts time.Time, dependencies []model.D
8282
}
8383

8484
// GetDependencies implements dependencystore.Reader
85-
func (r *DependencyStore) GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
85+
func (r *DependencyStore) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
8686
searchBody := getSearchBody(endTs, lookback)
8787

8888
indices := dailyIndices(r.indexPrefix, endTs, lookback)
89-
response, err := r.client.Search(context.Background(), searchBody, defaultDocCount, indices...)
89+
response, err := r.client.Search(ctx, searchBody, defaultDocCount, indices...)
9090
if err != nil {
9191
return nil, err
9292
}

‎cmd/opentelemetry/app/internal/reader/es/esdependencyreader/dependency_store_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func TestGetDependencies(t *testing.T) {
8686
},
8787
}
8888
store := NewDependencyStore(client, zap.NewNop(), "foo")
89-
dependencies, err := store.GetDependencies(tsNow, time.Hour)
89+
dependencies, err := store.GetDependencies(context.Background(), tsNow, time.Hour)
9090
require.NoError(t, err)
9191
assert.Equal(t, timeDependencies, dbmodel.TimeDependencies{
9292
Timestamp: tsNow,
@@ -108,7 +108,7 @@ func TestGetDependencies_err_unmarshall(t *testing.T) {
108108
},
109109
}
110110
store := NewDependencyStore(client, zap.NewNop(), "foo")
111-
dependencies, err := store.GetDependencies(tsNow, time.Hour)
111+
dependencies, err := store.GetDependencies(context.Background(), tsNow, time.Hour)
112112
require.Contains(t, err.Error(), "invalid character")
113113
assert.Nil(t, dependencies)
114114
}
@@ -120,7 +120,7 @@ func TestGetDependencies_err_client(t *testing.T) {
120120
}
121121
store := NewDependencyStore(client, zap.NewNop(), "foo")
122122
tsNow := time.Now()
123-
dependencies, err := store.GetDependencies(tsNow, time.Hour)
123+
dependencies, err := store.GetDependencies(context.Background(), tsNow, time.Hour)
124124
require.Error(t, err)
125125
assert.Nil(t, dependencies)
126126
assert.Contains(t, err.Error(), searchErr.Error())

‎cmd/query/app/grpc_handler.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ func (g *GRPCHandler) GetOperations(
165165
func (g *GRPCHandler) GetDependencies(ctx context.Context, r *api_v2.GetDependenciesRequest) (*api_v2.GetDependenciesResponse, error) {
166166
startTime := r.StartTime
167167
endTime := r.EndTime
168-
dependencies, err := g.queryService.GetDependencies(startTime, endTime.Sub(startTime))
168+
dependencies, err := g.queryService.GetDependencies(ctx, startTime, endTime.Sub(startTime))
169169
if err != nil {
170170
g.logger.Error("failed to fetch dependencies", zap.Error(err))
171171
return nil, status.Errorf(codes.Internal, "failed to fetch dependencies: %v", err)

‎cmd/query/app/http_handler.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ func (aH *APIHandler) dependencies(w http.ResponseWriter, r *http.Request) {
285285
}
286286
endTs := time.Unix(0, 0).Add(time.Duration(endTsMillis) * time.Millisecond)
287287

288-
dependencies, err := aH.queryService.GetDependencies(endTs, lookback)
288+
dependencies, err := aH.queryService.GetDependencies(r.Context(), endTs, lookback)
289289
if aH.handleError(w, err, http.StatusInternalServerError) {
290290
return
291291
}

‎cmd/query/app/querysvc/query_service.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ func (qs QueryService) Adjust(trace *model.Trace) (*model.Trace, error) {
121121
}
122122

123123
// GetDependencies implements dependencystore.Reader.GetDependencies
124-
func (qs QueryService) GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
125-
return qs.dependencyReader.GetDependencies(endTs, lookback)
124+
func (qs QueryService) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
125+
return qs.dependencyReader.GetDependencies(ctx, endTs, lookback)
126126
}
127127

128128
// InitArchiveStorage tries to initialize archive storage reader/writer if storage factory supports them.

‎cmd/query/app/querysvc/query_service_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ func TestGetDependencies(t *testing.T) {
259259
endTs := time.Unix(0, 1476374248550*millisToNanosMultiplier)
260260
depsMock.On("GetDependencies", endTs, defaultDependencyLookbackDuration).Return(expectedDependencies, nil).Times(1)
261261

262-
actualDependencies, err := qs.GetDependencies(time.Unix(0, 1476374248550*millisToNanosMultiplier), defaultDependencyLookbackDuration)
262+
actualDependencies, err := qs.GetDependencies(context.Background(), time.Unix(0, 1476374248550*millisToNanosMultiplier), defaultDependencyLookbackDuration)
263263
assert.NoError(t, err)
264264
assert.Equal(t, expectedDependencies, actualDependencies)
265265
}

‎cmd/query/app/ui/placeholder/gen_assets.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎plugin/storage/badger/dependencystore/storage.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func NewDependencyStore(store spanstore.Reader) *DependencyStore {
3535
}
3636

3737
// GetDependencies returns all interservice dependencies, implements DependencyReader
38-
func (s *DependencyStore) GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
38+
func (s *DependencyStore) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
3939
deps := map[string]*model.DependencyLink{}
4040

4141
params := &spanstore.TraceQueryParameters{

‎plugin/storage/badger/dependencystore/storage_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package dependencystore_test
1616

1717
import (
18+
"context"
1819
"fmt"
1920
"io"
2021
"testing"
@@ -66,7 +67,7 @@ func runFactoryTest(tb testing.TB, test func(tb testing.TB, sw spanstore.Writer,
6667
func TestDependencyReader(t *testing.T) {
6768
runFactoryTest(t, func(tb testing.TB, sw spanstore.Writer, dr dependencystore.Reader) {
6869
tid := time.Now()
69-
links, err := dr.GetDependencies(tid, time.Hour)
70+
links, err := dr.GetDependencies(context.Background(), tid, time.Hour)
7071
assert.NoError(t, err)
7172
assert.Empty(t, links)
7273

@@ -94,7 +95,7 @@ func TestDependencyReader(t *testing.T) {
9495
assert.NoError(t, err)
9596
}
9697
}
97-
links, err = dr.GetDependencies(time.Now(), time.Hour)
98+
links, err = dr.GetDependencies(context.Background(), time.Now(), time.Hour)
9899
assert.NoError(t, err)
99100
assert.NotEmpty(t, links)
100101
assert.Equal(t, spans-1, len(links)) // First span does not create a dependency

‎plugin/storage/cassandra/dependencystore/storage.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package dependencystore
1717

1818
import (
19+
"context"
1920
"errors"
2021
"fmt"
2122
"time"
@@ -106,7 +107,7 @@ func (s *DependencyStore) WriteDependencies(ts time.Time, dependencies []model.D
106107
}
107108

108109
// GetDependencies returns all interservice dependencies
109-
func (s *DependencyStore) GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
110+
func (s *DependencyStore) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
110111
startTs := endTs.Add(-1 * lookback)
111112
var query cassandra.Query
112113
switch s.version {

‎plugin/storage/cassandra/dependencystore/storage_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package dependencystore
1717

1818
import (
19+
"context"
1920
"errors"
2021
"strings"
2122
"testing"
@@ -225,7 +226,7 @@ func TestDependencyStoreGetDependencies(t *testing.T) {
225226

226227
s.session.On("Query", mock.AnythingOfType("string"), matchEverything()).Return(query)
227228

228-
deps, err := s.storage.GetDependencies(time.Now(), 48*time.Hour)
229+
deps, err := s.storage.GetDependencies(context.Background(), time.Now(), 48*time.Hour)
229230

230231
if testCase.expectedError == "" {
231232
assert.NoError(t, err)

‎plugin/storage/es/dependencystore/storage.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,13 @@ func (s *DependencyStore) writeDependencies(indexName string, ts time.Time, depe
8181
}
8282

8383
// GetDependencies returns all interservice dependencies
84-
func (s *DependencyStore) GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
84+
func (s *DependencyStore) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
8585
indices := getIndices(s.indexPrefix, endTs, lookback)
8686
searchResult, err := s.client.Search(indices...).
8787
Size(10000). // the default elasticsearch allowed limit
8888
Query(buildTSQuery(endTs, lookback)).
8989
IgnoreUnavailable(true).
90-
Do(s.ctx)
90+
Do(ctx)
9191
if err != nil {
9292
return nil, fmt.Errorf("failed to search for dependencies: %w", err)
9393
}

‎plugin/storage/es/dependencystore/storage_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package dependencystore
1717

1818
import (
19+
"context"
1920
"encoding/json"
2021
"errors"
2122
"strings"
@@ -171,7 +172,7 @@ func TestGetDependencies(t *testing.T) {
171172
searchService.On("IgnoreUnavailable", mock.AnythingOfType("bool")).Return(searchService)
172173
searchService.On("Do", mock.Anything).Return(testCase.searchResult, testCase.searchError)
173174

174-
actual, err := r.storage.GetDependencies(fixedTime, 24*time.Hour)
175+
actual, err := r.storage.GetDependencies(context.Background(), fixedTime, 24*time.Hour)
175176
if testCase.expectedError != "" {
176177
assert.EqualError(t, err, testCase.expectedError)
177178
assert.Nil(t, actual)

‎plugin/storage/es/mappings/gen_assets.go

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎plugin/storage/grpc/shared/grpc_client.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,8 @@ func (c *grpcClient) WriteSpan(span *model.Span) error {
206206
}
207207

208208
// GetDependencies returns all interservice dependencies
209-
func (c *grpcClient) GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
210-
resp, err := c.depsReaderClient.GetDependencies(context.Background(), &storage_v1.GetDependenciesRequest{
209+
func (c *grpcClient) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
210+
resp, err := c.depsReaderClient.GetDependencies(ctx, &storage_v1.GetDependenciesRequest{
211211
EndTime: endTs,
212212
StartTime: endTs.Add(-lookback),
213213
})

‎plugin/storage/grpc/shared/grpc_client_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ func TestGRPCClientGetDependencies(t *testing.T) {
297297
EndTime: end,
298298
}).Return(&storage_v1.GetDependenciesResponse{Dependencies: deps}, nil)
299299

300-
s, err := r.client.GetDependencies(end, lookback)
300+
s, err := r.client.GetDependencies(context.Background(), end, lookback)
301301
assert.NoError(t, err)
302302
assert.Equal(t, deps, s)
303303
})

‎plugin/storage/grpc/shared/grpc_server.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ type grpcServer struct {
3232

3333
// GetDependencies returns all interservice dependencies
3434
func (s *grpcServer) GetDependencies(ctx context.Context, r *storage_v1.GetDependenciesRequest) (*storage_v1.GetDependenciesResponse, error) {
35-
deps, err := s.Impl.DependencyReader().GetDependencies(r.EndTime, r.EndTime.Sub(r.StartTime))
35+
deps, err := s.Impl.DependencyReader().GetDependencies(ctx, r.EndTime, r.EndTime.Sub(r.StartTime))
3636
if err != nil {
3737
return nil, err
3838
}

‎plugin/storage/integration/cassandra_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package integration
1717

1818
import (
19+
"context"
1920
"errors"
2021
"os"
2122
"testing"
@@ -134,7 +135,7 @@ func (s *StorageIntegration) testCassandraGetDependencies(t *testing.T) {
134135
}
135136
require.NoError(t, s.DependencyWriter.WriteDependencies(time.Now(), expected))
136137
s.refresh(t)
137-
actual, err := s.DependencyReader.GetDependencies(time.Now(), 5*time.Minute)
138+
actual, err := s.DependencyReader.GetDependencies(context.Background(), time.Now(), 5*time.Minute)
138139
assert.NoError(t, err)
139140
assert.EqualValues(t, expected, actual)
140141
}

‎plugin/storage/integration/integration.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ func (s *StorageIntegration) testGetDependencies(t *testing.T) {
364364
}
365365
require.NoError(t, s.DependencyWriter.WriteDependencies(time.Now(), expected))
366366
s.refresh(t)
367-
actual, err := s.DependencyReader.GetDependencies(time.Now(), 5*time.Minute)
367+
actual, err := s.DependencyReader.GetDependencies(context.Background(), time.Now(), 5*time.Minute)
368368
assert.NoError(t, err)
369369
assert.EqualValues(t, expected, actual)
370370
}

‎plugin/storage/memory/memory.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func WithConfiguration(configuration config.Configuration) *Store {
5858
}
5959

6060
// GetDependencies returns dependencies between services
61-
func (m *Store) GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
61+
func (m *Store) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
6262
// deduper used below can modify the spans, so we take an exclusive lock
6363
m.Lock()
6464
defer m.Unlock()

‎plugin/storage/memory/memory_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func withMemoryStore(f func(store *Store)) {
139139

140140
func TestStoreGetEmptyDependencies(t *testing.T) {
141141
withMemoryStore(func(store *Store) {
142-
links, err := store.GetDependencies(time.Now(), time.Hour)
142+
links, err := store.GetDependencies(context.Background(), time.Now(), time.Hour)
143143
assert.NoError(t, err)
144144
assert.Empty(t, links)
145145
})
@@ -151,11 +151,11 @@ func TestStoreGetDependencies(t *testing.T) {
151151
assert.NoError(t, store.WriteSpan(childSpan1))
152152
assert.NoError(t, store.WriteSpan(childSpan2))
153153
assert.NoError(t, store.WriteSpan(childSpan2_1))
154-
links, err := store.GetDependencies(time.Now(), time.Hour)
154+
links, err := store.GetDependencies(context.Background(), time.Now(), time.Hour)
155155
assert.NoError(t, err)
156156
assert.Empty(t, links)
157157

158-
links, err = store.GetDependencies(time.Unix(0, 0).Add(time.Hour), time.Hour)
158+
links, err = store.GetDependencies(context.Background(), time.Unix(0, 0).Add(time.Hour), time.Hour)
159159
assert.NoError(t, err)
160160
assert.Equal(t, []model.DependencyLink{{
161161
Parent: "serviceName",

‎storage/dependencystore/interface.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package dependencystore
1717

1818
import (
19+
"context"
1920
"time"
2021

2122
"github.com/jaegertracing/jaeger/model"
@@ -28,5 +29,5 @@ type Writer interface {
2829

2930
// Reader can load service dependencies from storage.
3031
type Reader interface {
31-
GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error)
32+
GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error)
3233
}

‎storage/dependencystore/mocks/Reader.go

+13-9
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,36 @@
1515

1616
package mocks
1717

18-
import dependencystore "github.com/jaegertracing/jaeger/storage/dependencystore"
19-
import mock "github.com/stretchr/testify/mock"
20-
import model "github.com/jaegertracing/jaeger/model"
21-
import time "time"
18+
import (
19+
"context"
20+
21+
"github.com/jaegertracing/jaeger/model"
22+
"github.com/jaegertracing/jaeger/storage/dependencystore"
23+
"github.com/stretchr/testify/mock"
24+
"time"
25+
)
2226

2327
// Reader is an autogenerated mock type for the Reader type
2428
type Reader struct {
2529
mock.Mock
2630
}
2731

2832
// GetDependencies provides a mock function with given fields: endTs, lookback
29-
func (_m *Reader) GetDependencies(endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
33+
func (_m *Reader) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) {
3034
ret := _m.Called(endTs, lookback)
3135

3236
var r0 []model.DependencyLink
33-
if rf, ok := ret.Get(0).(func(time.Time, time.Duration) []model.DependencyLink); ok {
34-
r0 = rf(endTs, lookback)
37+
if rf, ok := ret.Get(0).(func(context.Context, time.Time, time.Duration) []model.DependencyLink); ok {
38+
r0 = rf(ctx, endTs, lookback)
3539
} else {
3640
if ret.Get(0) != nil {
3741
r0 = ret.Get(0).([]model.DependencyLink)
3842
}
3943
}
4044

4145
var r1 error
42-
if rf, ok := ret.Get(1).(func(time.Time, time.Duration) error); ok {
43-
r1 = rf(endTs, lookback)
46+
if rf, ok := ret.Get(1).(func(context.Context, time.Time, time.Duration) error); ok {
47+
r1 = rf(ctx, endTs, lookback)
4448
} else {
4549
r1 = ret.Error(1)
4650
}

0 commit comments

Comments
 (0)
Please sign in to comment.