aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/grpc++/client_context.h2
-rw-r--r--src/cpp/client/channel.cc1
-rw-r--r--src/cpp/server/server_context.cc4
3 files changed, 6 insertions, 1 deletions
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