that collect metrics and distributed traces from your services Problems OpenCensus solves: - Vendor neutrality for tracing and monitoring APIs - Context propagation
metrics collection • Integrations with popular web, RPC and storage frameworks • Standardized Context Propagation • Exporters for sending data to backend of choice • Collector for smart traces & metrics aggregation @simon_zeltser
Abstractions OpenCensus .NET Core API Implementation OpenCensus.Collector.Dependencies Collector for .NET Core HttpClient OpenCensus.Collector.AspNetCore Collector for ASP.NET Core Full list @simon_zeltser
Zipkin var exporter = new ZipkinTraceExporter( new ZipkinTraceExporterOptions() { Endpoint = new Uri(zipkinUri), ServiceName = "tracing-to-zipkin-service", }, Tracing.ExportComponent); exporter.Start(); @simon_zeltser
only covers “using” block using (var scope = tracer.SpanBuilder("Main").StartScopedSpan()) { Console.WriteLine("About to do a busy work"); for (int i = 0; i < 10; i++) { DoWork(i); } } @simon_zeltser
FORMAT: trace-id "-" parent-id "-" trace-flags trace-id = 32HEXDIG ; 16 bytes array identifier. All zeroes forbidden parent-id = 16HEXDIG ; 8 bytes array identifier. All zeroes forbidden trace-flags = 2HEXDIG ; 8 bit flags. Currently only one bit is used (“recorded”) Supported in all OpenCensus client libraries @simon_zeltser
with many spans • Higher operational costs • Noise @simon_zeltser Solution: Smart Sampling • Head-based (sampled at the beginning of the trace) • Tail-based (sampled at the end of the trace)
10us, 100us, 1ms, 10ms, 100ms, 1s, 10s, 1m] They also allow you to quickly examine error samples /Rpcz Examine statistics of remote procedure calls (RPCs) that are are instrumented with OpenCensus. For example when using gRPC @simon_zeltser
products and libraries. It provides observability for the following: • Redis • Memcached • Google Cloud • Dropwizard • SQL • Caddy • Go kit • GroupCache • MongoDB @simon_zeltser
popular frameworks and platforms • Easy to get started ENHANCE FEATURE SET • Correlation between metrics, traces metadata and logs • Clients Support BUILD STRONG COMMUNITY • CNCF • OpenCensus with OpenTracing @simon_zeltser WORKSTREAMS • OC Agent and Service • Integrations • New Telemetry • Community