in utils/src/main/scala/com/google/example/o11y/requests/package.scala [32:63]
override def apply(url: String,
auth: RequestAuth = sess.auth,
params: Iterable[(String, String)] = Nil,
headers: Iterable[(String, String)] = Nil,
data: RequestBlob = RequestBlob.EmptyRequestBlob,
readTimeout: Int = sess.readTimeout,
connectTimeout: Int = sess.connectTimeout,
proxy: (String, Int) = sess.proxy,
cert: Cert = sess.cert,
sslContext: SSLContext = sess.sslContext,
cookies: Map[String, HttpCookie] = Map(),
cookieValues: Map[String, String] = Map(),
maxRedirects: Int = sess.maxRedirects,
verifySslCerts: Boolean = sess.verifySslCerts,
autoDecompress: Boolean = sess.autoDecompress,
compress: Compress = sess.compress,
keepAlive: Boolean = true,
check: Boolean = sess.check,
chunkedUpload: Boolean = sess.chunkedUpload): Response =
// Create an OpenTelemetry client span here.
val span = GlobalOpenTelemetry.get().getTracer("requests")
.spanBuilder(s"$verb $url")
.setSpanKind(SpanKind.CLIENT)
.startSpan()
Using(span.makeCurrent()) { _ =>
try super.apply(url, auth, params, headers, data, readTimeout, connectTimeout, proxy, cert, sslContext, cookies, cookieValues, maxRedirects, verifySslCerts, autoDecompress, compress, keepAlive, check, chunkedUpload)
catch
case e: Exception =>
span.recordException(e)
throw e
finally span.end()
}.get