Skip to content
This repository has been archived by the owner on Oct 3, 2023. It is now read-only.

census-instrumentation/opencensus-proto

Repository files navigation

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.

OpenCensus Proto - Language Independent Interface Types For OpenCensus

Gitter chat Build Status Maven Central Javadocs GoDoc PyPI

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.

Quickstart

Install to Go

$ 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.

Add the dependencies to your Java project

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'

Add the dependencies to Bazel project

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