var sinkManagerMetrics *metrics.SinkManagerMetrics var sink sinks.Sink var dropUpdateChan chan int64 BeforeEach(func() { fakeEventEmitter.Reset() dropUpdateChan = make(chan int64) sinkManagerMetrics = metrics.NewSinkManagerMetrics(dropUpdateChan) }) It("emits metrics for dump sinks", func() { Expect(fakeEventEmitter.GetMessages()).To(BeEmpty()) sink = &dump.DumpSink{} sinkManagerMetrics.Inc(sink) Expect(fakeEventEmitter.GetMessages()[0].Event.(*events.ValueMetric)).To(Equal(&events.ValueMetric{ Name: proto.String("messageRouter.numberOfDumpSinks"), Value: proto.Float64(1), Unit: proto.String("sinks"), })) sinkManagerMetrics.Dec(sink) Expect(fakeEventEmitter.GetMessages()[1].Event.(*events.ValueMetric)).To(Equal(&events.ValueMetric{ Name: proto.String("messageRouter.numberOfDumpSinks"), Value: proto.Float64(0), Unit: proto.String("sinks"), })) })