This project is a lightweight scala wrapper for the opencensus-java library and provides instrumentation for scala based frameworks.
The API documentation can be found here.
Opencensus-scala supports the tracing and stats apis of opencensus.
Framework | Tracing | Stats |
---|---|---|
Akka HTTP | supported | planned |
Http4s | supported | planned |
Elastic4s | supported | planned |
Play | planned | planned |
Add the following dependencies to your sbt project.
// If you want to use only the core module
"com.github.sebruck" %% "opencensus-scala-core" % "0.6.0"
// Dependent on the trace exporters you want to use add one or more of the following
"io.opencensus" % "opencensus-exporter-trace-stackdriver" % "0.15.0"
"io.opencensus" % "opencensus-exporter-trace-logging" % "0.15.0"
"io.opencensus" % "opencensus-exporter-trace-instana" % "0.15.0"
"io.opencensus" % "opencensus-exporter-trace-zipkin" % "0.15.0"
// If you want to use opencensus-scala inside an Akka HTTP project
"com.github.sebruck" %% "opencensus-scala-akka-http" % "0.6.0"
// If you want to use opencensus-scala inside a http4s project
"com.github.sebruck" %% "opencensus-scala-http4s" % "0.6.0"
// If you want to use opencensus-scala inside a elastic4s project
"com.github.sebruck" %% "opencensus-scala-elastic4s" % "0.6.0"
opencensus-scala uses typesafe config to configure exporters, sampling rates and many more. For a full reference have a look at the default configuration.
To activate the Stackdriver trace exporter with the default sampling rate of 1/10000 add the following to your application.conf.
opencensus-scala {
trace {
exporters {
stackdriver {
enabled = true
project-id = "MY-GC-Project"
}
}
}
}
For documentation how to use the several modules, have a look at the modules section.
Utilities to use opencensus in a scala idiomatic way.
Learn more at the documentation.
Utilities to use opencensus in Akka HTTP applications.
Learn more at the documentation.
Utilities to use opencensus in http4s applications.
Learn more at the documentation.
Utilities to use opencensus in elastic4s applications.
Learn more at the documentation.
Contributions are very welcome! As a starting point, have a look at the open issues.
Please also check the CONTRIBUTION.md.