16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/logstash/filters/google_appengine.rb', line 16
def filter(event)
return unless filter?(event)
return unless event.get('protoPayload')
payload = event.get('protoPayload')
payload.delete '@type'
payload['type'] = event.get('type')
payload['latencyS'] = to_number(payload['latency'])
payload['pendingTimeS'] = to_number(payload['pendingTime'])
payload['appTimeS'] = payload['latencyS'] - payload['pendingTimeS']
lines = payload.delete 'line'
if lines
lines.each_with_index { |line, i|
yield create_event(collect_line_data(i, line, payload))
}
else
yield create_event(collect_resource_request_data(payload))
end
event.cancel
end
|