
OpenCensus – Vendor-agnostic libraries to provide metrics collection and tracing - mooreds
https://opencensus.io/
======
nikmd231
One of the contributors to OpenCensus here - feel free to ask any questions!

~~~
mik3y
Really cool project! Thanks for sharing.

Maybe a dumb question (and I certainly haven't read enough): Any plans or
projects that decouple language support from exporter/backend support? Bummer
to see a bit of fragmentation there, of course can understand architectural
reasons for it.

~~~
derekperkins
I think that will eventually be solved by [https://github.com/census-
instrumentation/opencensus-service](https://github.com/census-
instrumentation/opencensus-service)

~~~
nikmd231
Exactly.

------
talawahdotnet
Man I would really love it if AWS got on board with this (not holding my
breath though). After container orchestration, monitoring and tracing is the
next major area that I would love to see a standardized API/toolset supported
by all Cloud providers.

AWS also needs to revamp Cloudwatch. The UI/UX and agent integrations are
severely lacking. Everything feels like it was built by a different team and
like updates stopped as soon as they had something functional.

Google's vision with Stackdriver as a single pane of glass to handle logging,
errors, metrics and tracing is awesome and as I write this I am seriously
considering testing it out even though all my clients run on AWS. Google is
clearly positioning Stackdriver for that use case anyway.

------
mmclean
Another OpenCensus maintainer here, happy to answer questions along with Nik

~~~
vijaykodam
How does this work with Istio? I believe Istio also collects traces and sends
them to Jaeger/Zipkin.

------
alpb
How does OpenCensus integrate with existing tracing solutions like Jaeger or
OpenZipkin? If I instrument my app with OpenCensus tracing today, which
tools/services can I export this data easily?

~~~
mmclean
You can send traces to Jaeger, Zipkin, Stackdriver, Azure App Insights, X-Ray,
Honeycomb, and a few others. Supported metrics backends include Prometheus,
Datadog, SignalFx, Stackdriver, Azure, etc.

------
mstump
How does the tracing API differ from the open tracing APIs? Pros/cons as
compared to that standardization effort?

~~~
romed
"Open tracing" is a bit too opinionated by be universally useful. For example
opentracing makes sampling decisions at the end of the span, not the
beginning. Because of this you always pay the cost of span annotations even
though the vast majority of spans are discarded. I think it's interesting that
opentracing descends from the author of Dapper, and opencensus is from Google
itself, and yet they've diverged on this and other details. Google of course
just uses Dapper.

~~~
seattleeng
OpenTracing doesn’t actually specify when a span is sampled. IIRC Lightstep
sends all spans to a service that makes sampling decisions based on moving
latency percentiles, while Jaeger works as you described, sampling in the
client. Its implementation specific.

