tree: 1fed63f0ee09ab30d40222260ea7264c1ce5b1ce [path history] [tgz]
  1. gen/
  2. aggregation.h
  3. base_resources.c
  4. base_resources.h
  5. census_init.c
  6. census_interface.h
  7. census_log.c
  8. census_log.h
  9. census_rpc_stats.c
  10. census_rpc_stats.h
  11. census_tracing.c
  12. census_tracing.h
  13. context.c
  14. grpc_context.c
  15. grpc_filter.c
  16. grpc_filter.h
  17. grpc_plugin.c
  18. hash_table.c
  19. hash_table.h
  20. initialize.c
  21. intrusive_hash_map.c
  22. intrusive_hash_map.h
  23. intrusive_hash_map_internal.h
  24. mlog.c
  25. mlog.h
  26. operation.c
  27. placeholders.c
  28. README.md
  29. resource.c
  30. resource.h
  31. rpc_metric_id.h
  32. trace_context.c
  33. trace_context.h
  34. trace_label.h
  35. trace_propagation.h
  36. trace_status.h
  37. trace_string.h
  38. tracing.c
  39. tracing.h
  40. window_stats.c
  41. 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_*.