Class: Protobuf::Rpc::Middleware::Logger::Instrumenter
- Inherits:
-
Object
- Object
- Protobuf::Rpc::Middleware::Logger::Instrumenter
- Defined in:
- lib/protobuf/rpc/middleware/logger.rb
Overview
TODO: Replace this with ActiveSupport::Notifications and log subscribers TODO: Consider adopting Rails-style logging so we can track serialization time as well as ActiveRecord time, etc.:
Started GET "/" for 127.0.0.1 at 2014-02-12 09:40:29 -0700
Processing by ReleasesController#index as HTML
Rendered releases/_release.html.erb (0.0ms)
Rendered releases/_release.html.erb (0.0ms)
Rendered releases/_release.html.erb (0.0ms)
Rendered releases/_release.html.erb (0.0ms)
Rendered releases/index.html.erb within layouts/application (11.0ms)
Completed 200 OK in 142ms (Views: 117.6ms | ActiveRecord: 1.7ms)
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Instance Method Summary collapse
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
46 47 48 |
# File 'lib/protobuf/rpc/middleware/logger.rb', line 46 def env @env end |
Instance Method Details
#flush(env) ⇒ Object
48 49 50 |
# File 'lib/protobuf/rpc/middleware/logger.rb', line 48 def flush(env) ::Protobuf::Logging.logger.info { to_s(env) } end |
#start ⇒ Object
52 53 54 |
# File 'lib/protobuf/rpc/middleware/logger.rb', line 52 def start @start_time = ::Time.now.utc end |
#stop ⇒ Object
56 57 58 |
# File 'lib/protobuf/rpc/middleware/logger.rb', line 56 def stop @end_time = ::Time.now.utc end |
#to_s(env) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/protobuf/rpc/middleware/logger.rb', line 60 def to_s(env) @env = env [ "[SRV]", env.client_host, env.worker_id, rpc, sizes, elapsed_time, @end_time.try(:iso8601), ].compact.join(' - ') end |