Skip to content

v0.6.0

Compare
Choose a tag to compare
@iRevive iRevive released this 16 Apr 09:08
· 379 commits to main since this release
6358c42

We are happy to announce the 0.6.0 release.

Apart from the API improvements and dependency upgrades, there are several new documentation articles:

Note

The otel4s-core and otel4s-oteljava modules are binary compatible with 0.5.0 lineage.

Warning

The otel4s-sdk-exporter has several breaking changes and is binary incompatible with the 0.5.0 lineage.

New API

Span#addLink

You can add a link to another span by using addLink:

val span: Span[F] = ???
val link: SpanContext = ???
span.addLink(link)

OtlpSpanExporterAutoConfigure.customClient

You can supply a preconfigured http4s client to use with the OTLP span exporter. For example, you can provide a JDK11 HTTP client with configured proxy support:

import java.net.{InetSocketAddress, ProxySelector}
import java.net.http.HttpClient
import org.http4s.jdkhttpclient.JdkHttpClient

val jdkHttpClient = HttpClient
  .newBuilder()
  .proxy(ProxySelector.of(InetSocketAddress.createUnresolved("localhost", 3312)))
  .build()
  
OpenTelemetrySdk.autoConfigured[IO](
  _.addSpanExporterConfigurer(
    OtlpSpanExporterAutoConfigure.customClient[IO](JdkHttpClient(jdkHttpClient))
  )
).use { sdk =>
  ???
}

New stable semantic conventions

The semantic conventions have been updated to 1.25.0-alpha. There are several attributes are stable now:

What's Changed

Improvements and enhancements

  • sdk-exporter: allow passing a custom client to the OtlpSpanExporterAutoConfigure by @iRevive in #578
  • trace: add addLink to Span by @iRevive in #587

Documentation

  • Mention the noop tracer for people who just want to use a otel4s enabled library by @benhutchison in #577
  • docs: use otlp/jaeger exporter in the 'Grafana - All-in-one' example by @iRevive in #580
  • docs: add Metrics doc to the instrumentation section by @iRevive in #581
  • docs: add Metrics | JVM Runtime doc to the instrumentation section by @iRevive in #582
  • docs: advice on Honeycomb environments and datasets by @jessitron in #597
  • Docs: separate Scala 2 / Scala 3 examples of the no-op tracer by @iRevive in #590

Internal

  • SemanticConventionsGenerator hook: generate headers by @iRevive in #588

sdk-metrics module (unpublished yet)

Upgrades

  • Update opentelemetry-api, ... to 1.37.0 by @typelevel-steward in #584
  • Update sbt-scalajs, scalajs-compiler, ... to 1.16.0 by @typelevel-steward in #576
  • Update opentelemetry-semconv to 1.25.0-alpha by @typelevel-steward in #585
  • Update opentelemetry-javaagent to 2.3.0 by @typelevel-steward in #593
  • Update opentelemetry-instrumentation-annotations to 2.3.0 by @typelevel-steward in #592
  • Update munit-cats-effect to 2.0.0-M5 by @typelevel-steward in #595

New Contributors

Full Changelog: v0.5.0...v0.6.0