【问题标题】:How do I enable Apollo Tracing with Hot Chocolate for a particular query request?如何为特定查询请求启用 Apollo Tracing with Hot Chocolate?
【发布时间】:2019-02-07 21:46:20
【问题描述】:

有时我希望能够为一个非常具体的查询请求启用Apollo Tracing,因为例如这个特定的请求很慢。有没有办法用Hot Chocolate 做到这一点?如果是,我将如何告诉我有兴趣实际跟踪的特定查询请求?

【问题讨论】:

    标签: c# .net .net-core graphql hotchocolate


    【解决方案1】:

    首先,是的,Hot Chocolate 确实支持按需Apollo Tracing,这意味着基于每个查询请求。它只需要在服务器端进行一些配置调整。

    通常,您会像这样创建 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 标头 GraphQL-Tracing=1 传递给您感兴趣的每个查询请求。仅此而已。

    有关 Apollo Tracing 的更多信息,请访问here

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 2021-12-10
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      • 2021-01-07
      • 1970-01-01
      • 2020-01-17
      相关资源
      最近更新 更多