Skip to content

Commit

Permalink
Remove unused method GetProbabilitiesAndQPS from samplingstore (#3339)
Browse files Browse the repository at this point in the history
* Remove unused method `GetProbabilitiesAndQPS` from samplingstore

Signed-off-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>

* Remove unused constant

Signed-off-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
  • Loading branch information
srikanthccv committed Oct 24, 2021
1 parent e8881b9 commit b53d901
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 110 deletions.
23 changes: 3 additions & 20 deletions plugin/storage/cassandra/samplingstore/storage.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,9 @@ const (
constBucket = 1
constBucketStr = `1`

insertThroughput = `INSERT INTO operation_throughput(bucket, ts, throughput) VALUES (?, ?, ?)`
getThroughput = `SELECT throughput FROM operation_throughput WHERE bucket IN ` + buckets + ` AND ts > ? AND ts <= ?`
insertProbabilities = `INSERT INTO sampling_probabilities(bucket, ts, hostname, probabilities) VALUES (?, ?, ?, ?)`
getProbabilities = `SELECT probabilities, hostname FROM sampling_probabilities WHERE bucket = ` + constBucketStr +
` AND ts > ? AND ts <= ?`
insertThroughput = `INSERT INTO operation_throughput(bucket, ts, throughput) VALUES (?, ?, ?)`
getThroughput = `SELECT throughput FROM operation_throughput WHERE bucket IN ` + buckets + ` AND ts > ? AND ts <= ?`
insertProbabilities = `INSERT INTO sampling_probabilities(bucket, ts, hostname, probabilities) VALUES (?, ?, ?, ?)`
getLatestProbabilities = `SELECT probabilities FROM sampling_probabilities WHERE bucket = ` + constBucketStr + ` LIMIT 1`
)

Expand Down Expand Up @@ -115,21 +113,6 @@ func (s *SamplingStore) GetLatestProbabilities() (model.ServiceOperationProbabil
return s.stringToProbabilities(probabilitiesStr), nil
}

// GetProbabilitiesAndQPS implements samplingstore.Reader#GetProbabilitiesAndQPS.
func (s *SamplingStore) GetProbabilitiesAndQPS(start, end time.Time) (map[string][]model.ServiceOperationData, error) {
iter := s.session.Query(getProbabilities, gocql.UUIDFromTime(start), gocql.UUIDFromTime(end)).Iter()
hostProbabilitiesAndQPS := make(map[string][]model.ServiceOperationData)
var probabilitiesAndQPSStr, host string
for iter.Scan(&probabilitiesAndQPSStr, &host) {
hostProbabilitiesAndQPS[host] = append(hostProbabilitiesAndQPS[host], s.stringToProbabilitiesAndQPS(probabilitiesAndQPSStr))
}
if err := iter.Close(); err != nil {
err = fmt.Errorf("error reading probabilities and qps from storage: %w", err)
return nil, err
}
return hostProbabilitiesAndQPS, nil
}

// This is random enough for storage purposes
func generateRandomBucket() int64 {
return time.Now().UnixNano() % 10
Expand Down
66 changes: 0 additions & 66 deletions plugin/storage/cassandra/samplingstore/storage_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,72 +225,6 @@ func TestGetThroughput(t *testing.T) {
}
}

func TestGetProbabilitiesAndQPS(t *testing.T) {
testCases := []struct {
caption string
queryError error
expectedError string
}{
{
caption: "success",
},
{
caption: "failure",
queryError: errors.New("query error"),
expectedError: "error reading probabilities and qps from storage: query error",
},
}
for _, tc := range testCases {
testCase := tc // capture loop var
t.Run(testCase.caption, func(t *testing.T) {
withSamplingStore(func(s *samplingStoreTest) {
scanMatcher := func() interface{} {
probabilitiesAndQPSStr := []string{
"svc,op,0.84,40\n",
}
scanFunc := func(args []interface{}) bool {
if len(probabilitiesAndQPSStr) == 0 {
return false
}
for _, arg := range args {
if ptr, ok := arg.(*string); ok {
*ptr = probabilitiesAndQPSStr[0]
break
}
}
probabilitiesAndQPSStr = probabilitiesAndQPSStr[1:]
return true
}
return mock.MatchedBy(scanFunc)
}

iter := &mocks.Iterator{}
iter.On("Scan", scanMatcher()).Return(true)
iter.On("Scan", scanMatcher()).Return(false)
iter.On("Close").Return(testCase.queryError)

query := &mocks.Query{}
query.On("Iter").Return(iter)

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

hostProbabilitiesAndQPS, err := s.store.GetProbabilitiesAndQPS(testTime, testTime)

if testCase.expectedError == "" {
assert.NoError(t, err)
assert.Len(t, hostProbabilitiesAndQPS, 1)
pAndQ := hostProbabilitiesAndQPS[""]
assert.Len(t, pAndQ, 1)
assert.Equal(t, 0.84, pAndQ[0]["svc"]["op"].Probability)
assert.Equal(t, float64(40), pAndQ[0]["svc"]["op"].QPS)
} else {
assert.EqualError(t, err, testCase.expectedError)
}
})
})
}
}

func TestGetLatestProbabilities(t *testing.T) {
testCases := []struct {
caption string
Expand Down
3 changes: 0 additions & 3 deletions storage/samplingstore/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@ type Store interface {
// GetThroughput retrieves aggregated throughput for operations within a time range.
GetThroughput(start, end time.Time) ([]*model.Throughput, error)

// GetProbabilitiesAndQPS retrieves the sampling probabilities and measured qps per host within a time range.
GetProbabilitiesAndQPS(start, end time.Time) (map[string][]model.ServiceOperationData, error)

// GetLatestProbabilities retrieves the latest sampling probabilities.
GetLatestProbabilities() (model.ServiceOperationProbabilities, error)
}
21 changes: 0 additions & 21 deletions storage/samplingstore/mocks/Store.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,27 +72,6 @@ func (_m *Store) GetThroughput(start time.Time, end time.Time) ([]*model.Through

return r0, r1
}
func (_m *Store) GetProbabilitiesAndQPS(start time.Time, end time.Time) (map[string][]model.ServiceOperationData, error) {
ret := _m.Called(start, end)

var r0 map[string][]model.ServiceOperationData
if rf, ok := ret.Get(0).(func(time.Time, time.Time) map[string][]model.ServiceOperationData); ok {
r0 = rf(start, end)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(map[string][]model.ServiceOperationData)
}
}

var r1 error
if rf, ok := ret.Get(1).(func(time.Time, time.Time) error); ok {
r1 = rf(start, end)
} else {
r1 = ret.Error(1)
}

return r0, r1
}
func (_m *Store) GetLatestProbabilities() (model.ServiceOperationProbabilities, error) {
ret := _m.Called()

Expand Down

0 comments on commit b53d901

Please sign in to comment.