tree: b644f7efbc678e8c54a3584a3b30c1f045fb0edc [path history] [tgz]
  1. gen/
  2. aggregation.h
  3. census_init.c
  4. census_interface.h
  5. census_log.c
  6. census_log.h
  7. census_rpc_stats.c
  8. census_rpc_stats.h
  9. census_tracing.c
  10. census_tracing.h
  11. context.c
  12. grpc_context.c
  13. grpc_filter.c
  14. grpc_filter.h
  15. grpc_plugin.c
  16. hash_table.c
  17. hash_table.h
  18. initialize.c
  19. mlog.c
  20. mlog.h
  21. operation.c
  22. placeholders.c
  23. README.md
  24. rpc_metric_id.h
  25. tracing.c
  26. window_stats.c
  27. window_stats.h
src/core/ext/census/README.md

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_*.