dsmiley commented on a change in pull request #115:
URL: https://github.com/apache/solr/pull/115#discussion_r639921847
##########
File path: solr/core/src/java/org/apache/solr/api/V2HttpCall.java
##########
@@ -360,6 +366,80 @@ protected void execute(SolrQueryResponse rsp) {
SolrCore.postDecorateResponse(handler, solrReq, rsp);
}
+ @Override
+ protected void populateTracingSpan(Span span) {
+ // Set db.instance
+ String coreOrColName = this.origCorename;
+ if (coreOrColName == null) {
+ Map<String, String> pathTemplateValues = getUrlParts(); // ==
solrReq.getPathTemplateValues()
+ coreOrColName = pathTemplateValues.get("collection");
+ if (coreOrColName == null) {
+ coreOrColName = pathTemplateValues.get("core");
+ }
+ }
+ if (coreOrColName != null) {
+ span.setTag(Tags.DB_INSTANCE, coreOrColName);
+ }
+
+ // Get the templatize-ed path
+ String path;
+ if (api instanceof AnnotatedApi) {
+ // ideal scenario; eventually everything might be AnnotatedApi?
+ path = ((AnnotatedApi) api).getEndPoint().path()[0]; // consider first
to be primary
+ } else {
+ path = computeEndpointPath();
+ // TODO consider getValidators, looking for command & path?
+ }
+
+ String verb = req.getMethod().toLowerCase(Locale.ROOT);
Review comment:
If someone opts-in to tracing, then every request is traced but not
necessarily "reported" to a tracing server (maybe 1% depending on
configuration). Unfortunately even a non-reported span will be decorated with
this metadata that is ultimately not used. Ideally the tracing impl chosen can
return a Span implementing NoopSpan which will avoid this logic here but
neither Jaeger nor Brave OpenTracing adapters do this :-/ I don't know about
others. I reported this enhancement idea to Brave.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]