@Override public <Req> Boolean trySample(HttpAdapter<Req, ?> adapter, Req request) { String url = adapter.path(request); boolean shouldSkip = this.pattern.matcher(url).matches(); if (shouldSkip) { return false; } return null; }
@Override public <Req> Boolean trySample(HttpAdapter<Req, ?> adapter, Req request) { String path = adapter.path(request); if (path == null) { return null; } return path.matches(this.properties.getClient().getSkipPattern()) ? false : null; }
@Override public <Req> Boolean trySample(HttpAdapter<Req, ?> adapter, Req request) { String method = adapter.method(request); String path = adapter.path(request); if (method == null || path == null) return null; // use default if we couldn't parse return sampler.sample(new MethodAndPath(method, path)).sampled(); }
@Override public <Req> void request(HttpAdapter<Req, ?> adapter, Req req, SpanCustomizer customizer) { customizer.name(adapter.method(req).toLowerCase() + " " + adapter.path(req)); customizer.tag("http.url", adapter.url(req)); // just the path is logged by default customizer.tag("context.visible", String.valueOf(currentTraceContext.get() != null)); customizer.tag("request_customizer.is_span", (customizer instanceof brave.Span) + ""); }
/** * Override to change what data from the http request are parsed into the span representing it. By * default, this sets the span name to the http method and tags "http.method" and "http.path". * * <p>If you only want to change the span name, you can override {@link #spanName(HttpAdapter, * Object)} instead. * * @see #spanName(HttpAdapter, Object) */ // Eventhough the default span name is the method, we have no way of knowing that a user hasn't // overwritten the name to something else. If that occurs during response parsing, it is too late // to go back and get the http method. Adding http method by default ensures span naming doesn't // prevent basic HTTP info from being visible. A cost of this is another tag, but it is small with // very limited cardinality. Moreover, users who care strictly about size can override this. public <Req> void request(HttpAdapter<Req, ?> adapter, Req req, SpanCustomizer customizer) { customizer.name(spanName(adapter, req)); String method = adapter.method(req); if (method != null) customizer.tag("http.method", method); String path = adapter.path(req); if (path != null) customizer.tag("http.path", path); }
@Override public <Req> Boolean trySample(HttpAdapter<Req, ?> adapter, Req request) { String url = adapter.path(request); boolean shouldSkip = this.pattern.matcher(url).matches(); if (shouldSkip) { return false; } return null; }
@Override public <Req> Boolean trySample(HttpAdapter<Req, ?> adapter, Req request) { String url = adapter.path(request); Pattern p = Pattern .compile(".*swagger.*|.*api-docs.*|.*metrics.*|.*hystrix.*|.*monitor.*|.*actuator.*"); boolean shouldSkip = p.matcher(url).matches(); if (shouldSkip) { return false; } return null; } };
@Override public <Req> Boolean trySample(HttpAdapter<Req, ?> adapter, Req request) { return "GET".equals(adapter.method(request)) && adapter.path(request).startsWith("/api"); } })
@Override public <Req> Boolean trySample(HttpAdapter<Req, ?> adapter, Req request) { String path = adapter.path(request); if (path == null) { return null; } return path.matches(this.properties.getClient().getSkipPattern()) ? false : null; }
@Override protected <Req> String spanName(HttpAdapter<Req, ?> adapter, Req request) { return buildSpanDescription(adapter.path(request), adapter.method(request)); }
@Override protected <Req> String spanName(HttpAdapter<Req, ?> adapter, Req request) { return buildSpanDescription(adapter.path(request), adapter.method(request)); }
@Override public <Req> void request(HttpAdapter<Req, ?> adapter, Req req, SpanCustomizer customizer) { customizer.name(adapter.method(req).toLowerCase() + " " + adapter.path(req)); customizer.tag("http.url", adapter.url(req)); // just the path is logged by default customizer.tag("context.visible", String.valueOf(currentTraceContext.get() != null)); customizer.tag("request_customizer.is_span", (customizer instanceof brave.Span) + ""); }