本文整理汇总了Golang中github.com/cloudfoundry/sonde-go/events.Envelope类的典型用法代码示例。如果您正苦于以下问题:Golang Envelope类的具体用法?Golang Envelope怎么用?Golang Envelope使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Envelope类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: routeEvent
func routeEvent(msg *events.Envelope, extraFields map[string]string) {
eventType := msg.GetEventType()
if selectedEvents[eventType.String()] {
var event Event
switch eventType {
case events.Envelope_HttpStart:
event = HttpStart(msg)
case events.Envelope_HttpStop:
event = HttpStop(msg)
case events.Envelope_HttpStartStop:
event = HttpStartStop(msg)
case events.Envelope_LogMessage:
event = LogMessage(msg)
case events.Envelope_ValueMetric:
event = ValueMetric(msg)
case events.Envelope_CounterEvent:
event = CounterEvent(msg)
case events.Envelope_Error:
event = ErrorEvent(msg)
case events.Envelope_ContainerMetric:
event = ContainerMetric(msg)
}
event.AnnotateWithAppData()
event.AnnotateWithMetaData(extraFields)
event.ShipEvent()
mutex.Lock()
selectedEventsCount[eventType.String()]++
mutex.Unlock()
}
}
开发者ID:malston,项目名称:firehose-to-syslog,代码行数:34,代码来源:events.go
示例2: HttpStartStop
func HttpStartStop(msg *events.Envelope) Event {
httpStartStop := msg.GetHttpStartStop()
fields := logrus.Fields{
"cf_app_id": utils.FormatUUID(httpStartStop.GetApplicationId()),
"content_length": httpStartStop.GetContentLength(),
"instance_id": httpStartStop.GetInstanceId(),
"instance_index": httpStartStop.GetInstanceIndex(),
"method": httpStartStop.GetMethod(),
"peer_type": httpStartStop.GetPeerType(),
"remote_addr": httpStartStop.GetRemoteAddress(),
"request_id": utils.FormatUUID(httpStartStop.GetRequestId()),
"start_timestamp": httpStartStop.GetStartTimestamp(),
"status_code": httpStartStop.GetStatusCode(),
"stop_timestamp": httpStartStop.GetStopTimestamp(),
"uri": httpStartStop.GetUri(),
"user_agent": httpStartStop.GetUserAgent(),
"duration_ms": (((httpStartStop.GetStopTimestamp() - httpStartStop.GetStartTimestamp()) / 1000) / 1000),
}
return Event{
Fields: fields,
Msg: "",
}
}
开发者ID:yacloud-io,项目名称:firehose-to-syslog,代码行数:25,代码来源:events.go
示例3: dopplerReceivedMessageCount
func dopplerReceivedMessageCount(msg *events.Envelope) bool {
return msg.GetEventType() == events.Envelope_CounterEvent &&
(msg.CounterEvent.GetName() == "udpListener.receivedMessageCount" ||
msg.CounterEvent.GetName() == "tcpListener.receivedMessageCount" ||
msg.CounterEvent.GetName() == "tlsListener.receivedMessageCount") &&
msg.GetOrigin() == "DopplerServer"
}
开发者ID:kei-yamazaki,项目名称:loggregator,代码行数:7,代码来源:firehose_reader.go
示例4: listenForLogs
func listenForLogs() {
for {
buffer := make([]byte, 1024)
n, _, err := udpConn.ReadFrom(buffer)
if err != nil {
return
}
if n == 0 {
panic("Received empty packet")
}
envelope := new(events.Envelope)
err = proto.Unmarshal(buffer[0:n], envelope)
if err != nil {
panic(err)
}
if envelope.GetEventType() == events.Envelope_LogMessage {
logLock.Lock()
logMessages = append(logMessages, envelope.GetLogMessage())
logLock.Unlock()
}
}
}
开发者ID:drnic,项目名称:noop-cf-boshrelease,代码行数:25,代码来源:log_integration_test.go
示例5: processEnvelope
func (l *logCounter) processEnvelope(env *events.Envelope) {
if env.GetEventType() != events.Envelope_LogMessage {
return
}
logMsg := env.GetLogMessage()
msg := string(logMsg.GetMessage())
if strings.HasPrefix(msg, "mismatched prefix") {
return
}
if !strings.HasPrefix(msg, l.cfg.MessagePrefix) {
fmt.Printf("mismatched prefix: log message %s did not match prefix: %s\n", string(logMsg.GetMessage()), string(l.cfg.MessagePrefix))
return
}
if len(msg) < sepEnd {
fmt.Printf("Cannot parse message %s\n", msg)
return
}
id := Identity{
appID: logMsg.GetAppId(),
runID: msg[prefixEnd:guidEnd],
}
l.counterLock.Lock()
defer l.counterLock.Unlock()
counter, ok := l.counters[id]
if !ok {
counter = make(map[string]bool)
l.counters[id] = counter
}
counter[msg[sepEnd:]] = true
}
开发者ID:kei-yamazaki,项目名称:loggregator,代码行数:34,代码来源:logcounter.go
示例6: TranslateDropsondeToLegacyLogMessage
func TranslateDropsondeToLegacyLogMessage(message []byte) ([]byte, error) {
var receivedEnvelope events.Envelope
err := proto.Unmarshal(message, &receivedEnvelope)
if err != nil {
return nil, fmt.Errorf("TranslateDropsondeToLegacyLogMessage: Unable to unmarshal bytes as Envelope: %v", err)
}
if receivedEnvelope.GetEventType() != events.Envelope_LogMessage {
return nil, fmt.Errorf("TranslateDropsondeToLegacyLogMessage: Envelope contained %s instead of LogMessage", receivedEnvelope.GetEventType().String())
}
logMessage := receivedEnvelope.GetLogMessage()
if logMessage == nil {
return nil, fmt.Errorf("TranslateDropsondeToLegacyLogMessage: Envelope's LogMessage was nil: %v", receivedEnvelope)
}
messageBytes, err := proto.Marshal(
&logmessage.LogMessage{
Message: logMessage.GetMessage(),
MessageType: (*logmessage.LogMessage_MessageType)(logMessage.MessageType),
Timestamp: proto.Int64(logMessage.GetTimestamp()),
AppId: proto.String(logMessage.GetAppId()),
SourceId: proto.String(logMessage.GetSourceInstance()),
SourceName: proto.String(logMessage.GetSourceType()),
},
)
if err != nil {
return nil, fmt.Errorf("TranslateDropsondeToLegacyLogMessage: Failed marshalling converted dropsonde message: %v", err)
}
return messageBytes, nil
}
开发者ID:lyuyun,项目名称:loggregator,代码行数:32,代码来源:legacy_log_translator.go
示例7: Write
func (m *MessageAggregator) Write(envelope *events.Envelope) {
// TODO: don't call for every message if throughput becomes a problem
m.cleanupOrphanedHTTPStart()
if envelope.EventType == nil {
metrics.BatchIncrementCounter("MessageAggregator.uncategorizedEvents")
return
}
switch envelope.GetEventType() {
case events.Envelope_HttpStart:
m.handleHTTPStart(envelope)
case events.Envelope_HttpStop:
startStopMessage := m.handleHTTPStop(envelope)
if startStopMessage != nil {
m.outputWriter.Write(startStopMessage)
}
case events.Envelope_CounterEvent:
counterEventMessage := m.handleCounter(envelope)
m.outputWriter.Write(counterEventMessage)
default:
metrics.BatchIncrementCounter("MessageAggregator.uncategorizedEvents")
m.outputWriter.Write(envelope)
}
}
开发者ID:yingkitw,项目名称:loggregator,代码行数:25,代码来源:message_aggregator.go
示例8: Write
func (m *MessageAggregator) Write(envelope *events.Envelope) {
// TODO: don't call for every message if throughput becomes a problem
m.cleanupOrphanedHTTPStart()
if envelope.EventType == nil {
m.outputWriter.Write(envelope)
return
}
switch envelope.GetEventType() {
case events.Envelope_HttpStart:
m.handleHTTPStart(envelope)
case events.Envelope_HttpStop:
startStopMessage := m.handleHTTPStop(envelope)
if startStopMessage != nil {
m.outputWriter.Write(startStopMessage)
}
case events.Envelope_CounterEvent:
counterEventMessage := m.handleCounter(envelope)
m.outputWriter.Write(counterEventMessage)
default:
m.incrementCounter(&m.uncategorizedEventCount)
m.logger.Debugf("passing through message %v", spew.Sprintf("%v", envelope))
m.outputWriter.Write(envelope)
}
}
开发者ID:khj0651,项目名称:loggregator,代码行数:25,代码来源:message_aggregator.go
示例9: networkWrite
func (d *DopplerForwarder) networkWrite(message *events.Envelope) {
client, err := d.clientPool.RandomClient()
if err != nil {
d.logger.Errord(map[string]interface{}{
"error": err.Error(),
}, "DopplerForwarder: can't forward message")
return
}
messageBytes, err := proto.Marshal(message)
if err != nil {
d.logger.Errorf("DopplerForwarder: marshal error %v", err)
metrics.BatchIncrementCounter("dropsondeMarshaller.marshalErrors")
return
}
switch client.Scheme() {
case "udp":
signedMessage := signature.SignMessage(messageBytes, d.sharedSecret)
bytesWritten, err := client.Write(signedMessage)
if err != nil {
metrics.BatchIncrementCounter("udp.sendErrorCount")
d.logger.Debugd(map[string]interface{}{
"scheme": client.Scheme(),
"address": client.Address(),
}, "Error writing legacy message")
return
}
metrics.BatchIncrementCounter("udp.sentMessageCount")
metrics.BatchAddCounter("udp.sentByteCount", uint64(bytesWritten))
case "tls":
var bytesWritten int
err = binary.Write(client, binary.LittleEndian, uint32(len(messageBytes)))
if err == nil {
bytesWritten, err = client.Write(messageBytes)
}
if err != nil {
metrics.BatchIncrementCounter("tls.retryCount")
d.inputChan <- message
client.Close()
d.logger.Errord(map[string]interface{}{
"scheme": client.Scheme(),
"address": client.Address(),
"error": err.Error(),
}, "DopplerForwarder: streaming error")
return
}
metrics.BatchIncrementCounter("tls.sentMessageCount")
metrics.BatchAddCounter("tls.sentByteCount", uint64(bytesWritten+4))
default:
d.logger.Errorf("DopplerForwarder: unknown protocol, %s for %s", client.Scheme(), client.Address())
return
}
d.incrementMessageCount(message.GetEventType())
metrics.BatchIncrementCounter("DopplerForwarder.sentMessages")
}
开发者ID:hpcloud,项目名称:loggregator-1,代码行数:59,代码来源:doppler_forwarder.go
示例10: addDefaultTags
func addDefaultTags(envelope *events.Envelope) *events.Envelope {
envelope.Deployment = proto.String("deployment-name")
envelope.Job = proto.String("test-component")
envelope.Index = proto.String("42")
envelope.Ip = proto.String(localIPAddress)
return envelope
}
开发者ID:kei-yamazaki,项目名称:loggregator,代码行数:8,代码来源:helpers_test.go
示例11: DecodeProtoBufLogMessage
func DecodeProtoBufLogMessage(actual []byte) *events.LogMessage {
var receivedEnvelope events.Envelope
err := proto.Unmarshal(actual, &receivedEnvelope)
if err != nil {
Fail(err.Error())
}
return receivedEnvelope.GetLogMessage()
}
开发者ID:rakutentech,项目名称:loggregator,代码行数:8,代码来源:helpers.go
示例12: EmitToMetron
func EmitToMetron(envelope *events.Envelope) {
metronConn, err := net.Dial("udp4", fmt.Sprintf("localhost:%d", config.DropsondePort))
Expect(err).NotTo(HaveOccurred())
b, err := envelope.Marshal()
Expect(err).NotTo(HaveOccurred())
_, err = metronConn.Write(b)
Expect(err).NotTo(HaveOccurred())
}
开发者ID:kei-yamazaki,项目名称:loggregator,代码行数:10,代码来源:helpers.go
示例13: processMetric
func (metrics *metrics) processMetric(metric *events.Envelope) {
switch metric.GetEventType() {
case events.Envelope_ValueMetric:
metrics.processValueMetric(metric)
case events.Envelope_CounterEvent:
metrics.processCounterEvent(metric)
case events.Envelope_HttpStartStop:
metrics.processHTTPStartStop(metric)
}
}
开发者ID:khj0651,项目名称:loggregator,代码行数:10,代码来源:metrics.go
示例14: getName
func getName(envelope *events.Envelope) string {
switch envelope.GetEventType() {
case events.Envelope_ValueMetric:
return envelope.GetOrigin() + "." + envelope.GetValueMetric().GetName()
case events.Envelope_CounterEvent:
return envelope.GetOrigin() + "." + envelope.GetCounterEvent().GetName()
default:
panic("Unknown event type")
}
}
开发者ID:simonjohansson,项目名称:datadog-firehose-nozzle,代码行数:10,代码来源:datadog_client.go
示例15: handleHTTPStart
func (m *MessageAggregator) handleHTTPStart(envelope *events.Envelope) {
metrics.BatchIncrementCounter("MessageAggregator.httpStartReceived")
logging.Debugf(m.logger, "handling HTTP start message for appID: %v", envelope.GetHttpStart().GetApplicationId())
startEvent := envelope.GetHttpStart()
requestID := startEvent.RequestId.String()
event := eventID{requestID: requestID, peerType: startEvent.GetPeerType()}
m.startEventsByEventID[event] = startEventEntry{startEvent: startEvent, entryTime: time.Now()}
}
开发者ID:yingkitw,项目名称:loggregator,代码行数:10,代码来源:message_aggregator.go
示例16: basicTaggedHttpStartStopMessage
func basicTaggedHttpStartStopMessage(envelope events.Envelope) *events.Envelope {
ip, _ := localip.LocalIP()
envelope.Deployment = proto.String("test-deployment")
envelope.Job = proto.String("test-job")
envelope.Index = proto.String("2")
envelope.Ip = proto.String(ip)
return &envelope
}
开发者ID:khj0651,项目名称:loggregator,代码行数:10,代码来源:tagger_test.go
示例17: handleHTTPStart
func (m *MessageAggregator) handleHTTPStart(envelope *events.Envelope) {
m.incrementCounter(&m.httpStartReceivedCount)
m.logger.Debugf("handling HTTP start message %v", spew.Sprintf("%v", envelope))
startEvent := envelope.GetHttpStart()
requestID := startEvent.RequestId.String()
event := eventID{requestID: requestID, peerType: startEvent.GetPeerType()}
m.startEventsByEventID[event] = startEventEntry{startEvent: startEvent, entryTime: time.Now()}
}
开发者ID:khj0651,项目名称:loggregator,代码行数:10,代码来源:message_aggregator.go
示例18: handleMessage
func (m *MetricsNozzle) handleMessage(envelope *events.Envelope) {
if m.config.OriginID != "" {
if envelope.GetOrigin() == m.config.OriginID {
fmt.Fprintf(m.stdout, "%v \n", envelope)
}
} else {
fmt.Fprintf(m.stdout, "%v \n", envelope)
}
}
开发者ID:benlaplanche,项目名称:metrics-consumer,代码行数:10,代码来源:nozzle.go
示例19: update
func update(values map[string]int64, event *events.Envelope) int64 {
values[event.GetIp()] = int64(event.GetCounterEvent().GetTotal())
var sum int64
for _, v := range values {
sum = sum + v
}
return sum
}
开发者ID:wfernandes,项目名称:firehose-stats,代码行数:11,代码来源:msgLoss.go
示例20: ProcessEvent
func (m *MsgLossChart) ProcessEvent(evt *events.Envelope) {
switch evt.GetCounterEvent().GetName() {
case "DopplerForwarder.sentMessages":
m.totalSent = update(m.sentByIP, evt)
case "tlsListener.receivedMessageCount", "dropsondeListener.receivedMessageCount":
m.totalReceived = update(m.receivedByIP, evt)
}
percent := 100 * ((m.totalSent - m.totalReceived) / m.totalSent)
m.graph.Percent = int(percent)
}
开发者ID:wfernandes,项目名称:firehose-stats,代码行数:11,代码来源:msgLoss.go
注:本文中的github.com/cloudfoundry/sonde-go/events.Envelope类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论