diff --git a/BUILD b/BUILD
index d75bd4205fd..bdcef1e20b8 100644
--- a/BUILD
+++ b/BUILD
@@ -243,6 +243,7 @@ cc_library(
"src/core/transport/transport.h",
"src/core/transport/transport_impl.h",
"src/core/census/context.h",
+ "src/core/census/resource_id.h",
"src/core/httpcli/format_request.c",
"src/core/httpcli/httpcli.c",
"src/core/httpcli/httpcli_security_connector.c",
@@ -377,6 +378,7 @@ cc_library(
"src/core/transport/transport_op_string.c",
"src/core/census/context.c",
"src/core/census/initialize.c",
+ "src/core/census/record_stat.c",
],
hdrs = [
"include/grpc/grpc_security.h",
@@ -497,6 +499,7 @@ cc_library(
"src/core/transport/transport.h",
"src/core/transport/transport_impl.h",
"src/core/census/context.h",
+ "src/core/census/resource_id.h",
"src/core/surface/init_unsecure.c",
"src/core/census/grpc_context.c",
"src/core/channel/channel_args.c",
@@ -608,6 +611,7 @@ cc_library(
"src/core/transport/transport_op_string.c",
"src/core/census/context.c",
"src/core/census/initialize.c",
+ "src/core/census/record_stat.c",
],
hdrs = [
"include/grpc/byte_buffer.h",
@@ -1080,6 +1084,7 @@ objc_library(
"src/core/transport/transport_op_string.c",
"src/core/census/context.c",
"src/core/census/initialize.c",
+ "src/core/census/record_stat.c",
],
hdrs = [
"include/grpc/grpc_security.h",
@@ -1202,6 +1207,7 @@ objc_library(
"src/core/transport/transport.h",
"src/core/transport/transport_impl.h",
"src/core/census/context.h",
+ "src/core/census/resource_id.h",
],
includes = [
"include",
diff --git a/Makefile b/Makefile
index 57ab6fed152..c7afefd07d8 100644
--- a/Makefile
+++ b/Makefile
@@ -3375,6 +3375,7 @@ LIBGRPC_SRC = \
src/core/transport/transport_op_string.c \
src/core/census/context.c \
src/core/census/initialize.c \
+ src/core/census/record_stat.c \
PUBLIC_HEADERS_C += \
include/grpc/grpc_security.h \
@@ -3636,6 +3637,7 @@ LIBGRPC_UNSECURE_SRC = \
src/core/transport/transport_op_string.c \
src/core/census/context.c \
src/core/census/initialize.c \
+ src/core/census/record_stat.c \
PUBLIC_HEADERS_C += \
include/grpc/byte_buffer.h \
diff --git a/gRPC.podspec b/gRPC.podspec
index f678819b965..5d2459b2891 100644
--- a/gRPC.podspec
+++ b/gRPC.podspec
@@ -245,6 +245,7 @@ Pod::Spec.new do |s|
'src/core/transport/transport.h',
'src/core/transport/transport_impl.h',
'src/core/census/context.h',
+ 'src/core/census/resource_id.h',
'grpc/grpc_security.h',
'grpc/byte_buffer.h',
'grpc/byte_buffer_reader.h',
@@ -385,7 +386,8 @@ Pod::Spec.new do |s|
'src/core/transport/transport.c',
'src/core/transport/transport_op_string.c',
'src/core/census/context.c',
- 'src/core/census/initialize.c'
+ 'src/core/census/initialize.c',
+ 'src/core/census/record_stat.c'
ss.private_header_files = 'src/core/support/env.h',
'src/core/support/file.h',
@@ -505,7 +507,8 @@ Pod::Spec.new do |s|
'src/core/transport/stream_op.h',
'src/core/transport/transport.h',
'src/core/transport/transport_impl.h',
- 'src/core/census/context.h'
+ 'src/core/census/context.h',
+ 'src/core/census/resource_id.h'
ss.header_mappings_dir = '.'
diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal
index f11df213880..dd65c6cdbda 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -880,6 +880,7 @@ src/core/transport/stream_op.h \
src/core/transport/transport.h \
src/core/transport/transport_impl.h \
src/core/census/context.h \
+src/core/census/resource_id.h \
src/core/httpcli/format_request.c \
src/core/httpcli/httpcli.c \
src/core/httpcli/httpcli_security_connector.c \
@@ -1014,6 +1015,7 @@ src/core/transport/transport.c \
src/core/transport/transport_op_string.c \
src/core/census/context.c \
src/core/census/initialize.c \
+src/core/census/record_stat.c \
include/grpc/support/alloc.h \
include/grpc/support/atm.h \
include/grpc/support/atm_gcc_atomic.h \
diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json
index 0493e06f58e..07fb85d9d02 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -8716,6 +8716,7 @@
"include/grpc/status.h",
"src/core/census/context.h",
"src/core/census/grpc_context.h",
+ "src/core/census/resource_id.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.h",
"src/core/channel/channel_stack.h",
@@ -8843,6 +8844,8 @@
"src/core/census/grpc_context.c",
"src/core/census/grpc_context.h",
"src/core/census/initialize.c",
+ "src/core/census/record_stat.c",
+ "src/core/census/resource_id.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.c",
"src/core/channel/channel_args.h",
@@ -9169,6 +9172,7 @@
"include/grpc/status.h",
"src/core/census/context.h",
"src/core/census/grpc_context.h",
+ "src/core/census/resource_id.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.h",
"src/core/channel/channel_stack.h",
@@ -9278,6 +9282,8 @@
"src/core/census/grpc_context.c",
"src/core/census/grpc_context.h",
"src/core/census/initialize.c",
+ "src/core/census/record_stat.c",
+ "src/core/census/resource_id.h",
"src/core/channel/census_filter.h",
"src/core/channel/channel_args.c",
"src/core/channel/channel_args.h",
diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj
index 16744b181b9..679bc337549 100644
--- a/vsprojects/grpc/grpc.vcxproj
+++ b/vsprojects/grpc/grpc.vcxproj
@@ -269,6 +269,7 @@
+
@@ -539,6 +540,8 @@
+
+
diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters
index de9f20521ca..d139a2e3304 100644
--- a/vsprojects/grpc/grpc.vcxproj.filters
+++ b/vsprojects/grpc/grpc.vcxproj.filters
@@ -403,6 +403,9 @@
src\core\census
+
+ src\core\census
+
@@ -767,6 +770,9 @@
src\core\census
+
+ src\core\census
+
diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj
index 02c791f995d..4cea37e7aaa 100644
--- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj
+++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj
@@ -250,6 +250,7 @@
+
@@ -474,6 +475,8 @@
+
+
diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters
index 333a71f5648..e51f0e7c500 100644
--- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters
+++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters
@@ -334,6 +334,9 @@
src\core\census
+
+ src\core\census
+
@@ -644,6 +647,9 @@
src\core\census
+
+ src\core\census
+