github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/gossip/metrics/metrics_test.go (about) 1 /* 2 Copyright hechain. All Rights Reserved. 3 4 SPDX-License-Identifier: Apache-2.0 5 */ 6 7 package metrics 8 9 import ( 10 "testing" 11 12 "github.com/hechain20/hechain/common/metrics/metricsfakes" 13 "github.com/stretchr/testify/require" 14 ) 15 16 func TestMetrics(t *testing.T) { 17 provider := &metricsfakes.Provider{} 18 19 counter := &metricsfakes.Counter{} 20 gauge := &metricsfakes.Gauge{} 21 histogram := &metricsfakes.Histogram{} 22 23 provider.NewCounterReturns(counter) 24 provider.NewGaugeReturns(gauge) 25 provider.NewHistogramReturns(histogram) 26 27 gossipMetrics := NewGossipMetrics(provider) 28 29 // make sure all metrics were created 30 require.NotNil(t, gossipMetrics) 31 32 require.NotNil(t, gossipMetrics.StateMetrics) 33 require.NotNil(t, gossipMetrics.StateMetrics.Height) 34 require.NotNil(t, gossipMetrics.StateMetrics.CommitDuration) 35 require.NotNil(t, gossipMetrics.StateMetrics.PayloadBufferSize) 36 37 require.NotNil(t, gossipMetrics.ElectionMetrics) 38 require.NotNil(t, gossipMetrics.ElectionMetrics.Declaration) 39 40 require.NotNil(t, gossipMetrics.CommMetrics) 41 require.NotNil(t, gossipMetrics.CommMetrics.SentMessages) 42 require.NotNil(t, gossipMetrics.CommMetrics.ReceivedMessages) 43 require.NotNil(t, gossipMetrics.CommMetrics.BufferOverflow) 44 45 require.NotNil(t, gossipMetrics.MembershipMetrics) 46 require.NotNil(t, gossipMetrics.MembershipMetrics.Total) 47 48 require.NotNil(t, gossipMetrics.PrivdataMetrics) 49 require.NotNil(t, gossipMetrics.PrivdataMetrics.CommitPrivateDataDuration) 50 require.NotNil(t, gossipMetrics.PrivdataMetrics.FetchDuration) 51 require.NotNil(t, gossipMetrics.PrivdataMetrics.ListMissingPrivateDataDuration) 52 require.NotNil(t, gossipMetrics.PrivdataMetrics.PurgeDuration) 53 require.NotNil(t, gossipMetrics.PrivdataMetrics.ValidationDuration) 54 require.NotNil(t, gossipMetrics.PrivdataMetrics.SendDuration) 55 require.NotNil(t, gossipMetrics.PrivdataMetrics.ReconciliationDuration) 56 require.NotNil(t, gossipMetrics.PrivdataMetrics.PullDuration) 57 require.NotNil(t, gossipMetrics.PrivdataMetrics.RetrieveDuration) 58 }