155 lines
4.6 KiB
Go
155 lines
4.6 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package mocks
|
|
|
|
import (
|
|
"github.com/hyperledger/fabric/common/metrics"
|
|
"github.com/hyperledger/fabric/common/metrics/metricsfakes"
|
|
gmetrics "github.com/hyperledger/fabric/gossip/metrics"
|
|
)
|
|
|
|
type TestMetricProvider struct {
|
|
FakeProvider *metricsfakes.Provider
|
|
|
|
FakeHeightGauge *metricsfakes.Gauge
|
|
FakeCommitDurationHist *metricsfakes.Histogram
|
|
FakePayloadBufferSizeGauge *metricsfakes.Gauge
|
|
|
|
FakeDeclarationGauge *metricsfakes.Gauge
|
|
|
|
FakeSentMessages *metricsfakes.Counter
|
|
FakeBufferOverflow *metricsfakes.Counter
|
|
FakeReceivedMessages *metricsfakes.Counter
|
|
|
|
FakeTotalGauge *metricsfakes.Gauge
|
|
|
|
FakeValidationDuration *metricsfakes.Histogram
|
|
FakeListMissingPrivateDataDuration *metricsfakes.Histogram
|
|
FakeFetchDuration *metricsfakes.Histogram
|
|
FakeCommitPrivateDataDuration *metricsfakes.Histogram
|
|
FakePurgeDuration *metricsfakes.Histogram
|
|
FakeSendDuration *metricsfakes.Histogram
|
|
FakeReconciliationDuration *metricsfakes.Histogram
|
|
FakePullDuration *metricsfakes.Histogram
|
|
FakeRetrieveDuration *metricsfakes.Histogram
|
|
}
|
|
|
|
func TestUtilConstructMetricProvider() *TestMetricProvider {
|
|
fakeProvider := &metricsfakes.Provider{}
|
|
|
|
fakeHeightGauge := testUtilConstructGauge()
|
|
fakeCommitDurationHist := testUtilConstructHist()
|
|
fakePayloadBufferSizeGauge := testUtilConstructGauge()
|
|
|
|
fakeDeclarationGauge := testUtilConstructGauge()
|
|
|
|
fakeSentMessages := testUtilConstructCounter()
|
|
fakeBufferOverflow := testUtilConstructCounter()
|
|
fakeReceivedMessages := testUtilConstructCounter()
|
|
|
|
fakeTotalGauge := testUtilConstructGauge()
|
|
|
|
fakeValidationDuration := testUtilConstructHist()
|
|
fakeListMissingPrivateDataDuration := testUtilConstructHist()
|
|
fakeFetchDuration := testUtilConstructHist()
|
|
fakeCommitPrivateDataDuration := testUtilConstructHist()
|
|
fakePurgeDuration := testUtilConstructHist()
|
|
fakeSendDuration := testUtilConstructHist()
|
|
fakeReconciliationDuration := testUtilConstructHist()
|
|
fakePullDuration := testUtilConstructHist()
|
|
fakeRetrieveDuration := testUtilConstructHist()
|
|
|
|
fakeProvider.NewCounterStub = func(opts metrics.CounterOpts) metrics.Counter {
|
|
switch opts.Name {
|
|
case gmetrics.BufferOverflowOpts.Name:
|
|
return fakeBufferOverflow
|
|
case gmetrics.SentMessagesOpts.Name:
|
|
return fakeSentMessages
|
|
case gmetrics.ReceivedMessagesOpts.Name:
|
|
return fakeReceivedMessages
|
|
}
|
|
return nil
|
|
}
|
|
fakeProvider.NewHistogramStub = func(opts metrics.HistogramOpts) metrics.Histogram {
|
|
switch opts.Name {
|
|
case gmetrics.CommitDurationOpts.Name:
|
|
return fakeCommitDurationHist
|
|
case gmetrics.ValidationDurationOpts.Name:
|
|
return fakeValidationDuration
|
|
case gmetrics.ListMissingPrivateDataDurationOpts.Name:
|
|
return fakeListMissingPrivateDataDuration
|
|
case gmetrics.FetchDurationOpts.Name:
|
|
return fakeFetchDuration
|
|
case gmetrics.CommitPrivateDataDurationOpts.Name:
|
|
return fakeCommitPrivateDataDuration
|
|
case gmetrics.PurgeDurationOpts.Name:
|
|
return fakePurgeDuration
|
|
case gmetrics.SendDurationOpts.Name:
|
|
return fakeSendDuration
|
|
case gmetrics.ReconciliationDurationOpts.Name:
|
|
return fakeReconciliationDuration
|
|
case gmetrics.PullDurationOpts.Name:
|
|
return fakePullDuration
|
|
case gmetrics.RetrieveDurationOpts.Name:
|
|
return fakeRetrieveDuration
|
|
}
|
|
return nil
|
|
}
|
|
fakeProvider.NewGaugeStub = func(opts metrics.GaugeOpts) metrics.Gauge {
|
|
switch opts.Name {
|
|
case gmetrics.PayloadBufferSizeOpts.Name:
|
|
return fakePayloadBufferSizeGauge
|
|
case gmetrics.HeightOpts.Name:
|
|
return fakeHeightGauge
|
|
case gmetrics.LeaderDeclerationOpts.Name:
|
|
return fakeDeclarationGauge
|
|
case gmetrics.TotalOpts.Name:
|
|
return fakeTotalGauge
|
|
}
|
|
return nil
|
|
}
|
|
|
|
return &TestMetricProvider{
|
|
fakeProvider,
|
|
fakeHeightGauge,
|
|
fakeCommitDurationHist,
|
|
fakePayloadBufferSizeGauge,
|
|
fakeDeclarationGauge,
|
|
fakeSentMessages,
|
|
fakeBufferOverflow,
|
|
fakeReceivedMessages,
|
|
fakeTotalGauge,
|
|
fakeValidationDuration,
|
|
fakeListMissingPrivateDataDuration,
|
|
fakeFetchDuration,
|
|
fakeCommitPrivateDataDuration,
|
|
fakePurgeDuration,
|
|
fakeSendDuration,
|
|
fakeReconciliationDuration,
|
|
fakePullDuration,
|
|
fakeRetrieveDuration,
|
|
}
|
|
}
|
|
|
|
func testUtilConstructGauge() *metricsfakes.Gauge {
|
|
fakeGauge := &metricsfakes.Gauge{}
|
|
fakeGauge.WithReturns(fakeGauge)
|
|
return fakeGauge
|
|
}
|
|
|
|
func testUtilConstructHist() *metricsfakes.Histogram {
|
|
fakeHist := &metricsfakes.Histogram{}
|
|
fakeHist.WithReturns(fakeHist)
|
|
return fakeHist
|
|
}
|
|
|
|
func testUtilConstructCounter() *metricsfakes.Counter {
|
|
fakeCounter := &metricsfakes.Counter{}
|
|
fakeCounter.WithReturns(fakeCounter)
|
|
return fakeCounter
|
|
}
|