Warning
OpenCensus and OpenTracing have merged to form OpenTelemetry, which serves as the next major version of OpenCensus and OpenTracing.
OpenTelemetry has now reached feature parity with OpenCensus, with tracing and metrics SDKs available in .NET, Golang, Java, NodeJS, and Python. All OpenCensus Github repositories, except census-instrumentation/opencensus-python, will be archived on July 31st, 2023. We encourage users to migrate to OpenTelemetry by this date.
To help you gradually migrate your instrumentation to OpenTelemetry, bridges are available in Java, Go, Python, and JS. Read the full blog post to learn more.
Census provides a framework to define and collect stats against metrics and to break those stats down across user-defined dimensions.
The Census framework is natively available in many languages (e.g. C++, Go, and Java). The API interface types are defined using protos to ensure consistency and interoperability for the different implementations.
$ go get -u github.com/census-instrumentation/opencensus-proto
In most cases you should depend on the gen-go files directly. If you are building with Bazel, there are also go_proto_library build rules available. See PR/132 for details. However, please note that Bazel doesn't generate the final artifacts.
For Maven add to pom.xml
:
<dependency>
<groupId>io.opencensus</groupId>
<artifactId>opencensus-proto</artifactId>
<version>0.2.0</version>
</dependency>
For Gradle add to dependencies:
compile 'io.opencensus:opencensus-proto:0.2.0'
In WORKSPACE, add:
git_repository(
name = "io_opencensus_proto",
strip_prefix = "src",
tag = "v0.2.0", # CURRENT_OPENCENSUS_PROTO_VERSION
remote = "https://github.com/census-instrumentation/opencensus-proto",
)
or
http_archive(
name = "io_opencensus_proto",
strip_prefix = "opencensus-proto-master/src",
urls = ["https://github.com/census-instrumentation/opencensus-proto/archive/master.zip"],
)
In BUILD.bazel:
proto_library(
name = "foo_proto",
srcs = ["foo.proto"],
deps = [
"@io_opencensus_proto//opencensus/proto/metrics/v1:metrics_proto",
"@io_opencensus_proto//opencensus/proto/trace/v1:trace_proto",
# etc.
],
)