@@ -22,8 +22,10 @@ class HTTPPropagator():
2222
2323 HEADER_KEY_T = 'X-Instana-T'
2424 HEADER_KEY_S = 'X-Instana-S'
25+ HEADER_KEY_L = 'X-Instana-L'
2526 ALT_HEADER_KEY_T = 'HTTP_X_INSTANA_T'
2627 ALT_HEADER_KEY_S = 'HTTP_X_INSTANA_S'
28+ ALT_HEADER_KEY_L = 'HTTP_X_INSTANA_L'
2729
2830 def inject (self , span_context , carrier ):
2931 try :
@@ -33,9 +35,11 @@ def inject(self, span_context, carrier):
3335 if type (carrier ) is dict or hasattr (carrier , "__dict__" ):
3436 carrier [self .HEADER_KEY_T ] = trace_id
3537 carrier [self .HEADER_KEY_S ] = span_id
38+ carrier [self .HEADER_KEY_L ] = "1"
3639 elif type (carrier ) is list :
3740 carrier .append ((self .HEADER_KEY_T , trace_id ))
3841 carrier .append ((self .HEADER_KEY_S , span_id ))
42+ carrier .append ((self .HEADER_KEY_L , "1" ))
3943 else :
4044 raise Exception ("Unsupported carrier type" , type (carrier ))
4145
@@ -54,9 +58,9 @@ def extract(self, carrier): # noqa
5458 # Look for standard X-Instana-T/S format
5559 if self .HEADER_KEY_T in dc and self .header_key_s in dc :
5660 trace_id = util .header_to_id (dc [self .HEADER_KEY_T ])
57- span_id = util .header_to_id (dc [self .header_key_s ])
61+ span_id = util .header_to_id (dc [self .HEADER_KEY_S ])
5862
59- # Alternatively check for HTTP_X_INSTANA_T/S style
63+ # Alternatively check for alternate HTTP_X_INSTANA_T/S style
6064 elif self .ALT_HEADER_KEY_T in dc and self .ALT_HEADER_KEY_S in dc :
6165 trace_id = util .header_to_id (dc [self .ALT_HEADER_KEY_T ])
6266 span_id = util .header_to_id (dc [self .ALT_HEADER_KEY_S ])
0 commit comments