Sha256: 3a6e96771604087c43d9f43ff19618035e10610570c7837010824fcf5f30e8cf
Contents?: true
Size: 899 Bytes
Versions: 1
Compression:
Stored size: 899 Bytes
Contents
# frozen_string_literal: true module Minato module Trace module Middleware class DistributedTraceContext TRACE_HEADER_KEY = "X-Cloud-Trace-Context" def initialize(app) @app = app end def call(env) add_trace_context_header(env) @app.call(env) end private def add_trace_context_header(env) return unless (Rails.env.production? && Minato::Trace.enabled?) || current_cloud_trace.nil? env.request_headers.merge!({ "#{TRACE_HEADER_KEY}": "#{current_cloud_trace.trace.trace_id};o=1" }) end def current_cloud_trace @current_cloud_trace ||= current_trace_from_google_cloud end def current_trace_from_google_cloud _trace_client = Google::Cloud::Trace.new Google::Cloud::Trace.get end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
minato-trace-0.1.6.pre.7 | lib/minato/trace/middleware/distributed_trace_context.rb |