如何为特定查询请求启用 Apollo Tracing with Hot Chocolate?
How do I enable Apollo Tracing with Hot Chocolate for a particular query request?
有时我希望能够为非常具体的查询请求启用 Apollo Tracing,因为例如这个特定的请求很慢。有没有办法用 Hot Chocolate 做到这一点?如果是,我如何告诉一个特定的查询请求我实际上有兴趣跟踪?
首先,是的 Hot Chocolate 确实支持 Apollo Tracing 按需,这意味着基于每个查询请求。它只需要对 server-side.
进行一些配置调整
通常,您会像这样创建一个 GraphQL 模式:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Here I register my services / repositories; omitted for brevity
services.AddGraphQL(sp => Schema.Create(c =>
{
// Here I register my schema types and so on; omitted for brevity
}));
}
// Code omitted for brevity
}
要启用按需跟踪,您需要将 TracingPreference
选项设置为 TracingPreference.OnDemand
。之前的代码片段将如下所示。
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Here I register my services / repositories; omitted for brevity
services.AddGraphQL(sp => Schema.Create(c =>
{
// Here I register my schema types and so on; omitted for brevity
}),
new QueryExecutionOptions
{
TracingPreference = TracingPreference.OnDemand
});
}
// Code omitted for brevity
}
将跟踪首选项设置为 OnDemand
后,您只需将以下 HTTP header GraphQL-Tracing=1
与您感兴趣的每个查询请求一起传递。仅此而已。
有关 Apollo Tracing 的更多信息,请前往 here。
有时我希望能够为非常具体的查询请求启用 Apollo Tracing,因为例如这个特定的请求很慢。有没有办法用 Hot Chocolate 做到这一点?如果是,我如何告诉一个特定的查询请求我实际上有兴趣跟踪?
首先,是的 Hot Chocolate 确实支持 Apollo Tracing 按需,这意味着基于每个查询请求。它只需要对 server-side.
进行一些配置调整通常,您会像这样创建一个 GraphQL 模式:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Here I register my services / repositories; omitted for brevity
services.AddGraphQL(sp => Schema.Create(c =>
{
// Here I register my schema types and so on; omitted for brevity
}));
}
// Code omitted for brevity
}
要启用按需跟踪,您需要将 TracingPreference
选项设置为 TracingPreference.OnDemand
。之前的代码片段将如下所示。
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Here I register my services / repositories; omitted for brevity
services.AddGraphQL(sp => Schema.Create(c =>
{
// Here I register my schema types and so on; omitted for brevity
}),
new QueryExecutionOptions
{
TracingPreference = TracingPreference.OnDemand
});
}
// Code omitted for brevity
}
将跟踪首选项设置为 OnDemand
后,您只需将以下 HTTP header GraphQL-Tracing=1
与您感兴趣的每个查询请求一起传递。仅此而已。
有关 Apollo Tracing 的更多信息,请前往 here。