Как включить отслеживание Apollo с Hot Chocolate для определенного запроса? - PullRequest
0 голосов
/ 08 февраля 2019

Иногда я хотел бы иметь возможность включить Apollo Tracing для очень конкретного запроса, например, потому что этот конкретный запрос медленный.Есть ли способ сделать это с Hot Chocolate ?И если да, то как мне сообщить конкретному запросу, что я на самом деле заинтересован в трассировке?

1 Ответ

0 голосов
/ 08 февраля 2019

Прежде всего, да Горячий шоколад поддерживает 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 , над головой здесь .

...