diff --git a/rector.php b/rector.php
index 987b144be..642988475 100644
--- a/rector.php
+++ b/rector.php
@@ -12,6 +12,7 @@
use Rector\CodingStyle\Rector\Encapsed\EncapsedStringsToSprintfRector;
use Rector\Config\RectorConfig;
use Rector\Php71\Rector\FuncCall\RemoveExtraParametersRector;
+use Rector\Php80\Rector\FunctionLike\MixedTypeRector;
use Rector\PHPUnit\PHPUnit60\Rector\ClassMethod\AddDoesNotPerformAssertionToNonAssertingTestRector;
use Rector\PHPUnit\Set\PHPUnitSetList;
use Rector\Set\ValueObject\SetList;
@@ -58,6 +59,7 @@
AddReturnTypeDeclarationFromYieldsRector::class, // iterable is fine
UnusedForeachValueToArrayKeysRector::class, // inefficient
AddDoesNotPerformAssertionToNonAssertingTestRector::class, // does not recognize mockResolver
+ MixedTypeRector::class, // removes useful comments
]);
$rectorConfig->paths([
__DIR__ . '/src',
diff --git a/src/Tracing/FederatedTracing/Proto/ContextualizedStats.php b/src/Tracing/FederatedTracing/Proto/ContextualizedStats.php
index 260fdbbcd..6c01d7538 100644
--- a/src/Tracing/FederatedTracing/Proto/ContextualizedStats.php
+++ b/src/Tracing/FederatedTracing/Proto/ContextualizedStats.php
@@ -26,6 +26,35 @@ class ContextualizedStats extends \Google\Protobuf\Internal\Message
*/
private $per_type_stat;
+ /**
+ * Extended references including input types and enum values.
+ *
+ * Generated from protobuf field .ExtendedReferences extended_references = 6 [json_name = "extendedReferences"];
+ */
+ protected $extended_references;
+
+ /**
+ * Per type stats that are obtained directly by the router or gateway rather than FTV1.
+ *
+ * Generated from protobuf field map local_per_type_stat = 7 [json_name = "localPerTypeStat"];
+ */
+ private $local_per_type_stat;
+
+ /**
+ * Stats that contain limits information for the query.
+ *
+ * Generated from protobuf field .LimitsStats limits_stats = 8 [json_name = "limitsStats"];
+ */
+ protected $limits_stats;
+
+ /**
+ * Total number of operations processed during this period for this context. This includes all operations, even if they are sampled
+ * and not included in the query latency stats.
+ *
+ * Generated from protobuf field uint64 operation_count = 9 [json_name = "operationCount"];
+ */
+ protected $operation_count = 0;
+
/**
* Constructor.
*
@@ -37,6 +66,15 @@ class ContextualizedStats extends \Google\Protobuf\Internal\Message
* @var array|\Google\Protobuf\Internal\MapField $per_type_stat
* Key is type name. This structure provides data for the count and latency of individual
* field executions and thus only reflects operations for which field-level tracing occurred.
+ * @var \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\ExtendedReferences $extended_references
+ * Extended references including input types and enum values.
+ * @var array|\Google\Protobuf\Internal\MapField $local_per_type_stat
+ * Per type stats that are obtained directly by the router or gateway rather than FTV1.
+ * @var \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\LimitsStats $limits_stats
+ * Stats that contain limits information for the query.
+ * @var int|string $operation_count
+ * Total number of operations processed during this period for this context. This includes all operations, even if they are sampled
+ * and not included in the query latency stats.
* }
*/
public function __construct($data = null)
@@ -145,4 +183,142 @@ public function setPerTypeStat($var)
return $this;
}
+
+ /**
+ * Extended references including input types and enum values.
+ *
+ * Generated from protobuf field .ExtendedReferences extended_references = 6 [json_name = "extendedReferences"];
+ *
+ * @return \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\ExtendedReferences|null
+ */
+ public function getExtendedReferences()
+ {
+ return $this->extended_references;
+ }
+
+ public function hasExtendedReferences()
+ {
+ return isset($this->extended_references);
+ }
+
+ public function clearExtendedReferences()
+ {
+ unset($this->extended_references);
+ }
+
+ /**
+ * Extended references including input types and enum values.
+ *
+ * Generated from protobuf field .ExtendedReferences extended_references = 6 [json_name = "extendedReferences"];
+ *
+ * @param \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\ExtendedReferences $var
+ *
+ * @return $this
+ */
+ public function setExtendedReferences($var)
+ {
+ GPBUtil::checkMessage($var, ExtendedReferences::class);
+ $this->extended_references = $var;
+
+ return $this;
+ }
+
+ /**
+ * Per type stats that are obtained directly by the router or gateway rather than FTV1.
+ *
+ * Generated from protobuf field map local_per_type_stat = 7 [json_name = "localPerTypeStat"];
+ *
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getLocalPerTypeStat()
+ {
+ return $this->local_per_type_stat;
+ }
+
+ /**
+ * Per type stats that are obtained directly by the router or gateway rather than FTV1.
+ *
+ * Generated from protobuf field map local_per_type_stat = 7 [json_name = "localPerTypeStat"];
+ *
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ *
+ * @return $this
+ */
+ public function setLocalPerTypeStat($var)
+ {
+ $arr = GPBUtil::checkMapField($var, GPBType::STRING, GPBType::MESSAGE, LocalTypeStat::class);
+ $this->local_per_type_stat = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Stats that contain limits information for the query.
+ *
+ * Generated from protobuf field .LimitsStats limits_stats = 8 [json_name = "limitsStats"];
+ *
+ * @return \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\LimitsStats|null
+ */
+ public function getLimitsStats()
+ {
+ return $this->limits_stats;
+ }
+
+ public function hasLimitsStats()
+ {
+ return isset($this->limits_stats);
+ }
+
+ public function clearLimitsStats()
+ {
+ unset($this->limits_stats);
+ }
+
+ /**
+ * Stats that contain limits information for the query.
+ *
+ * Generated from protobuf field .LimitsStats limits_stats = 8 [json_name = "limitsStats"];
+ *
+ * @param \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\LimitsStats $var
+ *
+ * @return $this
+ */
+ public function setLimitsStats($var)
+ {
+ GPBUtil::checkMessage($var, LimitsStats::class);
+ $this->limits_stats = $var;
+
+ return $this;
+ }
+
+ /**
+ * Total number of operations processed during this period for this context. This includes all operations, even if they are sampled
+ * and not included in the query latency stats.
+ *
+ * Generated from protobuf field uint64 operation_count = 9 [json_name = "operationCount"];
+ *
+ * @return int|string
+ */
+ public function getOperationCount()
+ {
+ return $this->operation_count;
+ }
+
+ /**
+ * Total number of operations processed during this period for this context. This includes all operations, even if they are sampled
+ * and not included in the query latency stats.
+ *
+ * Generated from protobuf field uint64 operation_count = 9 [json_name = "operationCount"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setOperationCount($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->operation_count = $var;
+
+ return $this;
+ }
}
diff --git a/src/Tracing/FederatedTracing/Proto/EnumStats.php b/src/Tracing/FederatedTracing/Proto/EnumStats.php
new file mode 100644
index 000000000..9d4f6398f
--- /dev/null
+++ b/src/Tracing/FederatedTracing/Proto/EnumStats.php
@@ -0,0 +1,66 @@
+EnumStats.
+ */
+class EnumStats extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Map of enum value name to the number of referencing operations.
+ *
+ * Generated from protobuf field map enum_values = 1 [json_name = "enumValues"];
+ */
+ private $enum_values;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @var array|\Google\Protobuf\Internal\MapField $enum_values
+ * Map of enum value name to the number of referencing operations.
+ * }
+ */
+ public function __construct($data = null)
+ {
+ Metadata\Reports::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Map of enum value name to the number of referencing operations.
+ *
+ * Generated from protobuf field map enum_values = 1 [json_name = "enumValues"];
+ *
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getEnumValues()
+ {
+ return $this->enum_values;
+ }
+
+ /**
+ * Map of enum value name to the number of referencing operations.
+ *
+ * Generated from protobuf field map enum_values = 1 [json_name = "enumValues"];
+ *
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ *
+ * @return $this
+ */
+ public function setEnumValues($var)
+ {
+ $arr = GPBUtil::checkMapField($var, GPBType::STRING, GPBType::UINT64);
+ $this->enum_values = $arr;
+
+ return $this;
+ }
+}
diff --git a/src/Tracing/FederatedTracing/Proto/ExtendedReferences.php b/src/Tracing/FederatedTracing/Proto/ExtendedReferences.php
new file mode 100644
index 000000000..6bad9cf08
--- /dev/null
+++ b/src/Tracing/FederatedTracing/Proto/ExtendedReferences.php
@@ -0,0 +1,95 @@
+ExtendedReferences.
+ */
+class ExtendedReferences extends \Google\Protobuf\Internal\Message
+{
+ /** Generated from protobuf field map input_types = 1 [json_name = "inputTypes"];
*/
+ private $input_types;
+
+ /**
+ * Map of enum name to stats about that enum.
+ *
+ * Generated from protobuf field map enum_values = 2 [json_name = "enumValues"];
+ */
+ private $enum_values;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @var array|\Google\Protobuf\Internal\MapField $input_types
+ * @var array|\Google\Protobuf\Internal\MapField $enum_values
+ * Map of enum name to stats about that enum.
+ * }
+ */
+ public function __construct($data = null)
+ {
+ Metadata\Reports::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Generated from protobuf field map input_types = 1 [json_name = "inputTypes"];
.
+ *
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getInputTypes()
+ {
+ return $this->input_types;
+ }
+
+ /**
+ * Generated from protobuf field map input_types = 1 [json_name = "inputTypes"];
.
+ *
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ *
+ * @return $this
+ */
+ public function setInputTypes($var)
+ {
+ $arr = GPBUtil::checkMapField($var, GPBType::STRING, GPBType::MESSAGE, InputTypeStats::class);
+ $this->input_types = $arr;
+
+ return $this;
+ }
+
+ /**
+ * Map of enum name to stats about that enum.
+ *
+ * Generated from protobuf field map enum_values = 2 [json_name = "enumValues"];
+ *
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getEnumValues()
+ {
+ return $this->enum_values;
+ }
+
+ /**
+ * Map of enum name to stats about that enum.
+ *
+ * Generated from protobuf field map enum_values = 2 [json_name = "enumValues"];
+ *
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ *
+ * @return $this
+ */
+ public function setEnumValues($var)
+ {
+ $arr = GPBUtil::checkMapField($var, GPBType::STRING, GPBType::MESSAGE, EnumStats::class);
+ $this->enum_values = $arr;
+
+ return $this;
+ }
+}
diff --git a/src/Tracing/FederatedTracing/Proto/FieldStat.php b/src/Tracing/FederatedTracing/Proto/FieldStat.php
index eeeaa606d..e189b9c25 100644
--- a/src/Tracing/FederatedTracing/Proto/FieldStat.php
+++ b/src/Tracing/FederatedTracing/Proto/FieldStat.php
@@ -90,7 +90,7 @@ class FieldStat extends \Google\Protobuf\Internal\Message
* field_execution_weight).
* @var int|string $observed_execution_count
* Number of times that the resolver for this field is directly observed being
- * executed
+ * executed.
* @var int|string $estimated_execution_count
* Same as `observed_execution_count` but potentially scaled upwards if the server was only
* performing field-level instrumentation on a sampling of operations. For
diff --git a/src/Tracing/FederatedTracing/Proto/InputFieldStats.php b/src/Tracing/FederatedTracing/Proto/InputFieldStats.php
new file mode 100644
index 000000000..4f7ea6cc5
--- /dev/null
+++ b/src/Tracing/FederatedTracing/Proto/InputFieldStats.php
@@ -0,0 +1,141 @@
+InputFieldStats.
+ */
+class InputFieldStats extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The total number of operations that reference the input object field.
+ *
+ * Generated from protobuf field uint64 refs = 1 [json_name = "refs"];
+ */
+ protected $refs = 0;
+
+ /**
+ * The number of operations that reference the input object field as a null value.
+ *
+ * Generated from protobuf field uint64 null_refs = 2 [json_name = "nullRefs"];
+ */
+ protected $null_refs = 0;
+
+ /**
+ * The number of operations that don't reference this input object field (the field is missing or undefined).
+ *
+ * Generated from protobuf field uint64 missing = 3 [json_name = "missing"];
+ */
+ protected $missing = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @var int|string $refs
+ * The total number of operations that reference the input object field.
+ * @var int|string $null_refs
+ * The number of operations that reference the input object field as a null value.
+ * @var int|string $missing
+ * The number of operations that don't reference this input object field (the field is missing or undefined).
+ * }
+ */
+ public function __construct($data = null)
+ {
+ Metadata\Reports::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The total number of operations that reference the input object field.
+ *
+ * Generated from protobuf field uint64 refs = 1 [json_name = "refs"];
+ *
+ * @return int|string
+ */
+ public function getRefs()
+ {
+ return $this->refs;
+ }
+
+ /**
+ * The total number of operations that reference the input object field.
+ *
+ * Generated from protobuf field uint64 refs = 1 [json_name = "refs"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setRefs($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->refs = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of operations that reference the input object field as a null value.
+ *
+ * Generated from protobuf field uint64 null_refs = 2 [json_name = "nullRefs"];
+ *
+ * @return int|string
+ */
+ public function getNullRefs()
+ {
+ return $this->null_refs;
+ }
+
+ /**
+ * The number of operations that reference the input object field as a null value.
+ *
+ * Generated from protobuf field uint64 null_refs = 2 [json_name = "nullRefs"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setNullRefs($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->null_refs = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of operations that don't reference this input object field (the field is missing or undefined).
+ *
+ * Generated from protobuf field uint64 missing = 3 [json_name = "missing"];
+ *
+ * @return int|string
+ */
+ public function getMissing()
+ {
+ return $this->missing;
+ }
+
+ /**
+ * The number of operations that don't reference this input object field (the field is missing or undefined).
+ *
+ * Generated from protobuf field uint64 missing = 3 [json_name = "missing"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setMissing($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->missing = $var;
+
+ return $this;
+ }
+}
diff --git a/src/Tracing/FederatedTracing/Proto/InputTypeStats.php b/src/Tracing/FederatedTracing/Proto/InputTypeStats.php
new file mode 100644
index 000000000..73549de09
--- /dev/null
+++ b/src/Tracing/FederatedTracing/Proto/InputTypeStats.php
@@ -0,0 +1,66 @@
+InputTypeStats.
+ */
+class InputTypeStats extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Map of input object type to the stats about the fields within that object.
+ *
+ * Generated from protobuf field map field_names = 1 [json_name = "fieldNames"];
+ */
+ private $field_names;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @var array|\Google\Protobuf\Internal\MapField $field_names
+ * Map of input object type to the stats about the fields within that object.
+ * }
+ */
+ public function __construct($data = null)
+ {
+ Metadata\Reports::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Map of input object type to the stats about the fields within that object.
+ *
+ * Generated from protobuf field map field_names = 1 [json_name = "fieldNames"];
+ *
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getFieldNames()
+ {
+ return $this->field_names;
+ }
+
+ /**
+ * Map of input object type to the stats about the fields within that object.
+ *
+ * Generated from protobuf field map field_names = 1 [json_name = "fieldNames"];
+ *
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ *
+ * @return $this
+ */
+ public function setFieldNames($var)
+ {
+ $arr = GPBUtil::checkMapField($var, GPBType::STRING, GPBType::MESSAGE, InputFieldStats::class);
+ $this->field_names = $arr;
+
+ return $this;
+ }
+}
diff --git a/src/Tracing/FederatedTracing/Proto/LimitsStats.php b/src/Tracing/FederatedTracing/Proto/LimitsStats.php
new file mode 100644
index 000000000..b0276468e
--- /dev/null
+++ b/src/Tracing/FederatedTracing/Proto/LimitsStats.php
@@ -0,0 +1,376 @@
+LimitsStats
+ */
+class LimitsStats extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The strategy used in cost calculations.
+ *
+ * Generated from protobuf field string strategy = 1 [json_name = "strategy"];
+ */
+ protected $strategy = '';
+
+ /**
+ * The estimated cost as calculated via the strategy specified in stats context
+ * The reason that this is a histogram rather than fixed cost is that it can be affected by paging variables.
+ *
+ * Generated from protobuf field repeated sint64 cost_estimated = 2 [json_name = "costEstimated"];
+ */
+ private $cost_estimated;
+
+ /**
+ * The maximum estimated cost of the query.
+ *
+ * Generated from protobuf field uint64 max_cost_estimated = 3 [json_name = "maxCostEstimated"];
+ */
+ protected $max_cost_estimated = 0;
+
+ /**
+ * The actual cost using the strategy specified in stats context.
+ *
+ * Generated from protobuf field repeated sint64 cost_actual = 4 [json_name = "costActual"];
+ */
+ private $cost_actual;
+
+ /**
+ * The maximum estimated cost of the query.
+ *
+ * Generated from protobuf field uint64 max_cost_actual = 5 [json_name = "maxCostActual"];
+ */
+ protected $max_cost_actual = 0;
+
+ /**
+ * The total depth of the query.
+ *
+ * Generated from protobuf field uint64 depth = 6 [json_name = "depth"];
+ */
+ protected $depth = 0;
+
+ /**
+ * The height of the query.
+ *
+ * Generated from protobuf field uint64 height = 7 [json_name = "height"];
+ */
+ protected $height = 0;
+
+ /**
+ * The number of aliases in the query.
+ *
+ * Generated from protobuf field uint64 alias_count = 8 [json_name = "aliasCount"];
+ */
+ protected $alias_count = 0;
+
+ /**
+ * The number of root fields in the query.
+ *
+ * Generated from protobuf field uint64 root_field_count = 9 [json_name = "rootFieldCount"];
+ */
+ protected $root_field_count = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @var string $strategy
+ * The strategy used in cost calculations.
+ * @var array|array|\Google\Protobuf\Internal\RepeatedField $cost_estimated
+ * The estimated cost as calculated via the strategy specified in stats context
+ * The reason that this is a histogram rather than fixed cost is that it can be affected by paging variables.
+ * @var int|string $max_cost_estimated
+ * The maximum estimated cost of the query
+ * @var array|array|\Google\Protobuf\Internal\RepeatedField $cost_actual
+ * The actual cost using the strategy specified in stats context
+ * @var int|string $max_cost_actual
+ * The maximum estimated cost of the query
+ * @var int|string $depth
+ * The total depth of the query
+ * @var int|string $height
+ * The height of the query
+ * @var int|string $alias_count
+ * The number of aliases in the query
+ * @var int|string $root_field_count
+ * The number of root fields in the query
+ * }
+ */
+ public function __construct($data = null)
+ {
+ Metadata\Reports::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The strategy used in cost calculations.
+ *
+ * Generated from protobuf field string strategy = 1 [json_name = "strategy"];
+ *
+ * @return string
+ */
+ public function getStrategy()
+ {
+ return $this->strategy;
+ }
+
+ /**
+ * The strategy used in cost calculations.
+ *
+ * Generated from protobuf field string strategy = 1 [json_name = "strategy"];
+ *
+ * @param string $var
+ *
+ * @return $this
+ */
+ public function setStrategy($var)
+ {
+ GPBUtil::checkString($var, true);
+ $this->strategy = $var;
+
+ return $this;
+ }
+
+ /**
+ * The estimated cost as calculated via the strategy specified in stats context
+ * The reason that this is a histogram rather than fixed cost is that it can be affected by paging variables.
+ *
+ * Generated from protobuf field repeated sint64 cost_estimated = 2 [json_name = "costEstimated"];
+ *
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCostEstimated()
+ {
+ return $this->cost_estimated;
+ }
+
+ /**
+ * The estimated cost as calculated via the strategy specified in stats context
+ * The reason that this is a histogram rather than fixed cost is that it can be affected by paging variables.
+ *
+ * Generated from protobuf field repeated sint64 cost_estimated = 2 [json_name = "costEstimated"];
+ *
+ * @param array|array|\Google\Protobuf\Internal\RepeatedField $var
+ *
+ * @return $this
+ */
+ public function setCostEstimated($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, GPBType::SINT64);
+ $this->cost_estimated = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The maximum estimated cost of the query.
+ *
+ * Generated from protobuf field uint64 max_cost_estimated = 3 [json_name = "maxCostEstimated"];
+ *
+ * @return int|string
+ */
+ public function getMaxCostEstimated()
+ {
+ return $this->max_cost_estimated;
+ }
+
+ /**
+ * The maximum estimated cost of the query.
+ *
+ * Generated from protobuf field uint64 max_cost_estimated = 3 [json_name = "maxCostEstimated"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setMaxCostEstimated($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->max_cost_estimated = $var;
+
+ return $this;
+ }
+
+ /**
+ * The actual cost using the strategy specified in stats context.
+ *
+ * Generated from protobuf field repeated sint64 cost_actual = 4 [json_name = "costActual"];
+ *
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getCostActual()
+ {
+ return $this->cost_actual;
+ }
+
+ /**
+ * The actual cost using the strategy specified in stats context.
+ *
+ * Generated from protobuf field repeated sint64 cost_actual = 4 [json_name = "costActual"];
+ *
+ * @param array|array|\Google\Protobuf\Internal\RepeatedField $var
+ *
+ * @return $this
+ */
+ public function setCostActual($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, GPBType::SINT64);
+ $this->cost_actual = $arr;
+
+ return $this;
+ }
+
+ /**
+ * The maximum estimated cost of the query.
+ *
+ * Generated from protobuf field uint64 max_cost_actual = 5 [json_name = "maxCostActual"];
+ *
+ * @return int|string
+ */
+ public function getMaxCostActual()
+ {
+ return $this->max_cost_actual;
+ }
+
+ /**
+ * The maximum estimated cost of the query.
+ *
+ * Generated from protobuf field uint64 max_cost_actual = 5 [json_name = "maxCostActual"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setMaxCostActual($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->max_cost_actual = $var;
+
+ return $this;
+ }
+
+ /**
+ * The total depth of the query.
+ *
+ * Generated from protobuf field uint64 depth = 6 [json_name = "depth"];
+ *
+ * @return int|string
+ */
+ public function getDepth()
+ {
+ return $this->depth;
+ }
+
+ /**
+ * The total depth of the query.
+ *
+ * Generated from protobuf field uint64 depth = 6 [json_name = "depth"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setDepth($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->depth = $var;
+
+ return $this;
+ }
+
+ /**
+ * The height of the query.
+ *
+ * Generated from protobuf field uint64 height = 7 [json_name = "height"];
+ *
+ * @return int|string
+ */
+ public function getHeight()
+ {
+ return $this->height;
+ }
+
+ /**
+ * The height of the query.
+ *
+ * Generated from protobuf field uint64 height = 7 [json_name = "height"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setHeight($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->height = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of aliases in the query.
+ *
+ * Generated from protobuf field uint64 alias_count = 8 [json_name = "aliasCount"];
+ *
+ * @return int|string
+ */
+ public function getAliasCount()
+ {
+ return $this->alias_count;
+ }
+
+ /**
+ * The number of aliases in the query.
+ *
+ * Generated from protobuf field uint64 alias_count = 8 [json_name = "aliasCount"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setAliasCount($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->alias_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of root fields in the query.
+ *
+ * Generated from protobuf field uint64 root_field_count = 9 [json_name = "rootFieldCount"];
+ *
+ * @return int|string
+ */
+ public function getRootFieldCount()
+ {
+ return $this->root_field_count;
+ }
+
+ /**
+ * The number of root fields in the query.
+ *
+ * Generated from protobuf field uint64 root_field_count = 9 [json_name = "rootFieldCount"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setRootFieldCount($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->root_field_count = $var;
+
+ return $this;
+ }
+}
diff --git a/src/Tracing/FederatedTracing/Proto/LocalFieldStat.php b/src/Tracing/FederatedTracing/Proto/LocalFieldStat.php
new file mode 100644
index 000000000..45be659b2
--- /dev/null
+++ b/src/Tracing/FederatedTracing/Proto/LocalFieldStat.php
@@ -0,0 +1,106 @@
+LocalFieldStat
+ */
+class LocalFieldStat extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * required; eg "String!" for User.email:String!
+ *
+ * Generated from protobuf field string return_type = 1 [json_name = "returnType"];
+ */
+ protected $return_type = '';
+
+ /**
+ * Histogram of returned array sizes.
+ *
+ * Generated from protobuf field repeated sint64 array_size = 2 [json_name = "arraySize"];
+ */
+ private $array_size;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @var string $return_type
+ * required; eg "String!" for User.email:String!
+ * @var array|array|\Google\Protobuf\Internal\RepeatedField $array_size
+ * Histogram of returned array sizes
+ * }
+ */
+ public function __construct($data = null)
+ {
+ Metadata\Reports::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * required; eg "String!" for User.email:String!
+ *
+ * Generated from protobuf field string return_type = 1 [json_name = "returnType"];
+ *
+ * @return string
+ */
+ public function getReturnType()
+ {
+ return $this->return_type;
+ }
+
+ /**
+ * required; eg "String!" for User.email:String!
+ *
+ * Generated from protobuf field string return_type = 1 [json_name = "returnType"];
+ *
+ * @param string $var
+ *
+ * @return $this
+ */
+ public function setReturnType($var)
+ {
+ GPBUtil::checkString($var, true);
+ $this->return_type = $var;
+
+ return $this;
+ }
+
+ /**
+ * Histogram of returned array sizes.
+ *
+ * Generated from protobuf field repeated sint64 array_size = 2 [json_name = "arraySize"];
+ *
+ * @return \Google\Protobuf\Internal\RepeatedField
+ */
+ public function getArraySize()
+ {
+ return $this->array_size;
+ }
+
+ /**
+ * Histogram of returned array sizes.
+ *
+ * Generated from protobuf field repeated sint64 array_size = 2 [json_name = "arraySize"];
+ *
+ * @param array|array|\Google\Protobuf\Internal\RepeatedField $var
+ *
+ * @return $this
+ */
+ public function setArraySize($var)
+ {
+ $arr = GPBUtil::checkRepeatedField($var, GPBType::SINT64);
+ $this->array_size = $arr;
+
+ return $this;
+ }
+}
diff --git a/src/Tracing/FederatedTracing/Proto/LocalTypeStat.php b/src/Tracing/FederatedTracing/Proto/LocalTypeStat.php
new file mode 100644
index 000000000..94d51643c
--- /dev/null
+++ b/src/Tracing/FederatedTracing/Proto/LocalTypeStat.php
@@ -0,0 +1,70 @@
+LocalTypeStat.
+ */
+class LocalTypeStat extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * Key is (eg) "email" for User.email:String!
+ * Unlike FieldStat, this is populated outside of FTV1 requests.
+ *
+ * Generated from protobuf field map local_per_field_stat = 1 [json_name = "localPerFieldStat"];
+ */
+ private $local_per_field_stat;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @var array|\Google\Protobuf\Internal\MapField $local_per_field_stat
+ * Key is (eg) "email" for User.email:String!
+ * Unlike FieldStat, this is populated outside of FTV1 requests.
+ * }
+ */
+ public function __construct($data = null)
+ {
+ Metadata\Reports::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * Key is (eg) "email" for User.email:String!
+ * Unlike FieldStat, this is populated outside of FTV1 requests.
+ *
+ * Generated from protobuf field map local_per_field_stat = 1 [json_name = "localPerFieldStat"];
+ *
+ * @return \Google\Protobuf\Internal\MapField
+ */
+ public function getLocalPerFieldStat()
+ {
+ return $this->local_per_field_stat;
+ }
+
+ /**
+ * Key is (eg) "email" for User.email:String!
+ * Unlike FieldStat, this is populated outside of FTV1 requests.
+ *
+ * Generated from protobuf field map local_per_field_stat = 1 [json_name = "localPerFieldStat"];
+ *
+ * @param array|\Google\Protobuf\Internal\MapField $var
+ *
+ * @return $this
+ */
+ public function setLocalPerFieldStat($var)
+ {
+ $arr = GPBUtil::checkMapField($var, GPBType::STRING, GPBType::MESSAGE, LocalFieldStat::class);
+ $this->local_per_field_stat = $arr;
+
+ return $this;
+ }
+}
diff --git a/src/Tracing/FederatedTracing/Proto/Metadata/Reports.php b/src/Tracing/FederatedTracing/Proto/Metadata/Reports.php
index 427631cdd..820c0ef40 100644
Binary files a/src/Tracing/FederatedTracing/Proto/Metadata/Reports.php and b/src/Tracing/FederatedTracing/Proto/Metadata/Reports.php differ
diff --git a/src/Tracing/FederatedTracing/Proto/QueryLatencyStats.php b/src/Tracing/FederatedTracing/Proto/QueryLatencyStats.php
index 7c1835a58..7fb49e3c0 100644
--- a/src/Tracing/FederatedTracing/Proto/QueryLatencyStats.php
+++ b/src/Tracing/FederatedTracing/Proto/QueryLatencyStats.php
@@ -107,7 +107,7 @@ class QueryLatencyStats extends \Google\Protobuf\Internal\Message
* @var int|string $persisted_query_misses
* @var array|array|\Google\Protobuf\Internal\RepeatedField $cache_latency_count
* This array includes the latency buckets for all operations included in cache_hits
- * See comment on latency_count for details
+ * See comment on latency_count for details.
* @var \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\PathErrorStats $root_error_stats
* Paths and counts for each error. The total number of requests with errors within this object should be the same as
* requests_with_errors_count below.
diff --git a/src/Tracing/FederatedTracing/Proto/Report.php b/src/Tracing/FederatedTracing/Proto/Report.php
index 8c79ee8cd..94a2ab79e 100644
--- a/src/Tracing/FederatedTracing/Proto/Report.php
+++ b/src/Tracing/FederatedTracing/Proto/Report.php
@@ -71,6 +71,15 @@ class Report extends \Google\Protobuf\Internal\Message
*/
protected $traces_pre_aggregated = false;
+ /**
+ * This indicates whether or not extended references are enabled, which are within the stats with context and contain
+ * input type and enum value references. We need this flag so we can tell if the option is enabled even when there are
+ * no extended references to report.
+ *
+ * Generated from protobuf field bool extended_references_enabled = 9 [json_name = "extendedReferencesEnabled"];
+ */
+ protected $extended_references_enabled = false;
+
/**
* Constructor.
*
@@ -100,6 +109,10 @@ class Report extends \Google\Protobuf\Internal\Message
* traces in TracesWithStats.trace are a sampling of some of the same
* operations. If this is false, each operation is described in precisely
* one of those two fields.
+ * @var bool $extended_references_enabled
+ * This indicates whether or not extended references are enabled, which are within the stats with context and contain
+ * input type and enum value references. We need this flag so we can tell if the option is enabled even when there are
+ * no extended references to report.
* }
*/
public function __construct($data = null)
@@ -321,4 +334,37 @@ public function setTracesPreAggregated($var)
return $this;
}
+
+ /**
+ * This indicates whether or not extended references are enabled, which are within the stats with context and contain
+ * input type and enum value references. We need this flag so we can tell if the option is enabled even when there are
+ * no extended references to report.
+ *
+ * Generated from protobuf field bool extended_references_enabled = 9 [json_name = "extendedReferencesEnabled"];
+ *
+ * @return bool
+ */
+ public function getExtendedReferencesEnabled()
+ {
+ return $this->extended_references_enabled;
+ }
+
+ /**
+ * This indicates whether or not extended references are enabled, which are within the stats with context and contain
+ * input type and enum value references. We need this flag so we can tell if the option is enabled even when there are
+ * no extended references to report.
+ *
+ * Generated from protobuf field bool extended_references_enabled = 9 [json_name = "extendedReferencesEnabled"];
+ *
+ * @param bool $var
+ *
+ * @return $this
+ */
+ public function setExtendedReferencesEnabled($var)
+ {
+ GPBUtil::checkBool($var);
+ $this->extended_references_enabled = $var;
+
+ return $this;
+ }
}
diff --git a/src/Tracing/FederatedTracing/Proto/StatsContext.php b/src/Tracing/FederatedTracing/Proto/StatsContext.php
index 9c5864fb2..343bace44 100644
--- a/src/Tracing/FederatedTracing/Proto/StatsContext.php
+++ b/src/Tracing/FederatedTracing/Proto/StatsContext.php
@@ -26,6 +26,14 @@ class StatsContext extends \Google\Protobuf\Internal\Message
/** Generated from protobuf field string operation_subtype = 5 [json_name = "operationSubtype"];
*/
protected $operation_subtype = '';
+ /**
+ * The result of the operation. Either OK or the error code that caused the operation to fail.
+ * This will not contain all errors from a query, only the primary reason the operation failed. e.g. a limits failure or an auth failure.
+ *
+ * Generated from protobuf field string result = 6 [json_name = "result"];
+ */
+ protected $result = '';
+
/**
* Constructor.
*
@@ -36,6 +44,9 @@ class StatsContext extends \Google\Protobuf\Internal\Message
* @var string $client_version
* @var string $operation_type
* @var string $operation_subtype
+ * @var string $result
+ * The result of the operation. Either OK or the error code that caused the operation to fail.
+ * This will not contain all errors from a query, only the primary reason the operation failed. e.g. a limits failure or an auth failure.
* }
*/
public function __construct($data = null)
@@ -143,4 +154,35 @@ public function setOperationSubtype($var)
return $this;
}
+
+ /**
+ * The result of the operation. Either OK or the error code that caused the operation to fail.
+ * This will not contain all errors from a query, only the primary reason the operation failed. e.g. a limits failure or an auth failure.
+ *
+ * Generated from protobuf field string result = 6 [json_name = "result"];
+ *
+ * @return string
+ */
+ public function getResult()
+ {
+ return $this->result;
+ }
+
+ /**
+ * The result of the operation. Either OK or the error code that caused the operation to fail.
+ * This will not contain all errors from a query, only the primary reason the operation failed. e.g. a limits failure or an auth failure.
+ *
+ * Generated from protobuf field string result = 6 [json_name = "result"];
+ *
+ * @param string $var
+ *
+ * @return $this
+ */
+ public function setResult($var)
+ {
+ GPBUtil::checkString($var, true);
+ $this->result = $var;
+
+ return $this;
+ }
}
diff --git a/src/Tracing/FederatedTracing/Proto/Trace.php b/src/Tracing/FederatedTracing/Proto/Trace.php
index 6748c97c2..88710df77 100644
--- a/src/Tracing/FederatedTracing/Proto/Trace.php
+++ b/src/Tracing/FederatedTracing/Proto/Trace.php
@@ -163,6 +163,13 @@ class Trace extends \Google\Protobuf\Internal\Message
*/
protected $field_execution_weight = 0.0;
+ /**
+ * The limits information of the query.
+ *
+ * Generated from protobuf field .Trace.Limits limits = 32 [json_name = "limits"];
+ */
+ protected $limits;
+
/**
* Constructor.
*
@@ -170,15 +177,15 @@ class Trace extends \Google\Protobuf\Internal\Message
* Optional. Data for populating the Message object.
*
* @var \Google\Protobuf\Timestamp $start_time
- * Wallclock time when the trace began
+ * Wallclock time when the trace began.
* @var \Google\Protobuf\Timestamp $end_time
- * Wallclock time when the trace ended
+ * Wallclock time when the trace ended.
* @var int|string $duration_ns
* High precision duration of the trace; may not equal end_time-start_time
- * (eg, if your machine's clock changed during the trace)
+ * (eg, if your machine's clock changed during the trace).
* @var \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace\Node $root
* A tree containing information about all resolvers run directly by this
- * service, including errors
+ * service, including errors.
* @var bool $is_incomplete
* If this is true, the trace is potentially missing some nodes that were
* present on the query plan. This can happen if the trace span buffer used
@@ -201,7 +208,7 @@ class Trace extends \Google\Protobuf\Internal\Message
* @var string $unexecutedOperationBody
* Optional: when GraphQL parsing or validation against the GraphQL schema fails, these fields
* can include reference to the operation being sent for users to dig into the set of operations
- * that are failing validation
+ * that are failing validation.
* @var string $unexecutedOperationName
* @var \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace\Details $details
* @var string $client_name
@@ -235,6 +242,8 @@ class Trace extends \Google\Protobuf\Internal\Message
* towards the estimated_execution_count rather than just 1. This value should
* typically be at least 1.
* 0 is treated as 1 for backwards compatibility.
+ * @var \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace\Limits $limits
+ * The limits information of the query.
* }
*/
public function __construct($data = null)
@@ -978,4 +987,43 @@ public function setFieldExecutionWeight($var)
return $this;
}
+
+ /**
+ * The limits information of the query.
+ *
+ * Generated from protobuf field .Trace.Limits limits = 32 [json_name = "limits"];
+ *
+ * @return \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace\Limits|null
+ */
+ public function getLimits()
+ {
+ return $this->limits;
+ }
+
+ public function hasLimits()
+ {
+ return isset($this->limits);
+ }
+
+ public function clearLimits()
+ {
+ unset($this->limits);
+ }
+
+ /**
+ * The limits information of the query.
+ *
+ * Generated from protobuf field .Trace.Limits limits = 32 [json_name = "limits"];
+ *
+ * @param \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace\Limits $var
+ *
+ * @return $this
+ */
+ public function setLimits($var)
+ {
+ GPBUtil::checkMessage($var, Trace\Limits::class);
+ $this->limits = $var;
+
+ return $this;
+ }
}
diff --git a/src/Tracing/FederatedTracing/Proto/Trace/Limits.php b/src/Tracing/FederatedTracing/Proto/Trace/Limits.php
new file mode 100644
index 000000000..5232fc527
--- /dev/null
+++ b/src/Tracing/FederatedTracing/Proto/Trace/Limits.php
@@ -0,0 +1,336 @@
+Trace.Limits
+ */
+class Limits extends \Google\Protobuf\Internal\Message
+{
+ /**
+ * The result of the operation.
+ *
+ * Generated from protobuf field string result = 1 [json_name = "result"];
+ */
+ protected $result = '';
+
+ /**
+ * The strategy used in cost calculations.
+ *
+ * Generated from protobuf field string strategy = 2 [json_name = "strategy"];
+ */
+ protected $strategy = '';
+
+ /**
+ * The estimated cost as calculated via the strategy specified in strategy.
+ *
+ * Generated from protobuf field uint64 cost_estimated = 3 [json_name = "costEstimated"];
+ */
+ protected $cost_estimated = 0;
+
+ /**
+ * The actual cost using the strategy specified in strategy.
+ *
+ * Generated from protobuf field uint64 cost_actual = 4 [json_name = "costActual"];
+ */
+ protected $cost_actual = 0;
+
+ /**
+ * The depth of the query.
+ *
+ * Generated from protobuf field uint64 depth = 5 [json_name = "depth"];
+ */
+ protected $depth = 0;
+
+ /**
+ * The height of the query.
+ *
+ * Generated from protobuf field uint64 height = 6 [json_name = "height"];
+ */
+ protected $height = 0;
+
+ /**
+ * The number of aliases in the query.
+ *
+ * Generated from protobuf field uint64 alias_count = 7 [json_name = "aliasCount"];
+ */
+ protected $alias_count = 0;
+
+ /**
+ * The number of root fields in the query.
+ *
+ * Generated from protobuf field uint64 root_field_count = 8 [json_name = "rootFieldCount"];
+ */
+ protected $root_field_count = 0;
+
+ /**
+ * Constructor.
+ *
+ * @param array $data {
+ * Optional. Data for populating the Message object.
+ *
+ * @var string $result
+ * The result of the operation.
+ * @var string $strategy
+ * The strategy used in cost calculations.
+ * @var int|string $cost_estimated
+ * The estimated cost as calculated via the strategy specified in strategy
+ * @var int|string $cost_actual
+ * The actual cost using the strategy specified in strategy
+ * @var int|string $depth
+ * The depth of the query
+ * @var int|string $height
+ * The height of the query
+ * @var int|string $alias_count
+ * The number of aliases in the query
+ * @var int|string $root_field_count
+ * The number of root fields in the query
+ * }
+ */
+ public function __construct($data = null)
+ {
+ \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Metadata\Reports::initOnce();
+ parent::__construct($data);
+ }
+
+ /**
+ * The result of the operation.
+ *
+ * Generated from protobuf field string result = 1 [json_name = "result"];
+ *
+ * @return string
+ */
+ public function getResult()
+ {
+ return $this->result;
+ }
+
+ /**
+ * The result of the operation.
+ *
+ * Generated from protobuf field string result = 1 [json_name = "result"];
+ *
+ * @param string $var
+ *
+ * @return $this
+ */
+ public function setResult($var)
+ {
+ GPBUtil::checkString($var, true);
+ $this->result = $var;
+
+ return $this;
+ }
+
+ /**
+ * The strategy used in cost calculations.
+ *
+ * Generated from protobuf field string strategy = 2 [json_name = "strategy"];
+ *
+ * @return string
+ */
+ public function getStrategy()
+ {
+ return $this->strategy;
+ }
+
+ /**
+ * The strategy used in cost calculations.
+ *
+ * Generated from protobuf field string strategy = 2 [json_name = "strategy"];
+ *
+ * @param string $var
+ *
+ * @return $this
+ */
+ public function setStrategy($var)
+ {
+ GPBUtil::checkString($var, true);
+ $this->strategy = $var;
+
+ return $this;
+ }
+
+ /**
+ * The estimated cost as calculated via the strategy specified in strategy.
+ *
+ * Generated from protobuf field uint64 cost_estimated = 3 [json_name = "costEstimated"];
+ *
+ * @return int|string
+ */
+ public function getCostEstimated()
+ {
+ return $this->cost_estimated;
+ }
+
+ /**
+ * The estimated cost as calculated via the strategy specified in strategy.
+ *
+ * Generated from protobuf field uint64 cost_estimated = 3 [json_name = "costEstimated"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setCostEstimated($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->cost_estimated = $var;
+
+ return $this;
+ }
+
+ /**
+ * The actual cost using the strategy specified in strategy.
+ *
+ * Generated from protobuf field uint64 cost_actual = 4 [json_name = "costActual"];
+ *
+ * @return int|string
+ */
+ public function getCostActual()
+ {
+ return $this->cost_actual;
+ }
+
+ /**
+ * The actual cost using the strategy specified in strategy.
+ *
+ * Generated from protobuf field uint64 cost_actual = 4 [json_name = "costActual"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setCostActual($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->cost_actual = $var;
+
+ return $this;
+ }
+
+ /**
+ * The depth of the query.
+ *
+ * Generated from protobuf field uint64 depth = 5 [json_name = "depth"];
+ *
+ * @return int|string
+ */
+ public function getDepth()
+ {
+ return $this->depth;
+ }
+
+ /**
+ * The depth of the query.
+ *
+ * Generated from protobuf field uint64 depth = 5 [json_name = "depth"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setDepth($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->depth = $var;
+
+ return $this;
+ }
+
+ /**
+ * The height of the query.
+ *
+ * Generated from protobuf field uint64 height = 6 [json_name = "height"];
+ *
+ * @return int|string
+ */
+ public function getHeight()
+ {
+ return $this->height;
+ }
+
+ /**
+ * The height of the query.
+ *
+ * Generated from protobuf field uint64 height = 6 [json_name = "height"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setHeight($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->height = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of aliases in the query.
+ *
+ * Generated from protobuf field uint64 alias_count = 7 [json_name = "aliasCount"];
+ *
+ * @return int|string
+ */
+ public function getAliasCount()
+ {
+ return $this->alias_count;
+ }
+
+ /**
+ * The number of aliases in the query.
+ *
+ * Generated from protobuf field uint64 alias_count = 7 [json_name = "aliasCount"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setAliasCount($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->alias_count = $var;
+
+ return $this;
+ }
+
+ /**
+ * The number of root fields in the query.
+ *
+ * Generated from protobuf field uint64 root_field_count = 8 [json_name = "rootFieldCount"];
+ *
+ * @return int|string
+ */
+ public function getRootFieldCount()
+ {
+ return $this->root_field_count;
+ }
+
+ /**
+ * The number of root fields in the query.
+ *
+ * Generated from protobuf field uint64 root_field_count = 8 [json_name = "rootFieldCount"];
+ *
+ * @param int|string $var
+ *
+ * @return $this
+ */
+ public function setRootFieldCount($var)
+ {
+ GPBUtil::checkUint64($var);
+ $this->root_field_count = $var;
+
+ return $this;
+ }
+}
+
+// Adding a class alias for backwards compatibility with the previous class name.
+class_alias(Limits::class, \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace_Limits::class);
diff --git a/src/Tracing/FederatedTracing/Proto/Trace/QueryPlanNode/FetchNode.php b/src/Tracing/FederatedTracing/Proto/Trace/QueryPlanNode/FetchNode.php
index edc48c865..f1a4a029f 100644
--- a/src/Tracing/FederatedTracing/Proto/Trace/QueryPlanNode/FetchNode.php
+++ b/src/Tracing/FederatedTracing/Proto/Trace/QueryPlanNode/FetchNode.php
@@ -66,12 +66,12 @@ class FetchNode extends \Google\Protobuf\Internal\Message
* @var \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace $trace
* This Trace only contains start_time, end_time, duration_ns, and root;
* all timings were calculated **on the subgraph**, and clock skew
- * will be handled by the ingress server
+ * will be handled by the ingress server.
* @var int|string $sent_time_offset
- * relative to the outer trace's start_time, in ns, measured in the Router/Gateway
+ * relative to the outer trace's start_time, in ns, measured in the Router/Gateway.
* @var \Google\Protobuf\Timestamp $sent_time
* Wallclock times measured in the Router/Gateway for when this operation was
- * sent and received
+ * sent and received.
* @var \Google\Protobuf\Timestamp $received_time
* }
*/
diff --git a/src/Tracing/FederatedTracing/Proto/TracesAndStats.php b/src/Tracing/FederatedTracing/Proto/TracesAndStats.php
index f4c4c26e8..af59bbf3e 100644
--- a/src/Tracing/FederatedTracing/Proto/TracesAndStats.php
+++ b/src/Tracing/FederatedTracing/Proto/TracesAndStats.php
@@ -36,15 +36,6 @@ class TracesAndStats extends \Google\Protobuf\Internal\Message
*/
private $referenced_fields_by_type;
- /**
- * This field is used to validate that the algorithm used to construct `stats_with_context`
- * matches similar algorithms in Apollo's servers. It is otherwise ignored and should not
- * be included in reports.
- *
- * Generated from protobuf field repeated .Trace internal_traces_contributing_to_stats = 3 [json_name = "internalTracesContributingToStats"];
- */
- private $internal_traces_contributing_to_stats;
-
/**
* This is an optional field that is used to provide more context to the key of this object within the
* traces_per_query map. If it's omitted, we assume the key is a standard operation name and signature key.
@@ -68,10 +59,6 @@ class TracesAndStats extends \Google\Protobuf\Internal\Message
* `@include` or `@skip`, etc). It also may be missing fields that show up in FieldStats
* (as FieldStats will include the concrete object type for fields referenced
* via an interface type).
- * @var array<\Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace>|\Google\Protobuf\Internal\RepeatedField $internal_traces_contributing_to_stats
- * This field is used to validate that the algorithm used to construct `stats_with_context`
- * matches similar algorithms in Apollo's servers. It is otherwise ignored and should not
- * be included in reports.
* @var \Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\QueryMetadata $query_metadata
* This is an optional field that is used to provide more context to the key of this object within the
* traces_per_query map. If it's omitted, we assume the key is a standard operation name and signature key.
@@ -172,39 +159,6 @@ public function setReferencedFieldsByType($var)
return $this;
}
- /**
- * This field is used to validate that the algorithm used to construct `stats_with_context`
- * matches similar algorithms in Apollo's servers. It is otherwise ignored and should not
- * be included in reports.
- *
- * Generated from protobuf field repeated .Trace internal_traces_contributing_to_stats = 3 [json_name = "internalTracesContributingToStats"];
- *
- * @return \Google\Protobuf\Internal\RepeatedField
- */
- public function getInternalTracesContributingToStats()
- {
- return $this->internal_traces_contributing_to_stats;
- }
-
- /**
- * This field is used to validate that the algorithm used to construct `stats_with_context`
- * matches similar algorithms in Apollo's servers. It is otherwise ignored and should not
- * be included in reports.
- *
- * Generated from protobuf field repeated .Trace internal_traces_contributing_to_stats = 3 [json_name = "internalTracesContributingToStats"];
- *
- * @param array<\Nuwave\Lighthouse\Tracing\FederatedTracing\Proto\Trace>|\Google\Protobuf\Internal\RepeatedField $var
- *
- * @return $this
- */
- public function setInternalTracesContributingToStats($var)
- {
- $arr = GPBUtil::checkRepeatedField($var, GPBType::MESSAGE, Trace::class);
- $this->internal_traces_contributing_to_stats = $arr;
-
- return $this;
- }
-
/**
* This is an optional field that is used to provide more context to the key of this object within the
* traces_per_query map. If it's omitted, we assume the key is a standard operation name and signature key.
diff --git a/tests/Integration/Schema/Directives/MorphManyDirectiveTest.php b/tests/Integration/Schema/Directives/MorphManyDirectiveTest.php
index e1ad70c24..749d4eb10 100644
--- a/tests/Integration/Schema/Directives/MorphManyDirectiveTest.php
+++ b/tests/Integration/Schema/Directives/MorphManyDirectiveTest.php
@@ -60,6 +60,7 @@ protected function setUp(): void
$this->post = factory(Post::class)->create([
'user_id' => $this->user->id,
]);
+ // @phpstan-ignore-next-line generic false-positive
$this->postImages = Collection::times(
$this->faker()->numberBetween(1, 10),
fn (): Image => $this->post