metlo 0.0.5-arm64-darwin → 0.0.6-arm64-darwin
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/metlo/version.rb +1 -1
- data/lib/metlo.rb +29 -13
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ab8b9e244d6633bfb1079226a760ab51fe2a6877fd5d4f8b16dc461f3ab3d2bf
|
|
4
|
+
data.tar.gz: 1e21a97e7a4feec48c5a095106a973b55e81043480394f3d894406c1844c1f68
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b23d6bf79dd75bd5a74273e0e56918823bc58859c5efaa42746d7f4df7dd8adede46fbd686dc440ffb17427ba07a7f16049d3b817b7dc2fc6cb205e5715b0974
|
|
7
|
+
data.tar.gz: 1f9e39ac57c9ac80ba3607212333bca1207b67cec521e92ff607339e0834038b7ffba825756cccc16c35e3ed3671f2244e699fbaefd5a3e0ab11361222ae57d3
|
data/lib/metlo/version.rb
CHANGED
data/lib/metlo.rb
CHANGED
|
@@ -35,6 +35,8 @@ module Metlo
|
|
|
35
35
|
log_level = "info"
|
|
36
36
|
@logger = Logger.new($stdout, convert_log_level(log_level))
|
|
37
37
|
@logger.warn("log_level is not one of trace, debug, info, warn, error.\nDefaulting log level to info")
|
|
38
|
+
else
|
|
39
|
+
@logger = Logger.new($stdout, convert_log_level(log_level))
|
|
38
40
|
end
|
|
39
41
|
else
|
|
40
42
|
log_level = "info"
|
|
@@ -137,21 +139,35 @@ module Metlo
|
|
|
137
139
|
meta_raw = create_meta(env)
|
|
138
140
|
meta = JSON.generate(meta_raw)
|
|
139
141
|
rescue StandardError => e
|
|
142
|
+
@logger.warn(e)
|
|
140
143
|
status, headers, response = @app.call(env)
|
|
141
144
|
[status, headers, response]
|
|
142
145
|
else
|
|
143
|
-
block =
|
|
146
|
+
block = false
|
|
147
|
+
|
|
148
|
+
begin
|
|
149
|
+
block = block_trace(req,meta)
|
|
150
|
+
rescue StandardError => e
|
|
151
|
+
@logger.debug("Metlo encountered an error while checking for trace blocking.")
|
|
152
|
+
@logger.debug(e)
|
|
153
|
+
end
|
|
154
|
+
|
|
144
155
|
if block
|
|
145
156
|
status, headers, response = (@block_fn).call env
|
|
146
157
|
else
|
|
147
158
|
status, headers, response = @app.call(env)
|
|
148
159
|
end
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
160
|
+
|
|
161
|
+
begin
|
|
162
|
+
res_raw = create_res(status,headers,response)
|
|
163
|
+
res = JSON.generate(res_raw)
|
|
164
|
+
ingest_trace(req,res,meta)
|
|
165
|
+
rescue StandardError => e
|
|
166
|
+
@logger.debug("Metlo encountered an error while sending trace.")
|
|
167
|
+
@logger.debug(e)
|
|
168
|
+
end
|
|
153
169
|
|
|
154
|
-
[status, headers, response]
|
|
170
|
+
return [status, headers, response]
|
|
155
171
|
end
|
|
156
172
|
else
|
|
157
173
|
@app.call(env)
|
|
@@ -246,16 +262,16 @@ module Metlo
|
|
|
246
262
|
}
|
|
247
263
|
end
|
|
248
264
|
|
|
249
|
-
def create_meta(env)
|
|
250
|
-
server = env['rack.hijack'].io.addr
|
|
251
|
-
client = env['rack.hijack'].io.peeraddr
|
|
265
|
+
def create_meta(env)
|
|
266
|
+
server = env.has_key?('rack.hijack') ? env['rack.hijack'].io.addr : nil
|
|
267
|
+
client = env.has_key?('rack.hijack') ? env['rack.hijack'].io.peeraddr : nil
|
|
252
268
|
return {
|
|
253
269
|
"environment": "production",
|
|
254
270
|
"incoming": true,
|
|
255
|
-
"source": client[2],
|
|
256
|
-
"sourcePort": client[1],
|
|
257
|
-
"destination": server[2],
|
|
258
|
-
"destinationPort": server[1]
|
|
271
|
+
"source": client.nil? ? env["REMOTE_ADDR"] : client[2],
|
|
272
|
+
"sourcePort": client.nil? ? 0 : client[1],
|
|
273
|
+
"destination": server.nil? ? env["SERVER_NAME"] : server[2],
|
|
274
|
+
"destinationPort": server.nil? ? env["SERVER_PORT"].to_i : server[1]
|
|
259
275
|
}
|
|
260
276
|
end
|
|
261
277
|
|