From 0504a4443fb973f8cb3bc43f05bc1a73680fab59 Mon Sep 17 00:00:00 2001
From: Hongyu Chen <hongyu@google.com>
Date: Thu, 10 Dec 2015 16:33:56 -0800
Subject: [PATCH] More reverting

---
 include/grpc++/client_context.h  | 2 +-
 src/cpp/client/channel.cc        | 1 +
 src/cpp/server/server_context.cc | 4 ++++
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/include/grpc++/client_context.h b/include/grpc++/client_context.h
index 1f46d8e417..1b6769dee1 100644
--- a/include/grpc++/client_context.h
+++ b/include/grpc++/client_context.h
@@ -37,7 +37,7 @@
 /// side.
 /// - Control call settings such as compression and authentication.
 /// - Initial and trailing metadata coming from the server.
-/// - Get performace metrics (ie, census).
+/// - Get performance metrics (ie, census).
 ///
 /// Context settings are only relevant to the call they are invoked with, that
 /// is to say, they aren't sticky. Some of these settings, such as the
diff --git a/src/cpp/client/channel.cc b/src/cpp/client/channel.cc
index 6b20abaf53..c7974d655b 100644
--- a/src/cpp/client/channel.cc
+++ b/src/cpp/client/channel.cc
@@ -77,6 +77,7 @@ Call Channel::CreateCall(const RpcMethod& method, ClientContext* context,
                                       cq->cq(), method.name(), host_str,
                                       context->raw_deadline(), nullptr);
   }
+  grpc_census_call_set_context(c_call, context->census_context());
   context->set_call(c_call, shared_from_this());
   return Call(c_call, this, cq);
 }
diff --git a/src/cpp/server/server_context.cc b/src/cpp/server/server_context.cc
index 0306b5f321..8193e70660 100644
--- a/src/cpp/server/server_context.cc
+++ b/src/cpp/server/server_context.cc
@@ -214,4 +214,8 @@ grpc::string ServerContext::peer() const {
   return peer;
 }
 
+const struct census_context* ServerContext::census_context() const {
+  return grpc_census_call_get_context(call_);
+}
+
 }  // namespace grpc
-- 
GitLab