Census - a resource measurement and tracing system
This directory contains code for Census, which will ultimately provide the following features for any gRPC-using system:
- A dapper-like tracing system, enabling tracing across a distributed infrastructure.
- RPC statistics and measurements for key metrics, such as latency, bytes transferred, number of errors etc.
- Resource measurement framework which can be used for measuring custom metrics. Through the use of tags, these can be broken down across the entire distributed stack.
- Easy integration of the above with Google Cloud Trace and Google Cloud Monitoring.
Concepts
Context
Operations
Tags
Metrics
API
Internal/RPC API
External/Client API
RPC API
Files in this directory
Note that files and functions in this directory can be split into two categories:
- Files that define core census library functions. Functions etc. in these files are named census_*, and constitute the core census library functionality. At some time in the future, these will become a standalone library.
- Files that define functions etc. that provide a convenient interface between grpc and the core census functionality. These files are all named grpc_*.{c,h}, and define function names beginning with grpc_census_*.