Reputation: 1391
I am using the Service Grid based on Apache Ignite .Net and I am seeking to implement the distributed tracing for requests spanning multiple Ignite services.
To implement that, I need to pass a request id (also known as correlation id) through the entire call chain. So I wonder if there is a way to transparently pass some context information from an Ignite service caller to the target Ignite service without wrapping the method arguments in some form of envelope? That would enable me to keep the method arguments clean.
I see that there is the void Execute(IServiceContext context)
method that gives access to some context information on the receiving side. Is there a way to manipulate the context on the client side?
Thank you!
Upvotes: 0
Views: 167
Reputation: 26
void Execute(IServiceContext context)
method is invoked automatically whenever an instance of the service is deployed on a grid node, and ServiceContext
instance is created inside the grid on service deployment, so it's not intended to be manipulated somehow from the client side.
In described case some kind of correlation id can be added to the service's methods signatures.
Upvotes: 1