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. ], )