tree: 6f901d4205257b91b66669d0fe090f9de3c5b1ec [path history] [tgz]
  1. aggregation.h
  2. census_init.c
  3. census_interface.h
  4. census_log.c
  5. census_log.h
  6. census_rpc_stats.c
  7. census_rpc_stats.h
  8. census_tracing.c
  9. census_tracing.h
  10. context.c
  11. grpc_context.c
  12. grpc_filter.c
  13. grpc_filter.h
  14. grpc_plugin.c
  15. hash_table.c
  16. hash_table.h
  17. initialize.c
  18. mlog.c
  19. mlog.h
  20. operation.c
  21. placeholders.c
  22. README.md
  23. rpc_metric_id.h
  24. tracing.c
  25. window_stats.c
  26. 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_*.