本文整理汇总了Golang中github.com/cloudfoundry/dropsonde/metricbatcher.New函数的典型用法代码示例。如果您正苦于以下问题:Golang New函数的具体用法?Golang New怎么用?Golang New使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了New函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: initializeMetrics
func initializeMetrics(batchIntervalMilliseconds uint) *metricbatcher.MetricBatcher {
eventEmitter := dropsonde.AutowiredEmitter()
metricSender := metric_sender.NewMetricSender(eventEmitter)
metricBatcher := metricbatcher.New(metricSender, time.Duration(batchIntervalMilliseconds)*time.Millisecond)
metrics.Initialize(metricSender, metricBatcher)
return metricBatcher
}
示例2: initialize
func initialize() {
sender := metric_sender.NewMetricSender(AutowiredEmitter())
batcher := metricbatcher.New(sender, defaultBatchInterval)
metrics.Initialize(sender, batcher)
logs.Initialize(log_sender.NewLogSender(AutowiredEmitter(), statsInterval, gosteno.NewLogger("dropsonde/logs")))
go runtime_stats.NewRuntimeStats(autowiredEmitter, statsInterval).Run(nil)
http.DefaultTransport = InstrumentedRoundTripper(http.DefaultTransport)
}
示例3: initializeMetrics
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)
}
示例4: initializeMetrics
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)
}
示例5: initializeMetrics
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
}
示例6: initializeMetrics
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)
}
示例7:
var address string
var fakeMetricSender *fake.FakeMetricSender
BeforeEach(func() {
port = 3456 + GinkgoParallelNode()
address = net.JoinHostPort("127.0.0.1", strconv.Itoa(port))
writer = mocks.MockByteArrayWriter{}
reader = networkreader.New(address, "networkReader", &writer, loggertesthelper.Logger())
readerStopped = make(chan struct{})
})
Context("with a reader running", func() {
BeforeEach(func() {
loggertesthelper.TestLoggerSink.Clear()
fakeMetricSender = fake.NewFakeMetricSender()
metricBatcher := metricbatcher.New(fakeMetricSender, time.Millisecond)
metrics.Initialize(fakeMetricSender, metricBatcher)
go func() {
reader.Start()
close(readerStopped)
}()
expectedLog := fmt.Sprintf("Listening on port %s", address)
Eventually(loggertesthelper.TestLoggerSink.LogContents).Should(ContainSubstring(expectedLog))
})
AfterEach(func() {
reader.Stop()
<-readerStopped
})
示例8:
)
var (
fakeEventEmitter *fake.FakeEventEmitter
uptimeMonitor monitor.Monitor
)
const (
interval = 100 * time.Millisecond
)
var _ = Describe("UptimeMonitor", func() {
BeforeEach(func() {
fakeEventEmitter = fake.NewFakeEventEmitter("MonitorTest")
sender := metric_sender.NewMetricSender(fakeEventEmitter)
batcher := metricbatcher.New(sender, 100*time.Millisecond)
metrics.Initialize(sender, batcher)
uptimeMonitor = monitor.NewUptimeMonitor(interval)
go uptimeMonitor.Start()
})
AfterEach(func() {
fakeEventEmitter.Close()
})
Context("stops automatically", func() {
AfterEach(func() {
uptimeMonitor.Stop()
示例9:
var _ = Describe("Batch Writer", func() {
var (
byteWriter *mockByteWriter
messageBytes []byte
prefixedMessage []byte
batcher *batch.Writer
timeout time.Duration
logger *gosteno.Logger
sender *fake.FakeMetricSender
constructorErr error
)
BeforeEach(func() {
sender = fake.NewFakeMetricSender()
metrics.Initialize(sender, metricbatcher.New(sender, time.Millisecond*10))
byteWriter = newMockByteWriter()
close(byteWriter.WriteOutput.err)
messageBytes = []byte("this is a log message")
timeout = time.Second / 2
bufferSize = 1024
logger = loggertesthelper.Logger()
// zero out the values that are assigned in the JustBeforeEach
prefixedMessage = nil
batcher = nil
constructorErr = nil
})
JustBeforeEach(func() {
prefixedMessage = prefixWithLength(messageBytes)
示例10:
"github.com/cloudfoundry/dropsonde/metrics"
"github.com/cloudfoundry/loggregatorlib/loggertesthelper"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("LogSender", func() {
var (
emitter *fake.FakeEventEmitter
sender log_sender.LogSender
)
BeforeEach(func() {
emitter = fake.NewFakeEventEmitter("origin")
metricSender := metric_sender.NewMetricSender(emitter)
batcher := metricbatcher.New(metricSender, time.Millisecond)
metrics.Initialize(metricSender, batcher)
sender = log_sender.NewLogSender(emitter, loggertesthelper.Logger())
})
AfterEach(func() {
emitter.Close()
for !emitter.IsClosed() {
time.Sleep(10 * time.Millisecond)
}
})
Describe("SendAppLog", func() {
It("sends a log message event to its emitter", func() {
err := sender.SendAppLog("app-id", "custom-log-message", "App", "0")
Expect(err).NotTo(HaveOccurred())
示例11:
var _ = Describe("DropsondeMarshaller", func() {
var (
inputChan chan *events.Envelope
outputChan chan []byte
runComplete chan struct{}
marshaller dropsonde_marshaller.DropsondeMarshaller
fakeSender *fake.FakeMetricSender
)
BeforeEach(func() {
inputChan = make(chan *events.Envelope, 100)
outputChan = make(chan []byte, 10)
runComplete = make(chan struct{})
marshaller = dropsonde_marshaller.NewDropsondeMarshaller(loggertesthelper.Logger())
fakeSender = fake.NewFakeMetricSender()
batcher := metricbatcher.New(fakeSender, 200*time.Millisecond)
metrics.Initialize(fakeSender, batcher)
go func() {
marshaller.Run(inputChan, outputChan)
close(runComplete)
}()
})
AfterEach(func() {
close(inputChan)
Eventually(runComplete).Should(BeClosed())
})
It("marshals envelopes into bytes", func() {
envelope := &events.Envelope{
示例12: TestWebsocketServer
"github.com/cloudfoundry/dropsonde/metrics"
"github.com/cloudfoundry/sonde-go/events"
"github.com/gogo/protobuf/proto"
"github.com/gorilla/websocket"
)
func TestWebsocketServer(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "WebsocketServer Suite")
}
var fakeMetricSender *fake.FakeMetricSender
var _ = BeforeSuite(func() {
fakeMetricSender = fake.NewFakeMetricSender()
metrics.Initialize(fakeMetricSender, metricbatcher.New(fakeMetricSender, 10*time.Millisecond))
})
func AddSlowWSSink(receivedChan chan []byte, errChan chan error, timeout time.Duration, url string) {
ws, _, err := websocket.DefaultDialer.Dial(url, http.Header{})
if err != nil {
panic(err)
}
go func() {
time.Sleep(timeout)
_, reader, err := ws.NextReader()
if err != nil {
errChan <- err
return
}
示例13: NewFakeMetricSender
"github.com/cloudfoundry/dropsonde/metrics"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("Deadlock", func() {
var (
metricBatcher *metricbatcher.MetricBatcher
done chan struct{}
)
BeforeEach(func() {
done = make(chan struct{})
metricSender := NewFakeMetricSender(&done)
metricBatcher = metricbatcher.New(metricSender, 50*time.Millisecond)
metrics.Initialize(metricSender, metricBatcher)
})
It("doesn't deadlock when Batch functions are called while batch sending", func() {
metricBatcher.BatchAddCounter("count1", 2)
Eventually(done).Should(BeClosed())
}, 1)
})
type FakeMetricSender struct {
done *chan struct{}
}
func NewFakeMetricSender(done *chan struct{}) *FakeMetricSender {
return &FakeMetricSender{