stayallive/lighthouse-graphql-hive

使用 GraphQL Hive 监控 Lighthouse 的性能。

v1.1.0 2024-08-10 19:59 UTC

This package is auto-updated.

Last update: 2024-09-10 20:07:33 UTC


README

Latest Version Software License Build Status Total Downloads

GraphQL Hive 可以测量和收集针对所有 GraphQL 操作的数据,并生成相应的分析。

本包旨在将 GraphQL HiveLighthouse 集成,后者是 GraphQL 服务器的 Laravel 实现。

安装

composer require stayallive/lighthouse-graphql-hive

将以下代码片段添加到您的 config/services.php 文件中

    'graphqlhive' => [
        'enabled'   => env('GRAPHQL_HIVE_ENABLED', false),
        'token'     => env('GRAPHQL_HIVE_TOKEN'),
        'submitter' => env('GRAPHQL_HIVE_SUBMITTER'),
        'queue'     => env('GRAPHQL_HIVE_QUEUE'),
    ],

在您的 .env 文件中至少配置以下内容

GRAPHQL_HIVE_ENABLED=true
GRAPHQL_HIVE_TOKEN=<your GraphQL Hive token>

有关如何获取 GraphQL Hive 令牌的更多信息,请参阅此处

提交者

提交者是运行以聚合和/或将收集的操作数据发送到 GraphQL Hive API 的代码。

目前支持 2 个提交者,如果没有配置任何提交者,则默认使用 Queue 提交者。

队列(默认)

GRAPHQL_HIVE_SUBMITTER=Stayallive\Lighthouse\GraphQLHive\Submitter\Queue\Submitter

此提交者将每个操作推送到队列作业,作业将每个操作发送到 GraphQL Hive

您还可以通过设置环境变量 GRAPHQL_HIVE_QUEUE 为队列的名称来配置用于调度作业的队列。

注意:在高流量下,这可能会因为许多排队作业被推送到和被 GraphQL Hive 服务器速率限制而导致问题。

Redis

GRAPHQL_HIVE_SUBMITTER=Stayallive\Lighthouse\GraphQLHive\Submitter\Redis\Submitter

此提交者将每个操作推送到 Redis 列表,一个计划命令将每分钟运行一次,批量发送操作到 GraphQL Hive

注意:此提交者需要配置 Redis 连接。

使用

您只需要安装此包即可受益,除非您已禁用包自动发现,在这种情况下,您需要手动将服务提供者添加到您的 config/app.php 文件中。

您可以选择在请求中添加格式为 name:versiongraphql-client 标头(如:my-app:1.2.3),以在 GraphQL Hive 仪表板中查看客户端统计信息。您也可以选择设置 x-graphql-client-namex-graphql-client-version 标头。

安全漏洞

如果您在此包中发现了安全漏洞,请发送电子邮件至 Alex Bouma(地址:alex+security@bouma.me)。所有安全漏洞都将迅速得到解决。

许可证

此包是开源软件,受 MIT 许可证 的许可。