Closed Adithya-copart closed 5 years ago
Hi @Adithya-copart thanks for reporting. At first glance I can't imagine how we would get a string key of "0" since the gem internally prefers symbols and calls to_sym
on most strings. I wonder if this could be something specific to JRuby?
At least for MRI Ruby, we have tests to validate the generated Keys/Values and they are all green. :-/
This will need some testing.
Separately, I just released 1.10.5 which fixes how custom headers are reported so they properly show up in span details:
Running the Rack tests under Jruby also pass:
Any idea on how I could reproduce what you're getting?
The method
, host
, url
and status
keys are being added in `rack instrumentation.
The JSON is downloaded from the dashboard and the key rawUrl
seems to be added by the agent. I went ahead and verified if the kvs
value varied with the presence of a new header but it did not change.
I don't think this is related to JRuby.
I will try to deploy a sample application and also enable instana debugging to see if I can find something more concrete.
Ok for information: the trace downloaded from the dashboard reflects post processing and will add in a bunch more stuff. If you want to access the raw spans as they're being reported, you can log spans to a file from the Instana host agent: https://docs.instana.io/quick_start/agent_configuration/#logging-metrics-or-traces-to-file
That is helpful to get the raw traces before they are processed and enriched by the backend.
I tried version 1.10.6
and this is the JSON from the dashboard. The issue seems to be resolved.
I will re-open this issue and will add the raw spans if anything changes.
"data" : {
"http" : {
"rawUrl" : "/foo",
"path" : "/foo",
"method" : "GET",
"headerSearch" : [ "correlationid=testing_instana" ],
"host" : "example.com",
"header" : {
"correlationid" : "testing_instana"
},
"status" : 200
}
}
Adding a header to the HTTP request is altering how the trace is displayed in the dashboard. This is using a Sinatra application.
Whenever a
correlationid
is part of the HTTP request headers, the trace endpoint name appears as "Unspecified".This is the visible difference between a unspecified and a proper trace json.