func initializeMetrics(messageTagger *tagger.Tagger, config *config.Config, logger *gosteno.Logger) { metricsAggregator := messageaggregator.New(messageTagger, logger) eventWriter := eventwriter.New("MetronAgent", metricsAggregator) metricSender := metric_sender.NewMetricSender(eventWriter) metricBatcher := metricbatcher.New(metricSender, time.Duration(config.MetricBatchIntervalSeconds)*time.Second) metrics.Initialize(metricSender, metricBatcher) }
func initializeMetrics(byteSigner *signer.Signer, config *config.Config, logger *gosteno.Logger) { metricsMarshaller := eventmarshaller.New(byteSigner, logger) metricsTagger := tagger.New(config.Deployment, config.Job, config.Index, metricsMarshaller) metricsAggregator := messageaggregator.New(metricsTagger, logger) eventWriter := eventwriter.New("MetronAgent", metricsAggregator) metricSender := metric_sender.NewMetricSender(eventWriter) metricBatcher := metricbatcher.New(metricSender, time.Duration(config.MetricBatchIntervalSeconds)*time.Second) metrics.Initialize(metricSender, metricBatcher) }
func initializeMetrics(config *config.Config, stopChan chan struct{}, logger *gosteno.Logger) (*metricbatcher.MetricBatcher, *eventwriter.EventWriter) { eventWriter := eventwriter.New(origin) metricSender := metric_sender.NewMetricSender(eventWriter) metricBatcher := metricbatcher.New(metricSender, time.Duration(config.MetricBatchIntervalMilliseconds)*time.Millisecond) metrics.Initialize(metricSender, metricBatcher) stats := runtime_stats.NewRuntimeStats(eventWriter, time.Duration(config.RuntimeStatsIntervalMilliseconds)*time.Millisecond) go stats.Run(stopChan) return metricBatcher, eventWriter }
func initializeMetrics(messageTagger *tagger.Tagger, config *config.Config, stopChan chan struct{}, logger *gosteno.Logger) { metricsAggregator := messageaggregator.New(messageTagger, logger) eventWriter := eventwriter.New("MetronAgent", metricsAggregator) metricSender := metric_sender.NewMetricSender(eventWriter) metricBatcher := metricbatcher.New(metricSender, time.Duration(config.MetricBatchIntervalMilliseconds)*time.Millisecond) metrics.Initialize(metricSender, metricBatcher) stats := runtime_stats.NewRuntimeStats(eventWriter, time.Duration(config.RuntimeStatsIntervalMilliseconds)*time.Millisecond) go stats.Run(stopChan) }
import ( "metron/eventwriter" "metron/writers/mocks" "github.com/cloudfoundry/sonde-go/events" "github.com/gogo/protobuf/proto" "github.com/cloudfoundry/dropsonde/emitter" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("EventWriter", func() { It("writes emitted events", func() { writer := mocks.MockEnvelopeWriter{} ew := eventwriter.New("Africa", &writer) event := &events.ValueMetric{ Name: proto.String("ValueName"), Value: proto.Float64(13), Unit: proto.String("giraffes"), } ew.Emit(event) Expect(writer.Events).To(HaveLen(1)) Expect(writer.Events[0].GetOrigin()).To(Equal("Africa")) Expect(writer.Events[0].GetEventType()).To(Equal(events.Envelope_ValueMetric)) Expect(writer.Events[0].GetValueMetric()).To(Equal(event)) }) It("satisfies the dropsonde/emitter/EventEmitter interface", func() {
. "github.com/onsi/gomega" "github.com/cloudfoundry/dropsonde" "github.com/cloudfoundry/sonde-go/events" "github.com/gogo/protobuf/proto" ) var _ = Describe("EventWriter", func() { var ( mockWriter *mocks.MockEnvelopeWriter eventWriter *eventwriter.EventWriter ) BeforeEach(func() { mockWriter = &mocks.MockEnvelopeWriter{} eventWriter = eventwriter.New("Africa") }) Describe("Emit", func() { It("writes emitted events", func() { eventWriter.SetWriter(mockWriter) event := &events.ValueMetric{ Name: proto.String("ValueName"), Value: proto.Float64(13), Unit: proto.String("giraffes"), } eventWriter.Emit(event) Expect(mockWriter.Events).To(HaveLen(1)) Expect(mockWriter.Events[0].GetOrigin()).To(Equal("Africa"))