static <Resp> String spanNameFromRoute(HttpAdapter<?, Resp> adapter, Resp res, int statusCode) { String method = adapter.methodFromResponse(res); if (method == null) return null; // don't undo a valid name elsewhere String route = adapter.route(res); if (route == null) return null; // don't undo a valid name elsewhere if (!"".equals(route)) return method + " " + route; if (statusCode / 100 == 3) return method + " redirected"; if (statusCode == 404) return method + " not_found"; return null; // unexpected }
@Override public <Resp> void response(HttpAdapter<?, Resp> adapter, Resp res, Throwable error, SpanCustomizer customizer) { int statusCode = 0; if (res != null) { String route = adapter.route(res); if (route != null) { customizer.tag("http.route", route); } // Always send status code to Stackdriver statusCode = adapter.statusCodeAsInt(res); customizer.tag("http.status_code", String.valueOf(statusCode)); } error(statusCode, error, customizer); } }