# 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](http://research.google.com/pubs/pub36356.html)-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](#Tags), these can be broken down across the entire distributed stack. * Easy integration of the above with [Google Cloud Trace](https://cloud.google.com/tools/cloud-trace) and [Google Cloud Monitoring](https://cloud.google.com/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\_\*.