本文整理汇总了Golang中github.com/cloudfoundry/sonde-go/events.Envelope.GetHttpStop方法的典型用法代码示例。如果您正苦于以下问题:Golang Envelope.GetHttpStop方法的具体用法?Golang Envelope.GetHttpStop怎么用?Golang Envelope.GetHttpStop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/sonde-go/events.Envelope
的用法示例。
在下文中一共展示了Envelope.GetHttpStop方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: GetAppId
func GetAppId(envelope *events.Envelope) string {
if envelope.GetEventType() == events.Envelope_LogMessage {
return envelope.GetLogMessage().GetAppId()
}
if envelope.GetEventType() == events.Envelope_ContainerMetric {
return envelope.GetContainerMetric().GetApplicationId()
}
var event hasAppId
switch envelope.GetEventType() {
case events.Envelope_HttpStart:
event = envelope.GetHttpStart()
case events.Envelope_HttpStop:
event = envelope.GetHttpStop()
case events.Envelope_HttpStartStop:
event = envelope.GetHttpStartStop()
default:
return SystemAppId
}
uuid := event.GetApplicationId()
if uuid != nil {
return formatUUID(uuid)
}
return SystemAppId
}
示例2: handleHTTPStop
func (m *MessageAggregator) handleHTTPStop(envelope *events.Envelope) *events.Envelope {
if m.emitMetrics {
metrics.BatchIncrementCounter("MessageAggregator.httpStopReceived")
}
atomic.AddUint64(&m.httpStopReceivedCount, 1)
m.logger.Debugf("handling HTTP stop message %v", spew.Sprintf("%v", envelope))
stopEvent := envelope.GetHttpStop()
requestID := stopEvent.RequestId.String()
event := eventID{requestID: requestID, peerType: stopEvent.GetPeerType()}
startEventEntry, ok := m.startEventsByEventID[event]
if !ok {
m.logger.Warnf("no matching HTTP start message found for %v", event)
if m.emitMetrics {
metrics.BatchIncrementCounter("MessageAggregator.httpUnmatchedStopReceived")
}
atomic.AddUint64(&m.httpUnmatchedStopReceivedCount, 1)
return nil
}
if m.emitMetrics {
metrics.BatchIncrementCounter("MessageAggregator.httpStartStopEmitted")
}
atomic.AddUint64(&m.httpStartStopEmittedCount, 1)
delete(m.startEventsByEventID, event)
startEvent := startEventEntry.startEvent
return &events.Envelope{
Origin: envelope.Origin,
Timestamp: stopEvent.Timestamp,
EventType: events.Envelope_HttpStartStop.Enum(),
HttpStartStop: &events.HttpStartStop{
StartTimestamp: startEvent.Timestamp,
StopTimestamp: stopEvent.Timestamp,
RequestId: startEvent.RequestId,
PeerType: startEvent.PeerType,
Method: startEvent.Method,
Uri: startEvent.Uri,
RemoteAddress: startEvent.RemoteAddress,
UserAgent: startEvent.UserAgent,
StatusCode: stopEvent.StatusCode,
ContentLength: stopEvent.ContentLength,
ParentRequestId: startEvent.ParentRequestId,
ApplicationId: stopEvent.ApplicationId,
InstanceIndex: startEvent.InstanceIndex,
InstanceId: startEvent.InstanceId,
},
}
}
示例3: listenForEvents
func listenForEvents(origin []string) {
for {
buffer := make([]byte, 1024)
n, _, err := udpListener.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)
}
var eventId = envelope.GetEventType().String()
tracker := eventTracker{eventType: eventId}
switch envelope.GetEventType() {
case events.Envelope_HttpStart:
tracker.name = envelope.GetHttpStart().GetPeerType().String()
case events.Envelope_HttpStop:
tracker.name = envelope.GetHttpStop().GetPeerType().String()
case events.Envelope_ValueMetric:
tracker.name = envelope.GetValueMetric().GetName()
case events.Envelope_CounterEvent:
tracker.name = envelope.GetCounterEvent().GetName()
default:
panic("Unexpected message type")
}
if envelope.GetOrigin() != strings.Join(origin, "/") {
panic("origin not as expected")
}
func() {
lock.Lock()
defer lock.Unlock()
receivedEvents = append(receivedEvents, tracker)
}()
}
}
示例4: HttpStop
func HttpStop(msg *events.Envelope) Event {
httpStop := msg.GetHttpStop()
fields := logrus.Fields{
"cf_app_id": utils.FormatUUID(httpStop.GetApplicationId()),
"content_length": httpStop.GetContentLength(),
"peer_type": httpStop.GetPeerType(),
"request_id": utils.FormatUUID(httpStop.GetRequestId()),
"status_code": httpStop.GetStatusCode(),
"timestamp": httpStop.GetTimestamp(),
"uri": httpStop.GetUri(),
}
return Event{
Fields: fields,
Msg: "",
}
}
示例5: valid
func valid(env *events.Envelope) bool {
switch env.GetEventType() {
case events.Envelope_HttpStart:
return env.GetHttpStart() != nil
case events.Envelope_HttpStop:
return env.GetHttpStop() != nil
case events.Envelope_HttpStartStop:
return env.GetHttpStartStop() != nil
case events.Envelope_LogMessage:
return env.GetLogMessage() != nil
case events.Envelope_ValueMetric:
return env.GetValueMetric() != nil
case events.Envelope_CounterEvent:
return env.GetCounterEvent() != nil
case events.Envelope_Error:
return env.GetError() != nil
case events.Envelope_ContainerMetric:
return env.GetContainerMetric() != nil
}
return true
}
示例6:
}
envelope := new(events.Envelope)
err = proto.Unmarshal(buffer[0:n], envelope)
if err != nil {
panic(err)
}
var eventId = envelope.GetEventType().String()
tracker := eventTracker{eventType: eventId}
switch envelope.GetEventType() {
case events.Envelope_HttpStart:
tracker.name = envelope.GetHttpStart().GetPeerType().String()
case events.Envelope_HttpStop:
tracker.name = envelope.GetHttpStop().GetPeerType().String()
case events.Envelope_Heartbeat:
tracker.name = envelope.GetHeartbeat().GetControlMessageIdentifier().String()
case events.Envelope_ValueMetric:
tracker.name = envelope.GetValueMetric().GetName()
case events.Envelope_CounterEvent:
tracker.name = envelope.GetCounterEvent().GetName()
default:
panic("Unexpected message type")
}
if envelope.GetOrigin() != strings.Join(origin, "/") {
panic("origin not as expected")
}